Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Adds system testing workflow to github actions #75

Merged
merged 27 commits into from
Jun 21, 2023
Merged
Show file tree
Hide file tree
Changes from 16 commits
Commits
Show all changes
27 commits
Select commit Hold shift + click to select a range
4696caf
adds sys testing basic ver (based on https://stackoverflow.com/a/7273…
May 18, 2023
be8cde3
adds singularity
May 19, 2023
6333879
adds system testing task
May 19, 2023
29f3720
sets up dependencies for quac
May 19, 2023
a0ff724
removes dryrun option; time to run sys testing
May 19, 2023
3484645
adds try-except to job submission step
May 19, 2023
e1f5a84
removes commented code
May 19, 2023
bc76168
removes try-except
May 30, 2023
6d3cd41
removes on-path; adds more modes
May 30, 2023
0a523b1
pins OS ver; cleans up messages; cleans up commands
May 30, 2023
0e55b96
runs 4 variations of system testing serially
May 30, 2023
e9bb0cf
specifies paths to trigger system testing
May 31, 2023
41d1adc
specifies PR types to trigger system testing
May 31, 2023
40c0d79
removes system testing reqt from PR template
May 31, 2023
869356c
updates changelog
May 31, 2023
6a9c009
modifies just to see if system testing workflow gets triggered
May 31, 2023
8da13a8
Merge remote-tracking branch 'origin/joss_manuscript' into cicd_syste…
May 31, 2023
da3f9bb
adds slurm-based system testing back to PR template
Jun 14, 2023
a986d94
adds sys testing badge to readme
Jun 14, 2023
d78a0a3
Merge branch 'cicd_system_testing' of github.com:uab-cgds-worthey/qua…
Jun 14, 2023
e754213
adds debugging step for storage
Jun 15, 2023
fde15bb
adds df steps to actions
Jun 15, 2023
8756a52
trying try-catch in bash
Jun 15, 2023
ce4a420
adds step to free disk space
Jun 20, 2023
126f5be
moves up task to free space
Jun 20, 2023
0c23956
removes storage calc steps
Jun 20, 2023
0e0ceec
turns off sync PR trigger to avoid duplicate CI trigger - #79
Jun 21, 2023
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 0 additions & 1 deletion .github/pull_request_template.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,6 @@ Please fill in the checklist below and comment as needed.
- [ ] Is this a feature addition? Briefly describe.
- [ ] Did you modify QuaC-Watch config file? If so, did you modify multiqc template
`configs/multiqc_config_template.jinja2` and script `src/quac_watch/create_mutliqc_configs.py` as necessary?
- [ ] Did you perform system-level testing manually as described in master readme doc? Did it pass completely? If not why?
wilkb777 marked this conversation as resolved.
Show resolved Hide resolved
- [ ] Updated `Changelog.md` file with change logs in recommended format?


Expand Down
127 changes: 127 additions & 0 deletions .github/workflows/system_testing.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,127 @@
name: system_testing
# on: [push, pull_request, workflow_dispatch]
on:
push:
paths:
- '.github/workflows/system_testing.yml'
- '.test/**'
- 'configs/**'
- 'src/**'
- 'workflow/**'
pull_request:
paths:
- '.github/workflows/system_testing.yml'
- '.test/**'
- 'configs/**'
- 'src/**'
- 'workflow/**'
types:
- opened
- synchronize
- reopened
- ready_for_review
- converted_to_draft
workflow_dispatch:

jobs:
system-testing:
name: System testing - QuaC
runs-on: ubuntu-20.04
defaults:
run:
shell: bash -l {0}

steps:
- name: checkout repository
uses: actions/checkout@v2

- name: Create quac environment
uses: conda-incubator/setup-miniconda@v2
with:
mamba-version: "*"
channels: conda-forge,bioconda,defaults
auto-activate-base: false
activate-environment: quac
environment-file: configs/env/quac.yaml

- name: Check conda solution
run: |
mamba env export

- name: Check snakemake exists in conda env
run: |
which snakemake
snakemake --version

- uses: eWaterCycle/setup-singularity@v7
with:
singularity-version: 3.8.3
- name: Check singularity is working
run: |
singularity --version

- name: Set up dependencies for QuaC
run: |
bash src/setup_dependency_datasets.sh

- name: Run QuaC system testing - WGS mode AND no prior QC data
run: |
PROJECT_CONFIG="project_2samples"
PRIOR_QC_STATUS="no_priorQC"
USE_SLURM=""
python src/run_quac.py \
--project_name test_project \
--projects_path ".test/ngs-data/" \
--pedigree ".test/configs/${PRIOR_QC_STATUS}/${PROJECT_CONFIG}.ped" \
--outdir "data/quac/results/test_${PROJECT_CONFIG}_wgs-${PRIOR_QC_STATUS}/analysis" \
--quac_watch_config "configs/quac_watch/wgs_quac_watch_config.yaml" \
--workflow_config "configs/workflow.yaml" \
$USE_SLURM

- name: Run QuaC system testing - Exome mode AND no prior QC data
run: |
PROJECT_CONFIG="project_2samples"
PRIOR_QC_STATUS="no_priorQC"
USE_SLURM=""
python src/run_quac.py \
--project_name test_project \
--projects_path ".test/ngs-data/" \
--pedigree ".test/configs/${PRIOR_QC_STATUS}/${PROJECT_CONFIG}.ped" \
--outdir "data/quac/results/test_${PROJECT_CONFIG}_exome-${PRIOR_QC_STATUS}/analysis" \
--quac_watch_config "configs/quac_watch/exome_quac_watch_config.yaml" \
--workflow_config "configs/workflow.yaml" \
--exome \
$USE_SLURM

- name: Run QuaC system testing - WGS mode AND uses prior QC data
run: |
PROJECT_CONFIG="project_2samples"
PRIOR_QC_STATUS="include_priorQC"
USE_SLURM=""
python src/run_quac.py \
--project_name test_project \
--projects_path ".test/ngs-data/" \
--pedigree ".test/configs/${PRIOR_QC_STATUS}/${PROJECT_CONFIG}.ped" \
--outdir "data/quac/results/test_${PROJECT_CONFIG}_wgs-${PRIOR_QC_STATUS}/analysis" \
--quac_watch_config "configs/quac_watch/wgs_quac_watch_config.yaml" \
--include_prior_qc \
--allow_sample_renaming \
--workflow_config "configs/workflow.yaml" \
$USE_SLURM

- name: Run QuaC system testing - Exome mode AND uses prior QC data
run: |
PROJECT_CONFIG="project_2samples"
PRIOR_QC_STATUS="include_priorQC"
USE_SLURM=""
python src/run_quac.py \
--project_name test_project \
--projects_path ".test/ngs-data/" \
--pedigree ".test/configs/${PRIOR_QC_STATUS}/${PROJECT_CONFIG}.ped" \
--outdir "data/quac/results/test_${PROJECT_CONFIG}_exome-${PRIOR_QC_STATUS}/analysis" \
--quac_watch_config "configs/quac_watch/exome_quac_watch_config.yaml" \
--exome \
--include_prior_qc \
--allow_sample_renaming \
--workflow_config "configs/workflow.yaml" \
$USE_SLURM
4 changes: 4 additions & 0 deletions docs/Changelog.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,10 @@ YYYY-MM-DD John Doe
```
---

2023-05-31 Manavalan Gajapathy

* Adds system testing as github actions workflow

2023-05-09 Manavalan Gajapathy

* Adds a verification step in the CLI wrapper script to check if the file/dirpaths to be mounted to singularity already exist as expected (#71)
Expand Down