Skip to content

Add continuous integration #18

Add continuous integration

Add continuous integration #18

Workflow file for this run

name: CI
# This workflow runs the pipeline with the minimal test dataset to check that
# it completes without any syntax errors
on:
push:
branches:
- main
- dev
pull_request:
branches:
- main
- dev
draft: true
env:
NXF_ANSI_LOG: false
concurrency:
group: "${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}"
cancel-in-progress: true
jobs:
test:
name: Install and run self-test pipeline
# Only run on push if this is in the main repository
if: "${{ github.repository == 'genomic-medicine-sweden/gms_16s' }}"
runs-on: ubuntu-latest
strategy:
matrix:
NXF_VER:
- "23.10.1"
steps:
- name: Install Nextflow
# For running (locally) with ACT, we use a docker image with Nextflow pre-installed
if: "${{ ! github.event.act }}"
uses: nf-core/setup-nextflow@v1
with:
version: "${{ matrix.NXF_VER }}"
- name: Check out pipeline code
uses: actions/checkout@v3
- name: Install Singularity
# For running (locally) with ACT, we use a docker image with Singularity already installed
if: "${{ ! github.event.act }}"
run: |
wget https://github.com/apptainer/singularity/releases/download/v3.8.7/singularity-container_3.8.7_amd64.deb && sudo dpkg -i singularity-container_3.8.7_amd64.deb
- name: Report disk-usage before make install
run:
df -h
- name: Run Make install
run:
make install
- name: Report disk-usage after make install
run:
df -h
- name: Run pipeline with test data
run: |
nextflow \
-log $(pwd)/nextflow.log \
run main.nf \
--outdir results \
--db $(pwd)/assets/databases/emu_database \
--seqtype map-ont \
-profile singularity,test \
--quality_filtering \
--longread_qc_qualityfilter_minlength 1200 \
--longread_qc_qualityfilter_maxlength 1800 \
--merge_fastq_pass $(pwd)/assets/test_assets/ci; \
- name: Print out Nextflow log file
if: always()
uses: actions/upload-artifact@v4
with:
name: nextflow-log
path: $(pwd)/nextflow.log