Merge pull request #120 from nf-core/composite-runs

Universal CI job
This commit is contained in:
Harshil Patel 2021-02-02 18:26:02 +00:00 committed by GitHub
commit e7b1241449
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
21 changed files with 150 additions and 723 deletions

76
.github/filters.yml vendored Normal file
View file

@ -0,0 +1,76 @@
bowtie_align:
- software/bowtie/align/**
- software/bowtie/index/**
- tests/software/bowtie/**
bowtie_index:
- software/bowtie/index/**
- tests/software/bowtie/**
bwa_index:
- software/bwa/index/**
- tests/software/bwa/**
bwa_mem:
- software/bwa/mem/**
- tests/software/bwa/**
fastqc:
- software/fastqc/**
- tests/software/fastqc/**
gffread:
- software/gffread/**
- tests/software/gffread/**
multiqc:
- software/multiqc/**
- tests/software/multiqc/**
picard_collectmultiplemetrics:
- software/picard/collectmultiplemetrics/**
- tests/software/picard/**
picard_markduplicates:
- software/picard/markduplicates/**
- tests/software/picard/**
picard_mergesamfiles:
- software/picard/mergesamfiles/**
- tests/software/picard/**
preseq_lcextrap:
- software/preseq/lcextrap/**
- tests/software/preseq/**
samtools_flagstat:
- software/samtools/flagstat/**
- tests/software/samtools/**
samtools_idxstats:
- software/samtools/idxstats/**
- tests/software/samtools/**
samtools_index:
- software/samtools/index/**
- tests/software/samtools/**
samtools_sort:
- software/samtools/sort/**
- tests/software/samtools/**
samtools_stats:
- software/samtools/stats/**
- tests/software/samtools/**
stringtie:
- software/stringtie/**
- tests/software/stringtie/**
trimgalore:
- software/trimgalore/**
- tests/software/trimgalore/**
ucsc_bedgraphtobigwig:
- software/ucsc/bedgraphtobigwig/**
- tests/software/ucsc/**

View file

@ -1,42 +0,0 @@
name: bowtie_align
on:
push:
paths:
- software/bowtie/align/**
- software/bowtie/index/**
- .github/workflows/bowtie_align.yml
- tests/software/bowtie/**
pull_request:
paths:
- software/bowtie/align/**
- software/bowtie/index/**
- .github/workflows/bowtie_align.yml
- tests/software/bowtie/**
jobs:
ci_test:
runs-on: ubuntu-latest
strategy:
matrix:
nxf_version: [20.11.0-edge]
env:
NXF_ANSI_LOG: false
steps:
- uses: actions/checkout@v2
- name: Install Nextflow
env:
NXF_VER: ${{ matrix.nxf_version }}
run: |
wget -qO- get.nextflow.io | bash
sudo mv nextflow /usr/local/bin/
- name: Set up Python
uses: actions/setup-python@v2
with:
python-version: "3.x"
- name: Install dependencies
run: python -m pip install --upgrade pip pytest-workflow
# Test the module
- run: pytest --tag bowtie_align --symlink --wt 2

View file

@ -1,40 +0,0 @@
name: bwa_index
on:
push:
paths:
- software/bwa/index/**
- .github/workflows/software/bwa_index.yml
- tests/software/bwa/**
pull_request:
paths:
- software/bwa/index/**
- .github/workflows/software/bwa_index.yml
- tests/software/bwa/**
jobs:
ci_test:
runs-on: ubuntu-latest
strategy:
matrix:
nxf_version: [20.11.0-edge]
env:
NXF_ANSI_LOG: false
steps:
- uses: actions/checkout@v2
- name: Install Nextflow
env:
NXF_VER: ${{ matrix.nxf_version }}
run: |
wget -qO- get.nextflow.io | bash
sudo mv nextflow /usr/local/bin/
- name: Set up Python
uses: actions/setup-python@v2
with:
python-version: "3.x"
- name: Install dependencies
run: python -m pip install --upgrade pip pytest-workflow
# Test the module
- run: pytest --tag bwa_index --symlink --wt 2

View file

@ -1,40 +0,0 @@
name: bwa_mem
on:
push:
paths:
- software/bwa/mem/**
- .github/workflows/bwa_mem.yml
- tests/software/bwa/**
pull_request:
paths:
- software/bwa/mem/**
- .github/workflows/bwa_mem.yml
- tests/software/bwa/**
jobs:
ci_test:
runs-on: ubuntu-latest
strategy:
matrix:
nxf_version: [20.11.0-edge]
env:
NXF_ANSI_LOG: false
steps:
- uses: actions/checkout@v2
- name: Install Nextflow
env:
NXF_VER: ${{ matrix.nxf_version }}
run: |
wget -qO- get.nextflow.io | bash
sudo mv nextflow /usr/local/bin/
- name: Set up Python
uses: actions/setup-python@v2
with:
python-version: "3.x"
- name: Install dependencies
run: python -m pip install --upgrade pip pytest-workflow
# Test the module
- run: pytest --tag bwa_index --symlink --wt 2

View file

@ -1,40 +0,0 @@
name: fastqc
on:
push:
paths:
- software/fastqc/**
- .github/workflows/fastqc.yml
- tests/software/fastqc/**
pull_request:
paths:
- software/fastqc/**
- .github/workflows/fastqc.yml
- tests/software/fastqc/**
jobs:
ci_test:
runs-on: ubuntu-latest
strategy:
matrix:
nxf_version: [20.11.0-edge]
env:
NXF_ANSI_LOG: false
steps:
- uses: actions/checkout@v2
- name: Install Nextflow
env:
NXF_VER: ${{ matrix.nxf_version }}
run: |
wget -qO- get.nextflow.io | bash
sudo mv nextflow /usr/local/bin/
- name: Set up Python
uses: actions/setup-python@v2
with:
python-version: "3.x"
- name: Install dependencies
run: python -m pip install --upgrade pip pytest-workflow
# Test the module
- run: pytest --tag fastqc --symlink --wt 2

View file

@ -1,40 +0,0 @@
name: gffread
on:
push:
paths:
- software/gffread/**
- .github/workflows/gffread.yml
- tests/software/gffread/**
pull_request:
paths:
- software/gffread/**
- .github/workflows/gffread.yml
- tests/software/gffread/**
jobs:
ci_test:
runs-on: ubuntu-latest
strategy:
matrix:
nxf_version: [20.11.0-edge]
env:
NXF_ANSI_LOG: false
steps:
- uses: actions/checkout@v2
- name: Install Nextflow
env:
NXF_VER: ${{ matrix.nxf_version }}
run: |
wget -qO- get.nextflow.io | bash
sudo mv nextflow /usr/local/bin/
- name: Set up Python
uses: actions/setup-python@v2
with:
python-version: "3.x"
- name: Install dependencies
run: python -m pip install --upgrade pip pytest-workflow
# Test the module
- run: pytest --tag gffread --symlink --wt 2

View file

@ -1,40 +0,0 @@
name: multiqc
on:
push:
paths:
- software/multiqc/**
- .github/workflows/multiqc.yml
- tests
pull_request:
paths:
- software/multiqc/**
- .github/workflows/multiqc.yml
- tests
jobs:
ci_test:
runs-on: ubuntu-latest
strategy:
matrix:
nxf_version: [20.11.0-edge]
env:
NXF_ANSI_LOG: false
steps:
- uses: actions/checkout@v2
- name: Install Nextflow
env:
NXF_VER: ${{ matrix.nxf_version }}
run: |
wget -qO- get.nextflow.io | bash
sudo mv nextflow /usr/local/bin/
- name: Set up Python
uses: actions/setup-python@v2
with:
python-version: "3.x"
- name: Install dependencies
run: python -m pip install --upgrade pip pytest-workflow
# Test the module
- run: pytest --tag multiqc --symlink --wt 2

View file

@ -1,40 +0,0 @@
name: picard_collectmultiplemetrics
on:
push:
paths:
- software/picard/collectmultiplemetrics/**
- .github/workflows/picard_collectmultiplemetrics.yml
- tests/software/picard/**
pull_request:
paths:
- software/picard/collectmultiplemetrics/**
- .github/workflows/picard_collectmultiplemetrics.yml
- tests/software/picard/**
jobs:
ci_test:
runs-on: ubuntu-latest
strategy:
matrix:
nxf_version: [20.11.0-edge]
env:
NXF_ANSI_LOG: false
steps:
- uses: actions/checkout@v2
- name: Install Nextflow
env:
NXF_VER: ${{ matrix.nxf_version }}
run: |
wget -qO- get.nextflow.io | bash
sudo mv nextflow /usr/local/bin/
- name: Set up Python
uses: actions/setup-python@v2
with:
python-version: "3.x"
- name: Install dependencies
run: python -m pip install --upgrade pip pytest-workflow
# Test the module
- run: pytest --tag picard_collectmultiplemetrics --symlink --wt 2

View file

@ -1,40 +0,0 @@
name: picard_markduplicates
on:
push:
paths:
- software/picard/markduplicates/**
- .github/workflows/picard_markduplicates.yml
- tests/software/picard/**
pull_request:
paths:
- software/picard/markduplicates/**
- .github/workflows/picard_markduplicates.yml
- tests/software/picard/**
jobs:
ci_test:
runs-on: ubuntu-latest
strategy:
matrix:
nxf_version: [20.11.0-edge]
env:
NXF_ANSI_LOG: false
steps:
- uses: actions/checkout@v2
- name: Install Nextflow
env:
NXF_VER: ${{ matrix.nxf_version }}
run: |
wget -qO- get.nextflow.io | bash
sudo mv nextflow /usr/local/bin/
- name: Set up Python
uses: actions/setup-python@v2
with:
python-version: "3.x"
- name: Install dependencies
run: python -m pip install --upgrade pip pytest-workflow
# Test the module
- run: pytest --tag picard_markduplicates --symlink --wt 2

View file

@ -1,40 +0,0 @@
name: picard_mergesamfiles
on:
push:
paths:
- software/picard/mergesamfiles/**
- .github/workflows/picard_mergesamfiles.yml
- tests/software/picard/**
pull_request:
paths:
- software/picard/mergesamfiles/**
- .github/workflows/picard_mergesamfiles.yml
- tests/software/picard/**
jobs:
ci_test:
runs-on: ubuntu-latest
strategy:
matrix:
nxf_version: [20.11.0-edge]
env:
NXF_ANSI_LOG: false
steps:
- uses: actions/checkout@v2
- name: Install Nextflow
env:
NXF_VER: ${{ matrix.nxf_version }}
run: |
wget -qO- get.nextflow.io | bash
sudo mv nextflow /usr/local/bin/
- name: Set up Python
uses: actions/setup-python@v2
with:
python-version: "3.x"
- name: Install dependencies
run: python -m pip install --upgrade pip pytest-workflow
# Test the module
- run: pytest --tag picard_mergesamfiles --symlink --wt 2

View file

@ -1,40 +0,0 @@
name: preseq_lcextrap
on:
push:
paths:
- software/preseq/lcextrap/**
- .github/workflows/preseq_lcextrap.yml
- tests/software/preseq/**
pull_request:
paths:
- software/preseq/lcextrap/**
- .github/workflows/preseq_lcextrap.yml
- tests/software/preseq/**
jobs:
ci_test:
runs-on: ubuntu-latest
strategy:
matrix:
nxf_version: [20.11.0-edge]
env:
NXF_ANSI_LOG: false
steps:
- uses: actions/checkout@v2
- name: Install Nextflow
env:
NXF_VER: ${{ matrix.nxf_version }}
run: |
wget -qO- get.nextflow.io | bash
sudo mv nextflow /usr/local/bin/
- name: Set up Python
uses: actions/setup-python@v2
with:
python-version: "3.x"
- name: Install dependencies
run: python -m pip install --upgrade pip pytest-workflow
# Test the module
- run: pytest --tag preseq_lcextrap --symlink --wt 2

74
.github/workflows/pytest-workflow.yml vendored Normal file
View file

@ -0,0 +1,74 @@
name: Pytest-workflow
on: [push, pull_request]
jobs:
changes:
name: Check for changes
runs-on: ubuntu-latest
outputs:
# Expose matched filters as job 'modules' output variable
modules: ${{ steps.filter.outputs.changes }}
steps:
- uses: actions/checkout@v2
- uses: dorny/paths-filter@v2
id: filter
with:
filters: '.github/filters.yml'
test:
runs-on: ubuntu-latest
name: CI Test
needs: changes
if: needs.changes.outputs.modules != '[]'
strategy:
matrix:
nxf_version: ['20.11.0-edge']
tags: ['${{ fromJson(needs.changes.outputs.modules) }}']
env:
NXF_ANSI_LOG: false
steps:
- uses: actions/checkout@v2
- name: Set up Python
uses: actions/setup-python@v2
with:
python-version: "3.x"
- uses: actions/cache@v2
with:
path: ~/.cache/pip
key: ${{ runner.os }}-pip-${{ hashFiles('**/requirements.txt') }}
restore-keys: |
${{ runner.os }}-pip-
- uses: actions/cache@v2
with:
path: /usr/local/bin/nextflow
key: ${{ runner.os }}-nextflow-${{ matrix.nxf_version }}
restore-keys: |
${{ runner.os }}-nextflow-
- name: Install Nextflow
env:
NXF_VER: ${{ matrix.nxf_version }}
run: |
wget -qO- get.nextflow.io | bash
sudo mv nextflow /usr/local/bin/
- name: Set up Python
uses: actions/setup-python@v2
with:
python-version: "3.x"
- name: Install dependencies
run: python -m pip install --upgrade pip pytest-workflow
# Test the module
- name: Run pytest-workflow
run: pytest --tag ${{ matrix.tags }} --symlink --wt 2
- name: Upload logs on failure
if: ${{ failure() }}
uses: actions/upload-artifact@v2
with:
name: logs
path: |
/tmp/pytest_workflow_*/*/.nextflow.log
/tmp/pytest_workflow_*/*/log.out
/tmp/pytest_workflow_*/*/log.err

View file

@ -1,40 +0,0 @@
name: samtools_flagstat
on:
push:
paths:
- software/samtools/flagstat/**
- .github/workflows/samtools_flagstat.yml
- tests/software/samtools/**
pull_request:
paths:
- software/samtools/flagstat/**
- .github/workflows/samtools_flagstat.yml
- tests/software/samtools/**
jobs:
ci_test:
runs-on: ubuntu-latest
strategy:
matrix:
nxf_version: [20.11.0-edge]
env:
NXF_ANSI_LOG: false
steps:
- uses: actions/checkout@v2
- name: Install Nextflow
env:
NXF_VER: ${{ matrix.nxf_version }}
run: |
wget -qO- get.nextflow.io | bash
sudo mv nextflow /usr/local/bin/
- name: Set up Python
uses: actions/setup-python@v2
with:
python-version: "3.x"
- name: Install dependencies
run: python -m pip install --upgrade pip pytest-workflow
# Test the module
- run: pytest --tag samtools_flagstat --symlink --wt 2

View file

@ -1,40 +0,0 @@
name: samtools_idxstats
on:
push:
paths:
- software/samtools/idxstats/**
- .github/workflows/samtools_idxstats.yml
- tests/software/samtools/**
pull_request:
paths:
- software/samtools/idxstats/**
- .github/workflows/samtools_idxstats.yml
- tests/software/samtools/**
jobs:
ci_test:
runs-on: ubuntu-latest
strategy:
matrix:
nxf_version: [20.11.0-edge]
env:
NXF_ANSI_LOG: false
steps:
- uses: actions/checkout@v2
- name: Install Nextflow
env:
NXF_VER: ${{ matrix.nxf_version }}
run: |
wget -qO- get.nextflow.io | bash
sudo mv nextflow /usr/local/bin/
- name: Set up Python
uses: actions/setup-python@v2
with:
python-version: "3.x"
- name: Install dependencies
run: python -m pip install --upgrade pip pytest-workflow
# Test the module
- run: pytest --tag samtools_idxstats --symlink --wt 2

View file

@ -1,40 +0,0 @@
name: samtools_index
on:
push:
paths:
- software/samtools/index/**
- .github/workflows/samtools_index.yml
- tests/software/samtools/**
pull_request:
paths:
- software/samtools/index/**
- .github/workflows/samtools_index.yml
- tests/software/samtools/**
jobs:
ci_test:
runs-on: ubuntu-latest
strategy:
matrix:
nxf_version: [20.11.0-edge]
env:
NXF_ANSI_LOG: false
steps:
- uses: actions/checkout@v2
- name: Install Nextflow
env:
NXF_VER: ${{ matrix.nxf_version }}
run: |
wget -qO- get.nextflow.io | bash
sudo mv nextflow /usr/local/bin/
- name: Set up Python
uses: actions/setup-python@v2
with:
python-version: "3.x"
- name: Install dependencies
run: python -m pip install --upgrade pip pytest-workflow
# Test the module
- run: pytest --tag samtools_index --symlink --wt 2

View file

@ -1,40 +0,0 @@
name: samtools_sort
on:
push:
paths:
- software/samtools/sort/**
- .github/workflows/samtools_sort.yml
- tests/software/samtools/**
pull_request:
paths:
- software/samtools/sort/**
- .github/workflows/samtools_sort.yml
- tests/software/samtools/**
jobs:
ci_test:
runs-on: ubuntu-latest
strategy:
matrix:
nxf_version: [20.11.0-edge]
env:
NXF_ANSI_LOG: false
steps:
- uses: actions/checkout@v2
- name: Install Nextflow
env:
NXF_VER: ${{ matrix.nxf_version }}
run: |
wget -qO- get.nextflow.io | bash
sudo mv nextflow /usr/local/bin/
- name: Set up Python
uses: actions/setup-python@v2
with:
python-version: "3.x"
- name: Install dependencies
run: python -m pip install --upgrade pip pytest-workflow
# Test the module
- run: pytest --tag samtools_sort --symlink --wt 2

View file

@ -1,40 +0,0 @@
name: samtools_stats
on:
push:
paths:
- software/samtools/stats/**
- .github/workflows/software/samtools_stats.yml
- tests/software/samtools/**
pull_request:
paths:
- software/samtools/stats/**
- .github/workflows/software/samtools_stats.yml
- tests/software/samtools/**
jobs:
ci_test:
runs-on: ubuntu-latest
strategy:
matrix:
nxf_version: [20.11.0-edge]
env:
NXF_ANSI_LOG: false
steps:
- uses: actions/checkout@v2
- name: Install Nextflow
env:
NXF_VER: ${{ matrix.nxf_version }}
run: |
wget -qO- get.nextflow.io | bash
sudo mv nextflow /usr/local/bin/
- name: Set up Python
uses: actions/setup-python@v2
with:
python-version: "3.x"
- name: Install dependencies
run: python -m pip install --upgrade pip pytest-workflow
# Test the module
- run: pytest --tag samtools_stats --symlink --wt 2

View file

@ -1,40 +0,0 @@
name: stringtie
on:
push:
paths:
- software/stringtie/**
- .github/workflows/stringtie.yml
- tests/software/stringtie/**
pull_request:
paths:
- software/stringtie/**
- .github/workflows/stringtie.yml
- tests/software/stringtie/**
jobs:
ci_test:
runs-on: ubuntu-latest
strategy:
matrix:
nxf_version: [20.11.0-edge]
env:
NXF_ANSI_LOG: false
steps:
- uses: actions/checkout@v2
- name: Install Nextflow
env:
NXF_VER: ${{ matrix.nxf_version }}
run: |
wget -qO- get.nextflow.io | bash
sudo mv nextflow /usr/local/bin/
- name: Set up Python
uses: actions/setup-python@v2
with:
python-version: "3.x"
- name: Install dependencies
run: python -m pip install --upgrade pip pytest-workflow
# Test the module
- run: pytest --tag stringtie --symlink --wt 2

View file

@ -1,40 +0,0 @@
name: trimgalore
on:
push:
paths:
- software/trimgalore/**
- .github/workflows/trimgalore.yml
- tests/software/trimgalore/**
pull_request:
paths:
- software/trimgalore/**
- .github/workflows/trimgalore.yml
- tests/software/trimgalore/**
jobs:
ci_test:
runs-on: ubuntu-latest
strategy:
matrix:
nxf_version: [20.11.0-edge]
env:
NXF_ANSI_LOG: false
steps:
- uses: actions/checkout@v2
- name: Install Nextflow
env:
NXF_VER: ${{ matrix.nxf_version }}
run: |
wget -qO- get.nextflow.io | bash
sudo mv nextflow /usr/local/bin/
- name: Set up Python
uses: actions/setup-python@v2
with:
python-version: "3.x"
- name: Install dependencies
run: python -m pip install --upgrade pip pytest-workflow
# Test the module
- run: pytest --tag trimgalore --symlink --wt 2

View file

@ -1,39 +0,0 @@
name: ucsc_bedgraphtobigwig
on:
push:
paths:
- software/ucsc/bedgraphtobigwig/**
- .github/workflows/ucsc_bedgraphtobigwig.yml
- tests/software/ucsc/**
pull_request:
paths:
- software/ucsc/bedgraphtobigwig/**
- .github/workflows/ucsc_bedgraphtobigwig.yml
- tests/software/ucsc/**
jobs:
ci_test:
runs-on: ubuntu-latest
strategy:
matrix:
nxf_version: [20.11.0-edge]
env:
NXF_ANSI_LOG: false
steps:
- uses: actions/checkout@v2
- name: Install Nextflow
env:
NXF_VER: ${{ matrix.nxf_version }}
run: |
wget -qO- get.nextflow.io | bash
sudo mv nextflow /usr/local/bin/
- name: Set up Python
uses: actions/setup-python@v2
with:
python-version: "3.x"
- name: Install dependencies
run: python -m pip install --upgrade pip pytest-workflow
# Test the module
- run: pytest --tag ucsc_bedgraphtobigwig --symlink --wt 2

View file

@ -34,5 +34,3 @@ workflow test_paired_end {
zip = FASTQC_PE.out.zip
}
// TODO Test e2e