Skip to content

Commit 04ee503

Browse files
authored
Merge pull request #231 from nf-core/dev
Release candidate 1.11.0
2 parents b774d8d + 86246fb commit 04ee503

File tree

116 files changed

+4091
-1165
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

116 files changed

+4091
-1165
lines changed

.github/workflows/ci.yml

Lines changed: 75 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -1,28 +1,70 @@
1-
name: nf-core CI
21
# This workflow runs the pipeline with the minimal test dataset to check that it completes without any syntax errors
2+
name: nf-core CI
33
on:
44
pull_request:
55
release:
66
types: [published]
7+
merge_group:
8+
types:
9+
- checks_requested
10+
branches:
11+
- master
12+
- dev
713

814
env:
915
NXF_ANSI_LOG: false
16+
NFTEST_VER: "0.8.1"
1017

1118
concurrency:
1219
group: "${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}"
1320
cancel-in-progress: true
1421

1522
jobs:
23+
changes:
24+
name: Check for changes
25+
runs-on: ubuntu-latest
26+
outputs:
27+
# Expose matched filters as job 'tags' output variable
28+
tags: ${{ steps.filter.outputs.changes }}
29+
steps:
30+
- uses: actions/checkout@v3
31+
- name: Combine all tags.yml files
32+
id: get_username
33+
run: find . -name "tags.yml" -not -path "./.github/*" -exec cat {} + > .github/tags.yml
34+
- name: debug
35+
run: cat .github/tags.yml
36+
- uses: dorny/paths-filter@v2
37+
id: filter
38+
with:
39+
filters: ".github/tags.yml"
40+
41+
define_nxf_versions:
42+
name: Choose nextflow versions to test against depending on target branch
43+
runs-on: ubuntu-latest
44+
outputs:
45+
matrix: ${{ steps.nxf_versions.outputs.matrix }}
46+
steps:
47+
- id: nxf_versions
48+
run: |
49+
if [[ "${{ github.event_name }}" == "pull_request" && "${{ github.base_ref }}" == "dev" && "${{ matrix.NXF_VER }}" != "latest-everything" ]]; then
50+
echo matrix='["latest-everything"]' | tee -a $GITHUB_OUTPUT
51+
else
52+
echo matrix='["latest-everything", "23.04.0"]' | tee -a $GITHUB_OUTPUT
53+
fi
54+
1655
test:
17-
name: Run pipeline with test data
18-
# Only run on push if this is the nf-core dev branch (merged PRs)
19-
if: "${{ github.event_name != 'push' || (github.event_name == 'push' && github.repository == 'nf-core/fetchngs') }}"
56+
name: ${{ matrix.tags }} ${{ matrix.profile }} NF ${{ matrix.NXF_VER }}
57+
needs: [changes, define_nxf_versions]
58+
if: needs.changes.outputs.tags != '[]'
2059
runs-on: ubuntu-latest
2160
strategy:
61+
fail-fast: false
2262
matrix:
23-
NXF_VER:
24-
- "23.04.0"
25-
- "latest-everything"
63+
NXF_VER: ${{ fromJson(needs.define_nxf_versions.outputs.matrix) }}
64+
tags: ["${{ fromJson(needs.changes.outputs.tags) }}"]
65+
profile:
66+
- "docker"
67+
2668
steps:
2769
- name: Check out pipeline code
2870
uses: actions/checkout@v3
@@ -32,29 +74,33 @@ jobs:
3274
with:
3375
version: "${{ matrix.NXF_VER }}"
3476

35-
- name: Run pipeline with test data
36-
run: |
37-
nextflow run ${GITHUB_WORKSPACE} -profile test,docker --outdir ./results
77+
- name: Cache nf-test installation
78+
id: cache-software
79+
uses: actions/cache@v3
80+
with:
81+
path: |
82+
/usr/local/bin/nf-test
83+
/home/runner/.nf-test/nf-test.jar
84+
key: ${{ runner.os }}-${{ env.NFTEST_VER }}-nftest
3885

