diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index fc63a1509..52b9001b5 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -35,12 +35,17 @@ jobs: with: version: "${{ matrix.NXF_VER }}" + - name: Hash Github Workspace + id: hash_workspace + run: | + echo "digest=$(echo RNA_3.10.1_${{ github.workspace }} | md5sum | cut -c 1-25)" >> $GITHUB_OUTPUT + - name: Cache test data id: cache-testdata uses: actions/cache@v3 with: path: test-datasets/ - key: rnaseq3_10-test-data + key: ${{ steps.hash_workspace.outputs.digest }} - name: Check out test data if: steps.cache-testdata.outputs.cache-hit != 'true' @@ -65,7 +70,7 @@ jobs: star_salmon: name: Test STAR Salmon with workflow parameters - if: ${{ github.event_name != 'push' || (github.event_name == 'push' && github.repository == 'nf-core/rnaseq') }} + if: ${{ (github.event_name != 'push' || (github.event_name == 'push' && github.repository == 'nf-core/rnaseq')) && !contains(github.event.head_commit.message, '[ci fast]') }} runs-on: ubuntu-latest strategy: matrix: @@ -87,12 +92,17 @@ jobs: - name: Check out pipeline code uses: actions/checkout@v2 + - name: Hash Github Workspace + id: hash_workspace + run: | + echo "digest=$(echo RNA_3.10.1_${{ github.workspace }} | md5sum | cut -c 1-25)" >> $GITHUB_OUTPUT + - name: Cache test data id: cache-testdata uses: actions/cache@v3 with: path: test-datasets/ - key: rnaseq3_10-test-data + key: ${{ steps.hash_workspace.outputs.digest }} - name: Check out test data if: steps.cache-testdata.outputs.cache-hit != 'true' @@ -122,7 +132,7 @@ jobs: star_rsem: name: Test STAR RSEM with workflow parameters - if: ${{ github.event_name != 'push' || (github.event_name == 'push' && github.repository == 'nf-core/rnaseq') }} + if: ${{ (github.event_name != 'push' || (github.event_name == 'push' && github.repository == 'nf-core/rnaseq')) && !contains(github.event.head_commit.message, '[ci fast]') }} runs-on: ubuntu-latest strategy: matrix: @@ -133,12 +143,17 @@ jobs: - name: Check out pipeline code uses: actions/checkout@v2 + - name: Hash Github Workspace + id: hash_workspace + run: | + echo "digest=$(echo RNA_3.10.1_${{ github.workspace }} | md5sum | cut -c 1-25)" >> $GITHUB_OUTPUT + - name: Cache test data id: cache-testdata uses: actions/cache@v3 with: path: test-datasets/ - key: rnaseq3_10-test-data + key: ${{ steps.hash_workspace.outputs.digest }} - name: Check out test data if: steps.cache-testdata.outputs.cache-hit != 'true' @@ -168,7 +183,7 @@ jobs: hisat2: name: Test HISAT2 with workflow parameters - if: ${{ github.event_name != 'push' || (github.event_name == 'push' && github.repository == 'nf-core/rnaseq') }} + if: ${{ (github.event_name != 'push' || (github.event_name == 'push' && github.repository == 'nf-core/rnaseq')) && !contains(github.event.head_commit.message, '[ci fast]') }} runs-on: ubuntu-latest strategy: matrix: @@ -179,12 +194,17 @@ jobs: - name: Check out pipeline code uses: actions/checkout@v2 + - name: Hash Github Workspace + id: hash_workspace + run: | + echo "digest=$(echo RNA_3.10.1_${{ github.workspace }} | md5sum | cut -c 1-25)" >> $GITHUB_OUTPUT + - name: Cache test data id: cache-testdata uses: actions/cache@v3 with: path: test-datasets/ - key: rnaseq3_10-test-data + key: ${{ steps.hash_workspace.outputs.digest }} - name: Check out test data if: steps.cache-testdata.outputs.cache-hit != 'true' @@ -214,7 +234,7 @@ jobs: salmon: name: Test Salmon with workflow parameters - if: ${{ github.event_name != 'push' || (github.event_name == 'push' && github.repository == 'nf-core/rnaseq') }} + if: ${{ (github.event_name != 'push' || (github.event_name == 'push' && github.repository == 'nf-core/rnaseq')) && !contains(github.event.head_commit.message, '[ci fast]') }} runs-on: ubuntu-latest strategy: matrix: @@ -225,12 +245,17 @@ jobs: - name: Check out pipeline code uses: actions/checkout@v2 + - name: Hash Github Workspace + id: hash_workspace + run: | + echo "digest=$(echo RNA_3.10.1_${{ github.workspace }} | md5sum | cut -c 1-25)" >> $GITHUB_OUTPUT + - name: Cache test data id: cache-testdata uses: actions/cache@v3 with: path: test-datasets/ - key: rnaseq3_10-test-data + key: ${{ steps.hash_workspace.outputs.digest }} - name: Check out test data if: steps.cache-testdata.outputs.cache-hit != 'true' diff --git a/.github/workflows/cloud_tests_full.yml b/.github/workflows/cloud_tests_full.yml index 92d784131..3c4b23106 100644 --- a/.github/workflows/cloud_tests_full.yml +++ b/.github/workflows/cloud_tests_full.yml @@ -17,7 +17,7 @@ on: - gcp jobs: run-full-tests-on-aws: - if: ${{ github.event.inputs.platform == 'all' || github.event.inputs.platform == 'aws' }} + if: ${{ github.event.inputs.platform == 'all' || github.event.inputs.platform == 'aws' || !github.event.inputs }} runs-on: ubuntu-latest strategy: matrix: @@ -34,15 +34,15 @@ jobs: parameters: | { "hook_url": "${{ secrets.MEGATESTS_ALERTS_SLACK_HOOK_URL }}", + "aligner": "${{ matrix.aligner }}", "outdir": "${{ secrets.TOWER_BUCKET_AWS }}/rnaseq/results-${{ github.sha }}/aligner_${{ matrix.aligner }}" } - wait: false - uses: actions/upload-artifact@v3 with: name: Tower debug log file path: tower_action_*.log run-full-tests-on-gcp: - if: ${{ github.event.inputs.platform == 'all' || github.event.inputs.platform == 'gcp' }} + if: ${{ github.event.inputs.platform == 'all' || github.event.inputs.platform == 'gcp' || !github.event.inputs }} runs-on: ubuntu-latest strategy: matrix: @@ -59,15 +59,15 @@ jobs: parameters: | { "hook_url": "${{ secrets.MEGATESTS_ALERTS_SLACK_HOOK_URL }}", + "aligner": "${{ matrix.aligner }}", "outdir": "${{ secrets.TOWER_BUCKET_GCP }}/rnaseq/results-${{ github.sha }}/aligner_${{ matrix.aligner }}" } - wait: false - uses: actions/upload-artifact@v3 with: name: Tower debug log file path: tower_action_*.log run-full-tests-on-azure: - if: ${{ github.event.inputs.platform == 'all' || github.event.inputs.platform == 'azure' }} + if: ${{ github.event.inputs.platform == 'all' || github.event.inputs.platform == 'azure' || !github.event.inputs }} runs-on: ubuntu-latest strategy: matrix: @@ -84,10 +84,10 @@ jobs: parameters: | { "hook_url": "${{ secrets.MEGATESTS_ALERTS_SLACK_HOOK_URL }}", + "aligner": "${{ matrix.aligner }}", "outdir": "${{ secrets.TOWER_BUCKET_AZURE }}/rnaseq/results-${{ github.sha }}/aligner_${{ matrix.aligner }}", "igenomes_base": "${{ secrets.TOWER_IGENOMES_BASE_AZURE }}" } - wait: false - uses: actions/upload-artifact@v3 with: name: Tower debug log file diff --git a/.github/workflows/cloud_tests_small.yml b/.github/workflows/cloud_tests_small.yml index 318601912..6f2e6d8a9 100644 --- a/.github/workflows/cloud_tests_small.yml +++ b/.github/workflows/cloud_tests_small.yml @@ -30,7 +30,6 @@ jobs: { "outdir": "${{ secrets.TOWER_BUCKET_AWS }}/rnaseq/results-test-${{ github.sha }}" } - wait: false - uses: actions/upload-artifact@v3 with: name: Tower debug log file @@ -51,7 +50,6 @@ jobs: { "outdir": "${{ secrets.TOWER_BUCKET_GCP }}/rnaseq/results-test-${{ github.sha }}" } - wait: false - uses: actions/upload-artifact@v3 with: name: Tower debug log file @@ -72,7 +70,6 @@ jobs: { "outdir": "${{ secrets.TOWER_BUCKET_AZURE }}/rnaseq/results-test-${{ github.sha }}" } - wait: false - uses: actions/upload-artifact@v3 with: name: Tower debug log file diff --git a/CHANGELOG.md b/CHANGELOG.md index ecda50c86..2d5191059 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,24 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/) and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +## [[3.11.1](https://github.com/nf-core/rnaseq/releases/tag/3.11.1)] - 2023-03-31 + +### Credits + +Special thanks to the following for their code contributions to the release: + +- [Adam Talbot](https://github.com/adamrtalbot) +- [Rob Syme](https://github.com/robsyme) +- [suhrig](https://github.com/suhrig) + +### Enhancements & fixes + +- [[#987](https://github.com/nf-core/rnaseq/pull/987)] - Fix issue with incorrect cacheing of test datasets during CI/CD +- [[#988](https://github.com/nf-core/rnaseq/issues/988)] - `DESEQ2_QC_STAR_SALMON` fails when sample names have many components +- Remove `wait: false` option from Tower Actions which is the default +- Fix release trigger for full-sized multi-cloud tests +- Adding `[ci fast]` to commit message now skips all tests except for standard `-profile test` pipeline run + ## [[3.11.0](https://github.com/nf-core/rnaseq/releases/tag/3.11.0)] - 2023-03-30 ### Credits diff --git a/bin/deseq2_qc.r b/bin/deseq2_qc.r index fa2e2c78a..d99bc7c2b 100755 --- a/bin/deseq2_qc.r +++ b/bin/deseq2_qc.r @@ -77,10 +77,10 @@ decompose <- n_components!=1 && all(sapply(name_components, length)==n_com coldata <- data.frame(samples.vec, sample=samples.vec, row.names=1) if (decompose) { groupings <- as.data.frame(lapply(1:n_components, function(i) sapply(name_components, "[[", i))) - names(groupings) <- paste0("Group", 1:n_components) n_distinct <- sapply(groupings, function(grp) length(unique(grp))) groupings <- groupings[n_distinct!=1 & n_distinct!=length(samples.vec)] if (ncol(groupings)!=0) { + names(groupings) <- paste0("Group", 1:ncol(groupings)) coldata <- cbind(coldata, groupings) } else { decompose <- FALSE diff --git a/modules.json b/modules.json index 018c1ecae..a209ca3d2 100644 --- a/modules.json +++ b/modules.json @@ -211,13 +211,13 @@ }, "umitools/dedup": { "branch": "master", - "git_sha": "6d9c7e43404e20a97d2f6f88548456afe78282e6", + "git_sha": "ffe2f5865f608848e440a52b73c304ea79aaf818", "installed_by": ["bam_dedup_stats_samtools_umitools"] }, "umitools/extract": { "branch": "master", - "git_sha": "6d9c7e43404e20a97d2f6f88548456afe78282e6", - "installed_by": ["fastq_fastqc_umitools_trimgalore", "fastq_fastqc_umitools_fastp"] + "git_sha": "ffe2f5865f608848e440a52b73c304ea79aaf818", + "installed_by": ["fastq_fastqc_umitools_fastp", "fastq_fastqc_umitools_trimgalore"] }, "untar": { "branch": "master", diff --git a/modules/nf-core/umitools/dedup/main.nf b/modules/nf-core/umitools/dedup/main.nf index 68fc9b9e7..aa6fdd24e 100644 --- a/modules/nf-core/umitools/dedup/main.nf +++ b/modules/nf-core/umitools/dedup/main.nf @@ -1,6 +1,6 @@ process UMITOOLS_DEDUP { tag "$meta.id" - label "process_single" + label "process_medium" conda "bioconda::umi_tools=1.1.4" container "${ workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ? diff --git a/modules/nf-core/umitools/extract/main.nf b/modules/nf-core/umitools/extract/main.nf index ba2826e1f..64fdd367f 100644 --- a/modules/nf-core/umitools/extract/main.nf +++ b/modules/nf-core/umitools/extract/main.nf @@ -1,6 +1,7 @@ process UMITOOLS_EXTRACT { tag "$meta.id" label "process_single" + label "process_long" conda "bioconda::umi_tools=1.1.4" container "${ workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ? diff --git a/nextflow.config b/nextflow.config index c5ca21943..a5b94fd04 100644 --- a/nextflow.config +++ b/nextflow.config @@ -261,7 +261,7 @@ manifest { description = """RNA sequencing analysis pipeline for gene/isoform quantification and extensive quality control.""" mainScript = 'main.nf' nextflowVersion = '!>=22.10.1' - version = '3.11.0' + version = '3.11.1' doi = 'https://doi.org/10.5281/zenodo.1400710' }