include recipe in action name #88
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: Conda Test | |
on: | |
push: | |
branches: | |
- main | |
jobs: | |
build_wheels: | |
name: py${{ matrix.python }} on ${{ matrix.os }} | |
runs-on: ${{ matrix.os }} | |
env: | |
ANACONDA_API_TOKEN: ${{ secrets.ANACONDA_TOKEN }} | |
defaults: | |
run: | |
shell: bash -l {0} | |
strategy: | |
fail-fast: false | |
matrix: | |
os: [ ubuntu-latest, windows-latest ] | |
# python: [ '3.8', '3.9', '3.10', '3.11' ] | |
python: [ '3.8', '3.9', '3.10' ] | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v3 | |
- name: Setup miniconda3 | |
uses: conda-incubator/setup-miniconda@v2 | |
with: | |
miniconda-version: "latest" | |
auto-update-conda: true | |
# channel-priority: strict | |
# mamba-version: "*" | |
python-version: ${{ matrix.python }} | |
activate-environment: test | |
channels: conda-forge, mesonomics | |
- name: configure recipe conda environment | |
run: | | |
conda create -n recipe python=${{ matrix.python }} | |
conda install -y -n recipe boa conda-build | |
- name: conda info | |
run: | | |
conda info | |
conda list | |
- name: conda build for ${{ matrix.os }} | |
run: | | |
conda activate recipe | |
BUILD_CMD=mambabuild | |
conda $BUILD_CMD --output-folder . -c conda-forge -c mesonomics --python ${{ matrix.python }} conda/zipline-tardis-bundle | |
- name: create and index local channel | |
run: | | |
if [[ "${{ matrix.os }}" == "ubuntu-latest" ]]; then | |
OS_SUBDIR=linux-64 | |
CHANNEL_PATH="/tmp/channel" | |
elif [[ "${{ matrix.os }}" == "windows-latest" ]]; then | |
OS_SUBDIR=win-64 | |
CHANNEL_PATH="C:/channel" | |
else | |
echo "Unsupported OS!" | |
exit 1 | |
fi | |
mkdir -p $CHANNEL_PATH/$OS_SUBDIR | |
cp $OS_SUBDIR/zipline-tardis-bundle*.tar.bz2 $CHANNEL_PATH/$OS_SUBDIR/ | |
conda activate recipe | |
conda index $CHANNEL_PATH | |
- name: install zipline-tardis-bundle into test environment | |
run: | | |
conda activate test | |
if [[ "${{ matrix.os }}" == "ubuntu-latest" ]]; then | |
conda install -y --override-channels -c file:///tmp/channel -c mesonomics -c conda-forge zipline-tardis-bundle | |
elif [[ "${{ matrix.os }}" == "windows-latest" ]]; then | |
conda install -y --override-channels -c file:///C:/channel -c mesonomics -c conda-forge zipline-tardis-bundle | |
fi | |
- name: run pytest | |
run: | | |
conda activate test | |
conda install -n test pytest pytest-mock mypy | |
cd tests | |
pytest | |
- name: Set HOME_PATH based on OS | |
run: | | |
if [[ "${{ runner.os }}" == "Windows" ]]; then | |
echo "HOME_PATH=${USERPROFILE}" >> $GITHUB_ENV | |
else | |
echo "HOME_PATH=${HOME}" >> $GITHUB_ENV | |
fi | |
- name: test install | |
run: | | |
conda activate test | |
install-tardis-bundle | |
rm $HOME_PATH/.zipline/extension.py | |
- name: store macos result | |
uses: actions/upload-artifact@v3 | |
if: ${{ matrix.os == 'macos-latest' }} | |
with: | |
name: build-osx-64-${{ matrix.python }} | |
path: osx-64/*.tar.bz2 | |
- name: store linux result | |
uses: actions/upload-artifact@v3 | |
if: ${{ matrix.os == 'ubuntu-latest' }} | |
with: | |
name: build-linux-64-${{ matrix.python }} | |
path: linux-64/*.tar.bz2 | |
- name: store windows result | |
uses: actions/upload-artifact@v3 | |
if: ${{ matrix.os == 'windows-latest' }} | |
with: | |
name: build-win-64-${{ matrix.python }} | |
path: win-64/*.tar.bz2 |