Skip to content

cleanup the test and add assertions #277

cleanup the test and add assertions

cleanup the test and add assertions #277

name: Test and deploy code
on: [push]
jobs:
test:
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
os: [
"ubuntu-latest",
# "macos-latest",
"macos-latest-large",
"windows-latest",
]
python-version: ["3.8", "3.9", "3.10"]
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:
auto-update-conda: true
python-version: ${{ matrix.python-version }}
mamba-version: "*"
miniforge-variant: Mambaforge
channels: acellera,conda-forge,defaults
- name: Install Linux HTMD conda deps
if: matrix.os == 'ubuntu-latest'
run: |
mamba install --file package/htmd/DEPENDENCIES python=${{ matrix.python-version }} -y
- name: Install MacOS HTMD conda deps
if: matrix.os == 'macos-latest'
run: |
mamba install --file package/htmd/DEPENDENCIES_MAC python=${{ matrix.python-version }} -y
- name: Install MacOS HTMD conda deps
if: matrix.os == 'macos-latest-large'
run: |
mamba install --file package/htmd/DEPENDENCIES_MAC python=${{ matrix.python-version }} -y
- name: Install Windows HTMD conda deps
if: matrix.os == 'windows-latest'
run: |
mamba install --file package/htmd/DEPENDENCIES_WIN python=${{ matrix.python-version }} -y
- 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",
# "macos-latest",
"macos-latest-large",
"windows-latest",
]
python-version: ["3.8", "3.9", "3.10"]
steps:
- uses: actions/checkout@v4
- uses: conda-incubator/setup-miniconda@v3
with:
activate-environment: writedeps
auto-update-conda: true
python-version: ${{ matrix.python-version }}
mamba-version: "*"
miniforge-variant: Mambaforge
channels: acellera,conda-forge,defaults
- name: Dump Linux dependencies yaml file
if: matrix.os == 'ubuntu-latest'
run: |
pip install versioneer==0.28
python package/htmd/insert_placeholder_values.py package/htmd/DEPENDENCIES
- name: Dump MacOS dependencies yaml file
if: matrix.os == 'macos-latest'
run: |
pip install versioneer==0.28
python package/htmd/insert_placeholder_values.py package/htmd/DEPENDENCIES_MAC
- name: Dump MacOS dependencies yaml file
if: matrix.os == 'macos-latest-large'
run: |
pip install versioneer==0.28
python package/htmd/insert_placeholder_values.py package/htmd/DEPENDENCIES_MAC
- name: Dump Windows dependencies yaml file
if: matrix.os == 'windows-latest'
run: |
pip install versioneer==0.28
python package/htmd/insert_placeholder_values.py package/htmd/DEPENDENCIES_WIN
- name: Build htmd conda package
run: |
mamba install anaconda-client conda-build python=${{ matrix.python-version }} boa
conda mambabuild --python ${{ matrix.python-version }} package/htmd --output-folder ./pkg/ --no-include-recipe --no-anaconda-upload -c acellera -c conda-forge
- name: Upload to conda
run: |
anaconda -t ${{ secrets.ANACONDA_TOKEN_BASIC }} upload -u acellera ./pkg/*/htmd-*.tar.bz2