Skip to content

Implement #260: Implement a basic CI test-run pipeline in Github Actions #18

Implement #260: Implement a basic CI test-run pipeline in Github Actions

Implement #260: Implement a basic CI test-run pipeline in Github Actions #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:
- dev
- 260-improve-ci
pull_request:
release:
types: [published]
env:
NXF_ANSI_LOG: false
concurrency:
group: "${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}"
cancel-in-progress: true
jobs:
test:
name: Run pipeline with test data
# Only run on push if this is in the main repository
if: "${{ github.event_name == 'push' && github.repository == 'genomic-medicine-sweden/jasen' }}"
runs-on: ubuntu-latest
strategy:
matrix:
NXF_VER:
- "23.10.1"
parameters:
- "-profile staphylococcus_aureus"
#- "-profile mycobacterium_tuberculosis"
#- "-profile klebsiella_pneumoniae"
#- "-profile escherichia_coli"
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: Activate minimal version of cgMLST database
run: |
'mv assets/cgmlst{,_orig} && ln -sr assets/cgmlst{_minimal,}'
- name: Install containers
run:
'cd container && sudo make build_local_containers && make download_remote_containers'
- name: Run Make install
run:
'make install'
- name: Run pipeline with test data
run: |
nextflow run ${GITHUB_WORKSPACE}/main.nf ${{ matrix.parameters }} -config configs/nextflow.ci.config --csv assets/test_data/samplelist.testrun.csv