Skip to content

ci: set up action to build docker images automagically #192

ci: set up action to build docker images automagically

ci: set up action to build docker images automagically #192

Workflow file for this run

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