conda instead of mamba #334
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: Test and deploy code | |
on: [push] | |
jobs: | |
test: | |
runs-on: ${{ matrix.os }} | |
strategy: | |
fail-fast: false | |
matrix: | |
os: [ | |
"ubuntu-latest", | |
# "macos-latest", | |
"macos-13", | |
"windows-2019", | |
] | |
python-version: ["3.9", "3.10", "3.11", "3.12"] | |
defaults: # Needed for conda | |
run: | |
shell: bash -l {0} | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
lfs: true | |
submodules: true | |
- uses: conda-incubator/setup-miniconda@v3 | |
with: | |
python-version: ${{ matrix.python-version }} | |
channels: acellera,conda-forge,defaults | |
- name: Install Linux HTMD conda deps | |
if: matrix.os != 'windows-2019' | |
run: | | |
conda install --file package/htmd/DEPENDENCIES python=${{ matrix.python-version }} -y | |
- name: Install Windows HTMD conda deps | |
if: matrix.os == 'windows-2019' | |
run: | | |
conda install --file package/htmd/DEPENDENCIES_WIN python=${{ matrix.python-version }} -y | |
- name: List installed packages | |
run: conda list | |
- name: Install pip dependencies | |
run: | | |
pip install flake8 pytest | |
pip install . | |
- name: Lint with flake8 | |
run: | | |
# stop the build if there are Python syntax errors or undefined names | |
flake8 . --count --select=E9,F63,F7,F82 --show-source --statistics | |
# exit-zero treats all errors as warnings. The GitHub editor is 127 chars wide | |
flake8 . --count --exit-zero --max-complexity=10 --max-line-length=127 --statistics | |
- name: Test | |
run: | | |
export HTMD_NONINTERACTIVE=1 | |
pytest --verbose --durations=10 ./htmd/ | |
deploy: | |
if: startsWith(github.event.ref, 'refs/tags/') | |
needs: test | |
runs-on: ${{ matrix.os }} | |
defaults: # Needed for conda | |
run: | |
shell: bash -l {0} | |
strategy: | |
fail-fast: false | |
matrix: | |
os: ["ubuntu-latest", "windows-2019", "macos-13"] | |
python-version: ["3.10"] | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: conda-incubator/setup-miniconda@v3 | |
with: | |
activate-environment: test | |
python-version: ${{ matrix.python-version }} | |
channels: acellera,conda-forge,defaults | |
- name: Dump Linux dependencies yaml file | |
if: matrix.os != 'windows-2019' | |
run: | | |
pip install versioneer==0.28 | |
python package/htmd/insert_placeholder_values.py package/htmd/DEPENDENCIES | |
- name: Dump Windows dependencies yaml file | |
if: matrix.os == 'windows-2019' | |
run: | | |
pip install versioneer==0.28 | |
python package/htmd/insert_placeholder_values.py package/htmd/DEPENDENCIES_WIN | |
- name: Build htmd conda package | |
run: | | |
conda install anaconda-client rattler-build python=${{ matrix.python-version }} | |
rattler-build build --recipe ./package/htmd/recipe.yaml --output-dir /tmp/pkg/ --no-include-recipe -c acellera -c conda-forge | |
- name: Upload to conda | |
run: | | |
anaconda -t ${{ secrets.ANACONDA_TOKEN_BASIC }} upload -u acellera ./pkg/noarch/htmd-*.conda |