Skip to content

Ncbench

Ncbench #113

Workflow file for this run

name: NCBench Zenodo Upload
# This workflow can be triggered manually with the GitHub actions workflow dispatch button.
on:
# upload can only be triggered manually for now
workflow_dispatch:
inputs:
# TODO: add in other test profiles
germline_default_agilent:
description: "Trigger NCBench upload"
type: boolean
default: true
pull_request: # TODO: remove once it works
jobs:
ncbench-upload:
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
include:
# TODO: Add in other test profiles
- profile: germline_default_agilent
enabled: ${{ ( github.repository == 'nf-core/sarek' ) && ( github.event_name != 'workflow_dispatch' || inputs.germline_default_agilent ) }}
steps:
- name: Download pipeline
uses: actions/checkout@v4
- name: Extract Versions
id: extract_versions
run: |
PIPELINE_VERSION=$(awk -F"'" '/manifest {/,/version/ {if(/version/) print $2}' nextflow.config)
echo "PIPELINE_VERSION=${PIPELINE_VERSION}" >> $GITHUB_ENV
FASTP_VERSION=$(awk '/- bioconda::fastp=/ {gsub(/.*=/, "", $NF); gsub(/'\''/, "", $NF); print $NF}' modules/nf-core/fastp/environment.yml)
echo "FASTP_VERSION=${FASTP_VERSION}" >> $GITHUB_ENV
BWA_VERSION=$(awk '/- bwa=/ {gsub(/.*=/, "", $NF); gsub(/'\''/, "", $NF); print $NF}' modules/nf-core/bwa/mem/environment.yml)
echo "BWA_VERSION=${BWA_VERSION}" >> $GITHUB_ENV
GATK_VERSION=$(awk '/- bioconda::gatk4=/ {gsub(/.*=/, "", $NF); gsub(/'\''/, "", $NF); print $NF}' modules/nf-core/gatk4/baserecalibrator/environment.yml)
echo "GATK_VERSION=${GATK_VERSION}" >> $GITHUB_ENV
STRELKA_VERSION=$(awk '/- bioconda::strelka=/ {gsub(/.*=/, "", $NF); gsub(/'\''/, "", $NF); print $NF}' modules/nf-core/strelka/germline/environment.yml)
echo "STRELKA_VERSION=${STRELKA_VERSION}" >> $GITHUB_ENV
- name: Download files from AWS
uses: keithweaver/[email protected]
if: ${{ matrix.enabled }}
with:
# TODO: fix path to agilent test path
source: s3://nf-core-awsmegatests/sarek/results-test-59026dc07633edb83aab3bfb2f65f79db38437a1/test_full/variant_calling
command: sync
aws_region: eu-west-1
destination: ./variant_calling
flags: --no-sign-request --include ".vcf.gz" --exclude "g.vcf.gz"
#
# - name: list files
# run: |
# ls variant_calling/strelka/HCC1395N/
#
- name: Install requests
run: pip install requests # version pinning?
- name: Upload to zenodo
env:
ACCESS_TOKEN: ${{ secrets.NCBENCH_CI_TOKEN_SANDBOX }} # TODO ${{ secrets.ZENODO_DEPOSIT }}
run: |
python .github/workflows/upload.py
echo $DEPOSITION_ID
# update ncbench config yml
- name: NCBench set config
uses: actions/checkout@v4
with:
token: ${{ secrets.NCBENCH_CI_TOKEN }}
repository: FriederikeHanssen/ncbench-workflow
path: ncbench-workflow/
ref: main
- name: Add entry to config
uses: mikefarah/yq@master
env:
PIPELINE_VERSION: ${{ env.PIPELINE_VERSION }}
FASTP_VERSION: ${{ env.FASTP_VERSION }}
BWA_VERSION: ${{ env.BWA_VERSION }}
GATK_VERSION: ${{ env.GATK_VERSION }}
STRELKA_VERSION: ${{ env.STRELKA_VERSION }}
with:
# TODO: add in values for all callers, ensure proper extension for the datasets are used.
# TODO check if trimming should be enabled actually
cmd: sh .github/workflows/set_ncbench_config.sh
# TODO: enable using secrets here
- name: Commit files
run: |
cd ncbench-workflow
git config --global user.email "[email protected]"
git config --global user.name "FriederikeHanssen"
git checkout -b sarek_${{ env.PIPELINE_VERSION }}
git add config/config.yaml
git commit -a -m "Add changes"
git push origin sarek_${{ env.PIPELINE_VERSION }}