Skip to content

fix Azure on Windows #166

fix Azure on Windows

fix Azure on Windows #166

Workflow file for this run

name: Test and Deploy
on:
# Run this workflow every time a PR is opened or a new commit is pushed to the PR
pull_request:
# Run this workflow every time a PR is merged to main or a release tag is added
push:
branches:
- main
tags:
- '*'
env:
MAIN_PYVER: "3.10"
jobs:
build:
runs-on: ubuntu-latest
strategy:
matrix:
scipy-version: [">=1.4,<1.11.0"]
numpy-version: ["<1.22.0", ">=1.22.0"]
steps:
- name: Install glibc-tools
shell: bash -l {0}
run: |
if [[ $(uname) == Linux ]]; then
sudo apt-get install glibc-tools
fi
- name: Checkout
uses: actions/checkout@v2
with:
fetch-depth: 0
- name: Setup Miniconda
uses: conda-incubator/setup-miniconda@v2
with:
auto-update-conda: true
auto-activate-base: false
activate-environment: test_env
- name: Install dependencies
shell: bash -l {0}
run: |
conda install -c numba conda-build python=${{ env.MAIN_PYVER }} numba>=0.45 'scipy${{ matrix.scipy-version }}' 'numpy${{ matrix.numpy-version }}' flake8 pytest pip
pip install --no-deps -e .
- name: Lint with flake8
shell: bash -l {0}
run: |
flake8 numba_scipy
- name: Pytest
shell: bash -l {0}
run: |
bash ./buildscripts/incremental/test.sh
- name: Conda Build
shell: bash -l {0}
run: |
conda build -c defaults -c numba --python ${{ env.MAIN_PYVER }} buildscripts/conda_recipes/numba-scipy/
# This doesn't rebuild, but simply computes the name of the file that was previously built
OUTPUT=$(conda build --output -c defaults -c numba --python ${{ env.MAIN_PYVER }} buildscripts/conda_recipes/numba-scipy/)
echo "Path to built package:"
echo $OUTPUT
echo "CONDA_BUILD_OUTPUT=$OUTPUT" >> $GITHUB_ENV
- name: Upload build artifact
uses: actions/upload-artifact@v2
with:
name: built_package
path: ${{ env.CONDA_BUILD_OUTPUT }}
retention-days: 7
test_pyver:
needs: build
strategy:
matrix:
scipy-version: [">=1.4,<1.11.0"]
pyver: [3.8, 3.9, "3.10", 3.11]
runs-on: [macos-latest, ubuntu-latest, windows-latest]
numpy-version: ["<1.22.0", ">=1.22.0"]
exclude:
- pyver: 3.11
numpy-version: "<1.22.0"
include:
- pyver: 3.8
scipy-version: ">=0.16,<1.4"
numpy-version: "<1.22.0"
runs-on: macos-latest
- pyver: 3.8
scipy-version: ">=0.16,<1.4"
numpy-version: "<1.22.0"
runs-on: ubuntu-latest
- pyver: 3.8
scipy-version: ">=0.16,<1.4"
numpy-version: "<1.22.0"
runs-on: windows-latest
runs-on: ${{ matrix.runs-on }}
steps:
- name: Download build artifact
uses: actions/download-artifact@v2
with:
name: built_package
path: ./artifact_storage
- name: Setup Miniconda
uses: conda-incubator/setup-miniconda@v2
with:
auto-update-conda: true
auto-activate-base: false
activate-environment: test_env
- name: Install dependencies and build artifact
shell: bash -l {0}
run: |
conda install -c numba python=${{ matrix.pyver }} numba>=0.45 'scipy${{ matrix.scipy-version }}' 'numpy${{ matrix.numpy-version }}' flake8 pytest
# Install built_package
BUILT_PKG=$(ls ./artifact_storage | head -1)
conda install ./artifact_storage/$BUILT_PKG
conda list
- name: Pytest
shell: bash -l {0}
run: |
pytest --pyargs numba_scipy.tests
dev_deploy:
runs-on: ubuntu-latest
needs: test_pyver
if: (github.ref == 'refs/heads/main') || contains(github.ref, 'refs/tags/')
env:
AC_LABEL: dev
steps:
- name: Download build artifact
uses: actions/download-artifact@v2
with:
name: built_package
path: ./artifact_storage
- name: Determine label
if: contains(github.ref, 'refs/tags/')
run: |
echo "AC_LABEL=main" >> $GITHUB_ENV
- name: Deploy to Anaconda Cloud
shell: bash -l {0}
# workaround issues with setup-miniconda an anaconda-client
run: |
source "$CONDA/etc/profile.d/conda.sh"
conda config --set always_yes yes --set changeps1 no
conda install -q anaconda-client
ls -la ./artifact_storage
UPLOAD=$(ls ./artifact_storage | head -1)
echo "Uploading $UPLOAD with label=${{ env.AC_LABEL }}"
$CONDA/bin/anaconda -t ${{ secrets.ANACONDA_ORG_TOKEN }} upload -u numba -l ${{ env.AC_LABEL }} --no-progress --force --no-register ./artifact_storage/$UPLOAD