ci: add docker action #191
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: tests | |
on: | |
push: | |
branches: | |
- master | |
- main | |
- unified | |
pull_request: | |
branches-ignore: [] | |
jobs: | |
dryrun-lint: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v2 | |
- uses: docker://snakemake/snakemake:v7.32.4 | |
- name: check CLI basics | |
run: | | |
./bin/xavier --help | |
./bin/xavier --version | |
- name: Tumor-normal FastQ Dry Run | |
run: | | |
docker run -v $PWD:/opt2 snakemake/snakemake:v7.32.4 \ | |
/opt2/bin/xavier run --input \ | |
/opt2/tests/data/WES_NC_N_1_sub.R1.fastq.gz /opt2/tests/data/WES_NC_N_1_sub.R2.fastq.gz \ | |
/opt2/tests/data/WES_NC_T_1_sub.R1.fastq.gz /opt2/tests/data/WES_NC_T_1_sub.R2.fastq.gz \ | |
--output /opt2/output_tn_fqs --targets /opt2/resources/Agilent_SSv7_allExons_hg38.bed \ | |
--pairs /opt2/tests/data/pairs.tsv --genome hg38 --mode local --ffpe --cnv --runmode init | |
docker run -v $PWD:/opt2 snakemake/snakemake:v7.32.4 \ | |
/opt2/bin/xavier run --input \ | |
/opt2/tests/data/WES_NC_N_1_sub.R1.fastq.gz /opt2/tests/data/WES_NC_N_1_sub.R2.fastq.gz \ | |
/opt2/tests/data/WES_NC_T_1_sub.R1.fastq.gz /opt2/tests/data/WES_NC_T_1_sub.R2.fastq.gz \ | |
--output /opt2/output_tn_fqs --targets /opt2/resources/Agilent_SSv7_allExons_hg38.bed \ | |
--pairs /opt2/tests/data/pairs.tsv --genome hg38 --mode local --ffpe --cnv --runmode dryrun | |
- name: Tumor-only FastQ Dry Run | |
run: | | |
docker run -v $PWD:/opt2 snakemake/snakemake:v7.32.4 \ | |
/opt2/bin/xavier run --input \ | |
/opt2/tests/data/WES_NC_N_1_sub.R1.fastq.gz /opt2/tests/data/WES_NC_N_1_sub.R2.fastq.gz \ | |
/opt2/tests/data/WES_NC_T_1_sub.R1.fastq.gz /opt2/tests/data/WES_NC_T_1_sub.R2.fastq.gz \ | |
--output /opt2/output_tonly_fqs --targets /opt2/resources/Agilent_SSv7_allExons_hg38.bed \ | |
--genome hg38 --mode local --ffpe --runmode init | |
docker run -v $PWD:/opt2 snakemake/snakemake:v7.32.4 \ | |
/opt2/bin/xavier run --input \ | |
/opt2/tests/data/WES_NC_N_1_sub.R1.fastq.gz /opt2/tests/data/WES_NC_N_1_sub.R2.fastq.gz \ | |
/opt2/tests/data/WES_NC_T_1_sub.R1.fastq.gz /opt2/tests/data/WES_NC_T_1_sub.R2.fastq.gz \ | |
--output /opt2/output_tonly_fqs --targets /opt2/resources/Agilent_SSv7_allExons_hg38.bed \ | |
--genome hg38 --mode local --ffpe --runmode dryrun | |
- name: Tumor-normal BAM Dry Run | |
run: | | |
docker run -v $PWD:/opt2 snakemake/snakemake:v7.32.4 \ | |
/opt2/bin/xavier run --input \ | |
/opt2/tests/data/WES_NC_N_1_sub.bam \ | |
/opt2/tests/data/WES_NC_T_1_sub.bam \ | |
--output /opt2/output_tn_bams --targets /opt2/resources/Agilent_SSv7_allExons_hg38.bed \ | |
--pairs /opt2/tests/data/pairs.tsv --genome hg38 --mode local --ffpe --cnv --runmode init | |
docker run -v $PWD:/opt2 snakemake/snakemake:v7.32.4 \ | |
/opt2/bin/xavier run --input \ | |
/opt2/tests/data/WES_NC_N_1_sub.bam \ | |
/opt2/tests/data/WES_NC_T_1_sub.bam \ | |
--output /opt2/output_tn_bams --targets /opt2/resources/Agilent_SSv7_allExons_hg38.bed \ | |
--pairs /opt2/tests/data/pairs.tsv --genome hg38 --mode local --ffpe --cnv --runmode dryrun | |
- name: Tumor-only BAM Dry Run | |
run: | | |
docker run -v $PWD:/opt2 snakemake/snakemake:v7.32.4 \ | |
/opt2/bin/xavier run --input \ | |
/opt2/tests/data/WES_NC_N_1_sub.bam \ | |
/opt2/tests/data/WES_NC_T_1_sub.bam \ | |
--output /opt2/output_tonly_bams --targets /opt2/resources/Agilent_SSv7_allExons_hg38.bed \ | |
--genome hg38 --mode local --ffpe --runmode init | |
docker run -v $PWD:/opt2 snakemake/snakemake:v7.32.4 \ | |
/opt2/bin/xavier run --input \ | |
/opt2/tests/data/WES_NC_N_1_sub.bam \ | |
/opt2/tests/data/WES_NC_T_1_sub.bam \ | |
--output /opt2/output_tonly_bams --targets /opt2/resources/Agilent_SSv7_allExons_hg38.bed \ | |
--genome hg38 --mode local --ffpe --runmode dryrun | |
- name: Lint | |
continue-on-error: true | |
run: | | |
docker run -v $PWD:/opt2 snakemake/snakemake:v7.32.4 snakemake --lint -s /opt2/output/workflow/Snakefile -d /opt2/output_tn_fqs || \ | |
echo 'There may have been a few warnings or errors. Please read through the log to determine if its harmless.' | |
test: | |
runs-on: ubuntu-latest | |
strategy: | |
matrix: | |
python-version: ["3.11"] | |
snakemake-version: ["7.32.4"] | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: mamba-org/setup-micromamba@v1 | |
with: | |
environment-name: test | |
cache-environment: true | |
condarc: | | |
channels: | |
- conda-forge | |
- bioconda | |
create-args: >- | |
python=${{ matrix.python-version }} | |
snakemake=${{ matrix.snakemake-version }} | |
setuptools | |
pip | |
pytest | |
- name: check CLI basics | |
run: | | |
./bin/xavier --help | |
./bin/xavier --version | |
shell: micromamba-shell {0} | |
- name: pip install python package | |
run: | | |
pip install .[dev,test] | |
shell: micromamba-shell {0} | |
- name: Test | |
run: | | |
python -m pytest | |
env: | |
TMPDIR: ${{ runner.temp }} | |
shell: micromamba-shell {0} | |
build-status: # https://github.com/orgs/community/discussions/4324#discussioncomment-3477871 | |
runs-on: ubuntu-latest | |
needs: [dryrun-lint, test] | |
if: always() | |
steps: | |
- name: Successful build | |
if: ${{ !(contains(needs.*.result, 'failure')) }} | |
run: exit 0 | |
- name: Failing build | |
if: ${{ contains(needs.*.result, 'failure') }} | |
run: exit 1 |