Skip to content

remove tensorflow and tensorboard packages from meta.yaml for macos #35

remove tensorflow and tensorboard packages from meta.yaml for macos

remove tensorflow and tensorboard packages from meta.yaml for macos #35

name: Build TensorFlow
on:
push:
branches:
- main
- elizabeth/add-windows-linux-tensorflow-conda-package
- elizabeth/add-tensorflow-macos-conda-package
paths:
- '.github/workflows/build_tensorflow.yml'
- '.conda.tensorflow/**'
- '.conda.tensorflow_macos/**'
- 'environment.tensorflow.yml'
- 'requirements.tensorflow.txt'
- 'requirements.tensorflow_macos.txt'
jobs:
build:
name: Build package (${{ matrix.os }})
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
os: ["ubuntu-22.04", "windows-2022", "macos-14"]
steps:
# Checkout the repository
- name: Checkout
uses: actions/checkout@v4
# Make conda prefix directory (Windows)
- name: Make conda prefix directory (Windows)
if: matrix.os == 'windows-2022'
shell: powershell
run: |
New-Item -ItemType Directory -Force -Path C:\c
# Setup Miniconda
# https://github.com/conda-incubator/setup-miniconda?tab=readme-ov-file#use-a-different-environment-name-or-path
- name: Setup Miniconda (Windows)
if: matrix.os == 'windows-2022'
uses: conda-incubator/setup-miniconda@v3.0.3
with:
python-version: "3.10"
environment-file: environment.tensorflow.yml
activate-environment: C:\c\tf
- name: Setup Miniconda (Ubuntu and MacOS)
if: matrix.os == 'ubuntu-22.04' || matrix.os == 'macos-14'
uses: conda-incubator/setup-miniconda@v3.0.3
with:
python-version: "3.10"
environment-file: environment.tensorflow.yml
activate-environment: tf
- name: Print environment info
shell: bash -l {0}
run: |
which python
conda info
conda list
# Build conda package (Windows)
- name: Build conda package (Windows)
if: matrix.os == 'windows-2022'
shell: powershell
run: |
conda build --debug .conda.tensorflow --output-folder C:\c\build.tensorflow -c conda-forge
# Build conda package (Ubuntu)
- name: Build conda package (Ubuntu)
if: matrix.os == 'ubuntu-22.04'
shell: bash -l {0}
run: |
conda build --debug .conda.tensorflow --output-folder build.tensorflow -c conda-forge
# Build conda package (MacOS)
- name: Build conda package (MacOS)
if: matrix.os == 'macos-14'
shell: bash -l {0}
run: |
conda build --debug .conda.tensorflow_macos --output-folder build.tensorflow_macos -c conda-forge
# Upload conda package
# Using `ANACONDA_API_TOKEN` results in "Error: ('Authorization token is no longer valid', 401)" for Windows upload only
# - name: Upload to Anaconda (Windows)
# if: matrix.os == 'windows-2022'
# env:
# ANACONDA_LOGIN: ${{ secrets.ANACONDA_PASSWORD }}
# shell: powershell
# run: |
# anaconda login --username sleap-deps --password "$env:ANACONDA_LOGIN"
# anaconda -v upload "C:\c\build.tensorflow\win-64\*.tar.bz2" --label dev --user sleap-deps
# anaconda logout
# - name: Upload to Anaconda (Ubuntu)
# if: matrix.os == 'ubuntu-22.04'
# env:
# ANACONDA_PASSWORD: ${{ secrets.ANACONDA_PASSWORD }}
# shell: bash -l {0}
# run: |
# anaconda login --username sleap-deps --password "$ANACONDA_PASSWORD"
# anaconda -v upload build.tensorflow/linux-64/*.tar.bz2 --label dev --user sleap-deps
# anaconda logout
# Upload conda package
# https://github.com/anaconda/anaconda-client/issues/529
# - name: Upload to Anaconda (Windows)
# if: matrix.os == 'windows-2022'
# env:
# ANACONDA_API_TOKEN: ${{ secrets.ANACONDA_SLEAP_DEPS_TOKEN }}
# shell: powershell
# run: |
# anaconda -v upload "C:\c\build.tensorflow\win-64\*.tar.bz2" --label dev --user sleap-deps
# anaconda logout
# - name: Upload to Anaconda (Ubuntu)
# if: matrix.os == 'ubuntu-22.04'
# env:
# ANACONDA_API_TOKEN: ${{ secrets.ANACONDA_SLEAP_DEPS_TOKEN }}
# shell: bash -l {0}
# run: |
# anaconda -v upload build.tensorflow/linux-64/*.tar.bz2 --label dev --user sleap-deps
# anaconda logout