Skip to content

docs: describe workflow rationale #216

docs: describe workflow rationale

docs: describe workflow rationale #216

Workflow file for this run

name: tests
on:
pull_request:
branches:
- dev
push:
branches:
- '*'
jobs:
static-code-analysis:
runs-on: ubuntu-latest
defaults:
run:
shell: bash -l {0}
steps:
- name: check out repository
uses: actions/checkout@v4
- name: Setup Conda/Mamba
uses: conda-incubator/setup-miniconda@v2
with:
mamba-version: "*"
activate-environment: mirflowz
environment-file: environment.yml
auto-activate-base: false
- name: Update mirflowz env with dev packages
run: mamba env update -n mirflowz -f environment.dev.yml
- name: display environment info
run: |
conda info -a
conda list
- name: flake8
working-directory: ./scripts
run: flake8
- name: mypy
working-directory: ./scripts
run: mypy ./*.py
- name: pylint
working-directory: ./scripts
run: pylint --rcfile=../pylint.cfg ./*.py
- name: black
working-directory: ./scripts
run: black --check --verbose --line-length=79 ./*.py
snakemake-format-graph-test:
runs-on: ubuntu-latest
defaults:
run:
shell: bash -l {0}
steps:
- name: check out repository
uses: actions/checkout@v4
- name: setup Conda/Mamba
uses: conda-incubator/setup-miniconda@v2
with:
mamba-version: "*"
activate-environment: mirflowz
environment-file: environment.yml
auto-activate-base: false
- name: update mirflowz env with dev packages
run: mamba env update -n mirflowz -f environment.dev.yml
- name: display environment info
run: |
conda info -a
conda list
- name: run test for snakemake format
run: bash test/test_snakefmt.sh
- name: run test for snakemate lint
run: bash test/test_snakemake_lint.sh
- name: run test for rule graph
run: bash test/test_rule_graph.sh
snakemake-integration-test:
runs-on: ubuntu-latest
defaults:
run:
shell: bash -l {0}
steps:
- name: check out repository
uses: actions/checkout@v4
- name: setup Conda/Mamba
uses: conda-incubator/setup-miniconda@v2
with:
mamba-version: "*"
activate-environment: mirflowz
environment-file: environment.yml
auto-activate-base: false
- name: update mirflowz env with root packages
run: mamba env update -n mirflowz -f environment.root.yml
- name: display environment info
run: |
conda info -a
conda list
- name: run local test with Singularity
run: bash test/test_workflow_local_with_singularity.sh
- name: run local test with Conda
run: bash test/test_workflow_local_with_conda.sh
unit-testing:
runs-on: ubuntu-latest
defaults:
run:
shell: bash -l {0}
steps:
- name: checkout repository
uses: actions/checkout@v4
- name: setup Conda/Mamba
uses: conda-incubator/setup-miniconda@v2
with:
mamba-version: "*"
activate-environment: mirflowz
environment-file: environment.yml
auto-activate-base: false
- name: update mirflowz env with dev packages
run: mamba env update -n mirflowz -f environment.dev.yml
- name: display environment info
run: |
conda info -a
conda list
- name: run unit tests
working-directory: ./scripts/tests
run: pytest --import-mode prepend --cov=scripts --cov-branch --cov-report=term-missing