diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 6346287ac..687b94bc3 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -19,75 +19,33 @@ concurrency: group: "${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}" cancel-in-progress: true jobs: - nf-test-changes: - name: Check for changes - runs-on: ubuntu-latest - outputs: - nf_test_files: ${{ steps.list.outputs.components }} - steps: - - uses: actions/checkout@v4 - with: - fetch-depth: 0 - - - name: List nf-test files - id: list - uses: adamrtalbot/detect-nf-test-changes@v0.0.2 - with: - head: ${{ github.sha }} - base: origin/${{ github.base_ref }} - include: .github/include.yaml - - - name: print list of nf-test files - run: | - echo ${{ steps.list.outputs.components }} - test: - name: "Run tests (${{ matrix.nf_test_files }} ${{ matrix.profile }} NF-${{ matrix.NXF_VER }})" - needs: [nf-test-changes] - if: needs.nf-test-changes.outputs.nf_test_files != '[]' runs-on: ubuntu-latest + name: "Test ${{ matrix.filter }} | ${{ matrix.profile }} | ${{ matrix.NXF_VER }} | ${{ matrix.shard }}/5" strategy: fail-fast: false matrix: NXF_VER: - "24.04.2" - "latest-everything" - nf_test_files: ["${{ fromJson(needs.nf-test-changes.outputs.nf_test_files) }}"] - profile: - - "conda" - - "docker" - - "singularity" + filter: ["process", "workflow", "function", "pipeline"] + profile: ["docker", "singularity"] + shard: [1, 2, 3, 4, 5] isMaster: - ${{ github.base_ref == 'master' }} - # Exclude conda and singularity on dev exclude: - - isMaster: false - profile: "conda" - isMaster: false profile: "singularity" - - profile: "conda" - nf_test_files: "tests/default.nf.test" - - profile: "conda" - nf_test_files: "tests/featurecounts_group_type.nf.test" - - profile: "conda" - nf_test_files: "tests/hisat2.nf.test" - - profile: "conda" - nf_test_files: "tests/kallisto.nf.test" - - profile: "conda" - nf_test_files: "tests/min_mapped_reads.nf.test" - - profile: "conda" - nf_test_files: "tests/remove_ribo_rna.nf.test" - - profile: "conda" - nf_test_files: "tests/salmon.nf.test" - - profile: "conda" - nf_test_files: "tests/skip_qc.nf.test" - - profile: "conda" - nf_test_files: "tests/skip_trimming.nf.test" - - profile: "conda" - nf_test_files: "tests/star_rsem.nf.test" steps: - name: Check out pipeline code uses: actions/checkout@0ad4b8fadaa221de15dcec353f45205ec38ea70b # v4 + with: + fetch-depth: 0 + + - uses: actions/setup-python@v4 + with: + python-version: "3.11" + architecture: "x64" - name: Set up Nextflow uses: nf-core/setup-nextflow@v2 @@ -104,21 +62,6 @@ jobs: mkdir -p $NXF_SINGULARITY_CACHEDIR mkdir -p $NXF_SINGULARITY_LIBRARYDIR - - name: Set up Miniconda - if: matrix.profile == 'conda' - uses: conda-incubator/setup-miniconda@a4260408e20b96e80095f42ff7f1a15b27dd94ca # v3 - with: - miniconda-version: "latest" - auto-update-conda: true - conda-solver: libmamba - channels: conda-forge,bioconda - - - name: Set up Conda - if: matrix.profile == 'conda' - run: | - echo $(realpath $CONDA)/condabin >> $GITHUB_PATH - echo $(realpath python) >> $GITHUB_PATH - - name: Install nf-test uses: nf-core/setup-nf-test@v1 with: @@ -137,14 +80,18 @@ jobs: - name: Clean up Disk space uses: jlumbroso/free-disk-space@54081f138730dfa15788a46383842cd2f914a1be # v1.3.1 - - name: Run nf-test + - name: "Run tests | ${{ matrix.filter }}_${{ matrix.profile }} | ${{ matrix.shard }}/5" run: | - nf-test test --verbose ${{ matrix.nf_test_files }} --profile "+${{ matrix.profile }}" --junitxml=test.xml --tap=test.tap - - - uses: pcolby/tap-summary@v1 - with: - path: >- - test.tap + nf-test test \ + --ci \ + --debug \ + --verbose \ + --junitxml="TEST-${{ matrix.filter }}_${{ matrix.profile }}_${{ matrix.shard }}.xml" \ + --shard ${{ matrix.shard }}/5 \ + --changed-since HEAD^ \ + --follow-dependencies \ + --profile "+${{ matrix.profile }}" \ + --filter ${{ matrix.filter }} - name: Output log on failure if: failure() diff --git a/CHANGELOG.md b/CHANGELOG.md index 51374d1e8..a1f9df590 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -12,6 +12,7 @@ Special thanks to the following for their contributions to the release: - [Maxime Garcia](https://github.com/maxulysse) - [Jonathan Manning](https://github.com/pinin4fjords) - [Pablo Gonzalez de Aledo](https://github.com/pabloaledo) +- [Edmund Miller](https://github.com/edmundmiller) ### Enhancements & fixes @@ -22,6 +23,7 @@ Special thanks to the following for their contributions to the release: - [PR #1425](https://github.com/nf-core/rnaseq/pull/1425) - Add profile for ARM compatibility - [PR #1432](https://github.com/nf-core/rnaseq/pull/1432) - Bump versions for 3.17.0 release - [PR #1434](https://github.com/nf-core/rnaseq/pull/1434) - Default registry is quay.io for all containers +- [PR #1438](https://github.com/nf-core/rnaseq/pull/1438) - Implement @edmundmiller strategy for splitting up nf-test tests ## [[3.16.1](https://github.com/nf-core/rnaseq/releases/tag/3.16.1)] - 2024-10-16