CI #1371
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
#!/bin/bash | |
name: CI | |
on: | |
push: | |
branches: | |
- "master" | |
pull_request: | |
branches: | |
- "master" | |
schedule: | |
# Run a cron job once weekly on Monday | |
- cron: "0 3 * * 1" | |
jobs: | |
test: | |
name: Test on ${{ matrix.os }}, Python ${{ matrix.python-version }} | |
runs-on: ${{ matrix.os }} | |
strategy: | |
fail-fast: false | |
matrix: | |
os: [macOS-latest, ubuntu-latest] | |
python-version: [3.7, 3.8] | |
env: | |
CI_OS: ${{ matrix.os }} | |
PYVER: ${{ matrix.python-version }} | |
PACKAGE: "opencadd" | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Additional info about the build | |
shell: bash | |
run: | | |
uname -a | |
df -h | |
ulimit -a | |
- uses: conda-incubator/setup-miniconda@v2 | |
with: | |
python-version: ${{ matrix.python-version }} | |
miniforge-variant: Mambaforge | |
miniforge-version: latest | |
activate-environment: test | |
environment-file: devtools/conda-envs/test_env.yaml | |
channels: conda-forge,defaults,bioconda | |
# TODO: Remove this step when patched theseus makes it to CF | |
- name: Build patched mmligner | |
shell: bash -l {0} | |
run: | | |
conda activate base | |
conda install conda-build | |
conda build devtools/conda-recipes/mmligner/ | |
- name: Install package | |
shell: bash -l {0} | |
run: | | |
conda install -c local mmligner pip | |
python -m pip install . --no-deps | |
conda list | |
- name: Run tests | |
shell: bash -l {0} | |
run: | | |
pytest -v --cov=${PACKAGE} --cov-report=xml --color=yes ${PACKAGE}/tests/ | |
- name: CodeCov | |
uses: codecov/codecov-action@v1 | |
with: | |
token: ${{ secrets.CODECOV_TOKEN }} | |
file: ./coverage.xml | |
flags: unittests | |
yml: ./.codecov.yml | |
############# | |
lint-format: | |
runs-on: ubuntu-latest | |
env: | |
CI_OS: ubuntu-latest | |
PACKAGE: "opencadd" | |
PYVER: "3.8" | |
steps: | |
- name: Checkout the code | |
uses: actions/checkout@v3 | |
- uses: conda-incubator/setup-miniconda@v2 | |
with: | |
python-version: "3.8" | |
miniforge-variant: Mambaforge | |
miniforge-version: latest | |
activate-environment: test | |
environment-file: devtools/conda-envs/test_env.yaml | |
channels: conda-forge,defaults,bioconda | |
- name: Install linter and formatter | |
shell: bash -l {0} | |
run: | | |
conda install -y pylint black | |
- name: Run pylint | |
shell: bash -l {0} | |
run: | | |
pylint $PACKAGE/ | |
- name: Run black check | |
shell: bash -l {0} | |
if: always() | |
run: | | |
black --check -l 99 $PACKAGE/ |