build conda packages #32
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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/**' | |
- 'environment.tensorflow.yml' | |
- 'requirements.tensorflow.txt' | |
jobs: | |
build: | |
name: Build package (${{ matrix.os }}) | |
runs-on: ${{ matrix.os }} | |
strategy: | |
fail-fast: false | |
matrix: | |
os: ["ubuntu-22.04", "windows-2022"] | |
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) | |
if: matrix.os == 'ubuntu-22.04' | |
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 | |
# 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 |