39-
parameters:
40-
name: Test workflow parameters
41-
if: ${{ github.event_name != 'push' || (github.event_name == 'push' && github.repository == 'nf-core/fetchngs') }}
42-
runs-on: ubuntu-latest
43-
strategy:
44-
matrix:
45-
parameters:
46-
- "--nf_core_pipeline rnaseq"
47-
- "--ena_metadata_fields run_accession,experiment_accession,library_layout,fastq_ftp,fastq_md5 --sample_mapping_fields run_accession,library_layout"
48-
- "--skip_fastq_download"
49-
- "--force_sratools_download"
50-
steps:
51-
- name: Check out pipeline code
52-
uses: actions/checkout@v2
86+
- name: Install nf-test
87+
if: steps.cache-software.outputs.cache-hit != 'true'
88+
run: |
89+
wget -qO- https://code.askimed.com/install/nf-test | bash
90+
sudo mv nf-test /usr/local/bin/
5391
54-
- name: Install Nextflow
92+
- name: Run nf-test
5593
run: |
56-
wget -qO- get.nextflow.io | bash
57-
sudo mv nextflow /usr/local/bin/
58-
- name: Run pipeline with various parameters
94+
nf-test test --tag ${{ matrix.tags }} --profile "test,${{ matrix.profile }}" --junitxml=test.xml
95+
96+
- name: Output log on failure
97+
if: failure()
5998
run: |
60-
nextflow run ${GITHUB_WORKSPACE} -profile test,docker --outdir ./results ${{ matrix.parameters }}
99+
sudo apt install bat > /dev/null
100+
batcat --decorations=always --color=always ${{ github.workspace }}/.nf-test/tests/*/meta/nextflow.log
101+
102+
- name: Publish Test Report
103+
uses: mikepenz/action-junit-report@v3
104+
if: always() # always run even if the previous step fails
105+
with:
106+
report_paths: test.xml

.gitignore

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,12 @@
1+
*.pyc
2+
.DS_Store
13
.nextflow*
2-
work/
4+
.nf-test.log
35
data/
6+
nf-test
7+
.nf-test*
48
results/
5-
.DS_Store
6-
testing/
9+
test.xml
710
testing*
8-
*.pyc
11+
testing/
12+
work/

.nf-core.yml

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,16 @@ lint:
44
files_exist:
55
- .github/workflows/awsfulltest.yml
66
- .github/workflows/awstest.yml
7+
- assets/multiqc_config.yml
78
- conf/igenomes.config
9+
- conf/modules.config
10+
- lib/NfcoreTemplate.groovy
11+
- lib/Utils.groovy
812
- lib/WorkflowFetchngs.groovy
13+
- lib/WorkflowMain.groovy
14+
- lib/nfcore_external_java_deps.jar
915
files_unchanged:
16+
- .gitattributes
17+
- .gitignore
1018
- assets/sendmail_template.txt
1119
- lib/NfcoreTemplate.groovy

CHANGELOG.md

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,15 +3,42 @@
33
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/)
44
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
55

6+
## [[1.11.0](https://github.com/nf-core/fetchngs/releases/tag/1.11.0)] - 2023-10-18
7+
8+
### Credits
9+
10+
Special thanks to the following for their contributions to the release:
11+
12+
- [Adam Talbot](https://github.com/adamrtalbot)
13+
- [Edmund Miller](https://github.com/Emiller88)
14+
- [Esha Joshi](https://github.com/ejseqera)
15+
- [Harshil Patel](https://github.com/drpatelh)
16+
- [Lukas Forer](https://github.com/lukfor)
17+
- [James Fellows Yates](https://github.com/jfy133)
18+
- [Maxime Garcia](https://github.com/maxulysse)
19+
- [Rob Syme](https://github.com/robsyme)
20+
- [Sateesh Peri](https://github.com/sateeshperi)
21+
- [Sebastian Schönherr](https://github.com/seppinho)
22+
23+
Thank you to everyone else that has contributed by reporting bugs, enhancements or in any other way, shape or form.
24+
25+
### Enhancements & fixes
26+
27+
- [PR #188](https://github.com/nf-core/fetchngs/pull/188) - Use nf-test for all pipeline testing
28+
29+
### Enhancements & fixes
30+
631
## [[1.10.1](https://github.com/nf-core/fetchngs/releases/tag/1.10.1)] - 2023-10-08
732

833
### Credits
934

1035
Special thanks to the following for their contributions to the release:
1136

1237
- [Adam Talbot](https://github.com/adamrtalbot)
38+
- [Davide Carlson](https://github.com/davidecarlson)
1339
- [Harshil Patel](https://github.com/drpatelh)
1440
- [Maxime Garcia](https://github.com/maxulysse)
41+
- [MCMandR](https://github.com/MCMandR)
1542
- [Rob Syme](https://github.com/robsyme)
1643

1744
Thank you to everyone else that has contributed by reporting bugs, enhancements or in any other way, shape or form.

CITATIONS.md

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@
3737
- [Synapse](https://pubmed.ncbi.nlm.nih.gov/24071850/)
3838
> Omberg L, Ellrott K, Yuan Y, Kandoth C, Wong C, Kellen MR, Friend SH, Stuart J, Liang H, Margolin AA. Enabling transparent and collaborative computational analysis of 12 tumor types within The Cancer Genome Atlas. Nat Genet. 2013 Oct;45(10):1121-6. doi: 10.1038/ng.2761. PMID: 24071850; PMCID: PMC3950337.
3939
40-
## Software packaging/containerisation tools
40+
## Software packaging/containerisation/testing tools
4141

4242
- [Anaconda](https://anaconda.com)
4343

@@ -55,6 +55,8 @@
5555

5656
> Merkel, D. (2014). Docker: lightweight linux containers for consistent development and deployment. Linux Journal, 2014(239), 2. doi: 10.5555/2600239.2600241.
5757
58+
- [nf-test](https://code.askimed.com/nf-test)
59+
5860
- [Singularity](https://pubmed.ncbi.nlm.nih.gov/28494014/)
5961

6062
> Kurtzer GM, Sochat V, Bauer MW. Singularity: Scientific containers for mobility of compute. PLoS One. 2017 May 11;12(5):e0177459. doi: 10.1371/journal.pone.0177459. eCollection 2017. PubMed PMID: 28494014; PubMed Central PMCID: PMC5426675.

README.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
[![GitHub Actions CI Status](https://github.com/nf-core/fetchngs/workflows/nf-core%20CI/badge.svg)](https://github.com/nf-core/fetchngs/actions?query=workflow%3A%22nf-core+CI%22)
44
[![GitHub Actions Linting Status](https://github.com/nf-core/fetchngs/workflows/nf-core%20linting/badge.svg)](https://github.com/nf-core/fetchngs/actions?query=workflow%3A%22nf-core+linting%22)
55
[![AWS CI](https://img.shields.io/badge/CI%20tests-full%20size-FF9900?labelColor=000000&logo=Amazon%20AWS)](https://nf-co.re/fetchngs/results)
6+
[![nf-test](https://img.shields.io/badge/tested_with-nf--test-337ab7.svg)](https://github.com/askimed/nf-test)
67
[![Cite with Zenodo](http://img.shields.io/badge/DOI-10.5281/zenodo.5070524-1073c8?labelColor=000000)](https://doi.org/10.5281/zenodo.5070524)
78

89
[![Nextflow](https://img.shields.io/badge/nextflow%20DSL2-%E2%89%A523.04.0-23aa62.svg)](https://www.nextflow.io/)

assets/multiqc_config.yml

Lines changed: 0 additions & 13 deletions
This file was deleted.

conf/base.config

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,12 @@ process {
1414
memory = { check_max( 6.GB * task.attempt, 'memory' ) }
1515
time = { check_max( 4.h * task.attempt, 'time' ) }
1616

17+
publishDir = [
18+
path: { "${params.outdir}/${task.process.tokenize(':')[-1].tokenize('_')[0].toLowerCase()}" },
19+
mode: params.publish_dir_mode,
20+
saveAs: { filename -> filename.equals('versions.yml') ? null : filename }
21+
]
22+
1723
errorStrategy = { task.exitStatus in ((130..145) + 104) ? 'retry' : 'finish' }
1824
maxRetries = 1
1925
maxErrors = '-1'
@@ -57,7 +63,4 @@ process {
5763
errorStrategy = 'retry'
5864
maxRetries = 2
5965
}
60-
withName:CUSTOM_DUMPSOFTWAREVERSIONS {
61-
cache = false
62-
}
6366
}

0 commit comments

Comments
 (0)