CI #940
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: CI | |
on: | |
# run once every Sunday at 5:55 UTC | |
schedule: | |
- cron: "55 5 * * 1" | |
push: | |
branches: | |
- "develop" | |
- "master" | |
pull_request: | |
branches: | |
- "develop" | |
concurrency: | |
group: "${{ github.ref }}-${{ github.head_ref }}" | |
cancel-in-progress: true | |
defaults: | |
run: | |
shell: bash -l {0} | |
jobs: | |
test: | |
runs-on: ${{ matrix.os }} | |
strategy: | |
fail-fast: false | |
matrix: | |
# only test all GROMACS version on the latest | |
# Python to keep the testing matrix manageable and only use 1 | |
# macos runners (latest GROMACS, latest Python) | |
os: [ubuntu-latest] | |
python-version: ["3.12"] | |
gromacs-version: ["4.6.5", "2018.6", "2020.6", "2021.1", "2022.4", "2023.1", "2024.3"] | |
include: | |
- os: ubuntu-latest | |
python-version: "3.10" | |
gromacs-version: "2024.3" | |
- os: ubuntu-latest | |
python-version: "3.11" | |
gromacs-version: "2024.3" | |
- os: macos-latest | |
python-version: "3.12" | |
gromacs-version: "2024.3" | |
env: | |
MPLBACKEND: agg | |
steps: | |
- uses: actions/checkout@v4 | |
- name: mamba environment and package installation | |
uses: mamba-org/setup-micromamba@v2 | |
with: | |
environment-file: devtools/conda-envs/test_env.yaml | |
condarc: | | |
channels: | |
- conda-forge | |
- bioconda | |
channel_priority: flexible | |
cache-downloads: true | |
cache-environment: true | |
create-args: >- | |
python=${{ matrix.python-version }} | |
- name: Python version information | |
run: | | |
python -c "import sys; print(sys.version)" | |
- name: micromamba environment information | |
run: | | |
micromamba info | |
micromamba list | |
- name: Install pybol (fixture staging tool) | |
run: | | |
python -m pip install pybol | |
- name: Install GROMACS (${{ matrix.gromacs-version }}) | |
# include mdanalysis here AGAIN to work around micromamba removing mdanalysis | |
# while downgrading libxml2 (see issue #252) | |
run: | | |
micromamba install 'gromacs==${{ matrix.gromacs-version }}' pocl mdanalysis | |
- name: Install package (with no dependencies) | |
run: | | |
python -m pip install . --no-deps | |
- name: Run tests | |
run: | | |
pytest -v --durations=20 --cov=mdpow --cov-report=xml --color=yes ./mdpow/tests | |
- name: Codecov | |
uses: codecov/codecov-action@v4 | |
with: | |
token: ${{ secrets.CODECOV_TOKEN }} | |
name: codecov-${{ matrix.os }}-py${{ matrix.python-version }} | |
file: ./coverage.xml | |
fail_ci_if_error: true |