Skip to content

Development

Development #284

Workflow file for this run

name: Unit Tests
on:
push:
branches: [ master ]
pull_request:
branches: [ master ]
jobs:
main_tests:
name: 'Python ${{ matrix.python-version }} on ${{ matrix.os }}: ${{ matrix.section}})'
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
os: ['ubuntu-latest', 'macos-latest']
section: ["Tools", "Core"]
python-version: ['3.10']
defaults:
run:
shell: bash -l {0}
steps:
- uses: actions/checkout@v2
with:
submodules: true
fetch-depth: 0 # full history for setuptools_scm
- uses: conda-incubator/setup-miniconda@v2
with:
# Don't update conda - performance:
# miniconda-version: 'latest'
# auto-update-conda: true
python-version: ${{ matrix.python-version }}
channels: conda-forge,bioconda
environment-file: environment.yaml
activate-environment: ymp
channel-priority: strict
mamba-version: "*"
- name: Install
run: |
pip install --no-deps .
- name: Testing Core
if: matrix.section == 'Core'
run: |
pytest -vv -n auto --junit-xml junit/report.xml --durations=0
- name: Testing Tools
if: matrix.section == 'Tools'
run: |
pytest -vvvs -n 1 --junit-xml junit-tools/report.xml --run-tools -m runs_tool --timeout=600 --durations=0
- name: Upload logs
if: failure()
uses: actions/upload-artifact@v1
with:
name: Test Failure Logs ${{matrix.os}} ${{matrix.section}}
path: test_failures
- name: Upload coverage to Codecov
uses: codecov/codecov-action@v1
with:
env_vars: OS,PYTHON
verbose: true
files: coverage.xml
flags: ${{matrix.section}}