Update GH actions for docker and release please #80
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: ashleys-qc-pipeline workflow checks | |
on: | |
push: | |
branches: | |
- "**" | |
jobs: | |
Formatting: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout repository | |
uses: actions/[email protected] | |
- name: Formatting using Super-Linter | |
uses: github/super-linter@v4 | |
env: | |
VALIDATE_ALL_CODEBASE: false | |
DEFAULT_BRANCH: master | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
VALIDATE_SNAKEMAKE_SNAKEFMT: true | |
Linting: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout repository without submodules | |
uses: actions/[email protected] | |
- name: List contents of .tests-mock | |
run: | | |
tree -h github-actions-runner/.tests-mock | |
- name: Setup Python | |
uses: actions/setup-python@v5 | |
with: | |
python-version: "3.12" | |
- name: Add Conda to system path | |
run: | | |
echo $CONDA/bin >> $GITHUB_PATH | |
- name: Install dependencies | |
run: | | |
conda install -c conda-forge mamba | |
- name: Setup snakemake | |
run: | | |
mamba install -c conda-forge -c bioconda snakemake==7.32.4 | |
- name: Run Snakemake Lint | |
run: | | |
snakemake --config data_location=github-actions-runner/.tests-mock/data_CHR17 --lint | |
Testing-basic: | |
runs-on: ubuntu-latest | |
# needs: | |
# - Formatting | |
# - Linting | |
steps: | |
- name: Checkout repository with submodules | |
uses: actions/[email protected] | |
with: | |
submodules: recursive | |
# Update references | |
- name: Git Submodule Update | |
run: | | |
git pull --recurse-submodules | |
git submodule update --remote --recursive | |
- name: Setup Python | |
uses: actions/setup-python@v5 | |
with: | |
python-version: "3.12" | |
- name: List contents of .tests | |
run: | | |
tree -h .tests | |
- name: Show config file | |
run: | | |
cat .tests/config/simple_config_ashleys.yaml | |
- name: List contents of workflow/data | |
run: | | |
tree -h workflow/data | |
- name: Add Conda to system path | |
run: echo "$CONDA/bin" >> $GITHUB_PATH | |
- name: Install dependencies | |
run: conda install -c conda-forge mamba | |
- name: Setup Snakemake | |
run: mamba install -c conda-forge -c bioconda snakemake==7.32.4 | |
- name: List options of workflow | |
run: | | |
snakemake --cores 1 --config list_commands=True --verbose --debug | |
- name: Run workflow | |
run: | | |
snakemake --cores 1 --use-conda --configfile .tests/config/simple_config_ashleys.yaml \ | |
--conda-frontend mamba -p --verbose --debug --snakefile workflow/Snakefile | |
# Testing-basic-with-slurm: | |
# runs-on: ubuntu-latest | |
# needs: | |
# - Formatting | |
# - Linting | |
# - Testing-basic | |
# services: | |
# mysql: | |
# image: mysql:8.0 | |
# env: | |
# MYSQL_ROOT_PASSWORD: root | |
# ports: | |
# - "8888:3306" | |
# options: --health-cmd="mysqladmin ping" --health-interval=10s --health-timeout=5s --health-retries=3 | |
# steps: | |
# - uses: actions/checkout@v3 | |
# - uses: koesterlab/setup-slurm-action@v1 | |
# - name: Checkout repository with submodules and LFS | |
# uses: actions/[email protected] | |
# with: | |
# submodules: recursive | |
# lfs: true | |
# - name: Pull LFS objects in submodules | |
# run: git submodule foreach --recursive 'git lfs pull' | |
# - name: List contents of .tests | |
# run: | | |
# tree -h .tests | |
# - name: List contents of workflow/data | |
# run: | | |
# tree -h workflow/data | |
# - name: Setup Python | |
# uses: actions/setup-python@v5 | |
# with: | |
# python-version: '3.12' | |
# - name: Add Conda to system path | |
# run: echo "$CONDA/bin" >> $GITHUB_PATH | |
# - name: Install dependencies | |
# run: conda install -c conda-forge mamba | |
# - name: Setup Snakemake with SLURM support | |
# run: mamba install -c conda-forge -c bioconda snakemake==7.32.4 | |
# - name: Run workflow on SLURM | |
# run: | | |
# snakemake -j 1 -c 1 --executor slurm --workflow-profile .tests/config/slurm_config/ \ | |
# --use-conda --conda-frontend mamba --configfile .tests/config/simple_config_ashleys.yaml -p --snakefile workflow/Snakefile | |
Testing-with-MultiQC: | |
runs-on: ubuntu-latest | |
needs: | |
- Formatting | |
- Linting | |
- Testing-basic | |
steps: | |
- name: Checkout repository with submodules | |
uses: actions/[email protected] | |
with: | |
submodules: recursive | |
# Update references | |
- name: Git Submodule Update | |
run: | | |
git pull --recurse-submodules | |
git submodule update --remote --recursive | |
- name: Setup Python | |
uses: actions/setup-python@v5 | |
with: | |
python-version: "3.12" | |
- name: Add Conda to system path | |
run: echo "$CONDA/bin" >> $GITHUB_PATH | |
- name: Install dependencies | |
run: conda install -c conda-forge mamba | |
- name: Setup Snakemake | |
run: mamba install -c conda-forge -c bioconda snakemake==7.32.4 | |
- name: List options of workflow | |
run: | | |
snakemake --cores 1 --config list_commands=True --verbose --debug | |
- name: Run workflow | |
run: | | |
snakemake --cores 1 --use-conda --configfile .tests/config/simple_config_ashleys.yaml --config MultiQC=True \ | |
--conda-frontend mamba -p --verbose --debug --snakefile workflow/Snakefile | |
Testing-with-ms-norm: | |
runs-on: ubuntu-latest | |
needs: | |
- Formatting | |
- Linting | |
- Testing-basic | |
steps: | |
- name: Checkout repository with submodules | |
uses: actions/[email protected] | |
with: | |
submodules: recursive | |
# Update references | |
- name: Git Submodule Update | |
run: | | |
git pull --recurse-submodules | |
git submodule update --remote --recursive | |
- name: Setup Python | |
uses: actions/setup-python@v5 | |
with: | |
python-version: "3.12" | |
- name: Add Conda to system path | |
run: echo "$CONDA/bin" >> $GITHUB_PATH | |
- name: Install dependencies | |
run: conda install -c conda-forge mamba | |
- name: Setup Snakemake | |
run: mamba install -c conda-forge -c bioconda snakemake==7.32.4 | |
- name: List options of workflow | |
run: | | |
snakemake --cores 1 --config list_commands=True --verbose --debug | |
- name: Run workflow | |
run: | | |
snakemake --cores 1 --use-conda --configfile .tests/config/simple_config_ashleys.yaml --config multistep_normalisation=True \ | |
--conda-frontend mamba -p --verbose --debug --snakefile workflow/Snakefile | |
Testing-with-hg38: | |
runs-on: ubuntu-latest | |
needs: | |
- Formatting | |
- Linting | |
- Testing-basic | |
# - Testing-basic-with-slurm | |
steps: | |
- name: Checkout repository with submodules | |
uses: actions/[email protected] | |
with: | |
submodules: recursive | |
# Update references | |
- name: Git Submodule Update | |
run: | | |
git pull --recurse-submodules | |
git submodule update --remote --recursive | |
- name: Setup Python | |
uses: actions/setup-python@v5 | |
with: | |
python-version: "3.12" | |
- name: Add Conda to system path | |
run: echo "$CONDA/bin" >> $GITHUB_PATH | |
- name: Install dependencies | |
run: conda install -c conda-forge mamba | |
- name: Setup Snakemake | |
run: mamba install -c conda-forge -c bioconda snakemake==7.32.4 | |
- name: List options of workflow | |
run: | | |
snakemake --cores 1 --config list_commands=True --verbose --debug | |
- name: Run workflow | |
run: | | |
snakemake --cores 1 --use-conda --config reference=hg38 use_light_data=True chromosomes=[chr17] \ | |
--conda-frontend mamba -p --verbose --debug --snakefile workflow/Snakefile | |
Testing-with-hg19: | |
runs-on: ubuntu-latest | |
needs: | |
- Formatting | |
- Linting | |
- Testing-basic | |
# - Testing-basic-with-slurm | |
steps: | |
- name: Checkout repository with submodules | |
uses: actions/[email protected] | |
with: | |
submodules: recursive | |
# Update references | |
- name: Git Submodule Update | |
run: | | |
git pull --recurse-submodules | |
git submodule update --remote --recursive | |
- name: Setup Python | |
uses: actions/setup-python@v5 | |
with: | |
python-version: "3.12" | |
- name: Add Conda to system path | |
run: echo "$CONDA/bin" >> $GITHUB_PATH | |
- name: Install dependencies | |
run: conda install -c conda-forge mamba | |
- name: Setup Snakemake | |
run: mamba install -c conda-forge -c bioconda snakemake==7.32.4 | |
- name: List options of workflow | |
run: | | |
snakemake --cores 1 --config list_commands=True --verbose --debug | |
- name: Run workflow | |
run: | | |
snakemake --cores 1 --use-conda --config reference=hg19 use_light_data=True chromosomes=[chr17] \ | |
--conda-frontend mamba -p --verbose --debug --snakefile workflow/Snakefile | |
Testing-with-T2T: | |
runs-on: ubuntu-latest | |
needs: | |
- Formatting | |
- Linting | |
- Testing-basic | |
# - Testing-basic-with-slurm | |
steps: | |
- name: Checkout repository with submodules | |
uses: actions/[email protected] | |
with: | |
submodules: recursive | |
- name: Pull LFS objects in submodules | |
run: git submodule foreach --recursive 'git lfs pull' | |
- name: Setup Python | |
uses: actions/setup-python@v5 | |
with: | |
python-version: "3.12" | |
- name: Add Conda to system path | |
run: echo "$CONDA/bin" >> $GITHUB_PATH | |
- name: Install dependencies | |
run: conda install -c conda-forge mamba | |
- name: Setup Snakemake | |
run: mamba install -c conda-forge -c bioconda snakemake==7.32.4 | |
- name: List options of workflow | |
run: | | |
snakemake --cores 1 --config list_commands=True --verbose --debug | |
- name: Run workflow | |
run: | | |
snakemake --cores 1 --use-conda --config reference=T2T use_light_data=True chromosomes=[chr17] \ | |
--conda-frontend mamba -p --verbose --debug --snakefile workflow/Snakefile | |
Testing-with-mm10: | |
runs-on: ubuntu-latest | |
needs: | |
- Formatting | |
- Linting | |
- Testing-basic | |
# - Testing-basic-with-slurm | |
steps: | |
- name: Checkout repository with submodules | |
uses: actions/[email protected] | |
with: | |
submodules: recursive | |
# Update references | |
- name: Git Submodule Update | |
run: | | |
git pull --recurse-submodules | |
git submodule update --remote --recursive | |
- name: Setup Python | |
uses: actions/setup-python@v5 | |
with: | |
python-version: "3.12" | |
- name: Add Conda to system path | |
run: echo "$CONDA/bin" >> $GITHUB_PATH | |
- name: Install dependencies | |
run: conda install -c conda-forge mamba | |
- name: Setup Snakemake | |
run: mamba install -c conda-forge -c bioconda snakemake==7.32.4 | |
- name: List options of workflow | |
run: | | |
snakemake --cores 1 --config list_commands=True --verbose --debug | |
- name: Run workflow | |
run: | | |
snakemake --cores 1 --use-conda --config reference=T2T use_light_data=True chromosomes=[chr17] \ | |
--conda-frontend mamba -p --verbose --debug --snakefile workflow/Snakefile | |
# Testing_publishdir: | |
# runs-on: ubuntu-latest | |
# steps: | |
# - uses: actions/[email protected] | |
# - name: Testing data | |
# uses: snakemake/[email protected] | |
# with: | |
# directory: . | |
# snakefile: ./workflow/Snakefile | |
# stagein: "conda config --set channel_priority flexible" | |
# args: "--cores 1 --use-conda --configfile .tests/config/simple_config_ashleys.yaml --config publishdir=.tests/data_chr17_publishdir --conda-frontend mamba -p --verbose --debug" | |
# - name: Testing report | |
# uses: snakemake/[email protected] | |
# with: | |
# directory: . | |
# snakefile: ./workflow/Snakefile | |
# args: "--cores 1 --use-conda --configfile .tests/config/simple_config_ashleys.yaml --config publishdir=.tests/data_chr17_publishdir --conda-frontend mamba --report report.zip" |