Skip to content
Open
Show file tree
Hide file tree
Changes from 25 commits
Commits
Show all changes
28 commits
Select commit Hold shift + click to select a range
99766d9
Prepare dev (3.9.1dev) (#2225)
maxulysse Jun 30, 2026
e219d7b
Add varlociraptor/filterfdr, update varlociraptor (#2208)
famosab Jul 6, 2026
bd02bf2
Update EnsemblVEP to 116.0 (#2229)
maxulysse Jul 8, 2026
2d44030
Important! Template update for nf-core/tools v4.0.2 (#2178)
nf-core-bot Jul 13, 2026
0437b45
Add AGENTS.md file with nf-core agent instructions (#2228)
maxulysse Jul 14, 2026
de19184
Fix `--normalize_vcfs` dropping an allele of 1/2 multiallelic sites (…
apolitics Jul 14, 2026
41a8e70
Skip nf-schema path validation for annotation_cache and igenomes_base…
pinin4fjords Jul 15, 2026
a0d5fd3
Update bcftools to 1.23.1 (#2210)
famosab Jul 15, 2026
3c7da70
Migrate local code to lowercase `channel` factory (#2232)
FriederikeHanssen Jul 16, 2026
e17a658
Replace deprecated `channel.from` with `channel.of` in prepare_genome…
FriederikeHanssen Jul 16, 2026
e3d53c5
Replace `.set {}` with plain assignment for strict-syntax readiness (…
FriederikeHanssen Jul 17, 2026
abb83ad
Nextflow strict-syntax readiness for local code (+ Manta output & ger…
FriederikeHanssen Jul 21, 2026
7b2af90
Update muse/sump to check if the index is older before touching it (#…
famosab Jul 21, 2026
a7377e6
chore(modules): migrate gatk4/gatk4spark to versions topic channel (#…
FriederikeHanssen Jul 22, 2026
e952f4e
chore(modules): migrate alignment/UMI/utility modules to versions top…
FriederikeHanssen Jul 22, 2026
c8c2348
chore(modules): migrate variant-calling modules to versions topic cha…
FriederikeHanssen Jul 23, 2026
ac5e751
chore(modules): migrate samtools modules to versions topic channel (#…
FriederikeHanssen Jul 27, 2026
62edfac
chore(modules): migrate QC/coverage modules to versions topic channel…
FriederikeHanssen Jul 27, 2026
aa42b5d
chore(modules): migrate cnvkit/tabix modules to versions topic channe…
FriederikeHanssen Jul 29, 2026
9f7ca0b
chore(modules): migrate local modules to versions topic channel (#2244)
FriederikeHanssen Jul 29, 2026
b18bf7b
Add Parabricks (GPU-based) Haplotypecaller (#2176)
gburnett-nvidia Jul 29, 2026
96cbec6
chore(modules): update 16 outdated nf-core modules (#2252)
FriederikeHanssen Jul 29, 2026
bd3e9bc
Template update for nf-core/tools v4.0.3 (#2248)
FriederikeHanssen Jul 31, 2026
c3cbfab
Important! Template update for nf-core/tools v4.1.0 (#2255)
FriederikeHanssen Aug 4, 2026
335a0a9
Merge branch 'master' into dev
FriederikeHanssen Aug 4, 2026
d4f97d4
Apply suggestions from code review
FriederikeHanssen Aug 6, 2026
3e7c732
Revert to self-hosted runners for nf-test workflows (#2259)
FriederikeHanssen Aug 7, 2026
0804b9a
Prepare release 3.10.0 (Aktse) (#2258)
FriederikeHanssen Aug 7, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
1 change: 1 addition & 0 deletions .devcontainer/devcontainer.json
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
{
"$schema": "https://raw.githubusercontent.com/devcontainers/spec/main/schemas/devContainer.schema.json",
"name": "nfcore",
"image": "nfcore/devcontainer:latest",

Expand Down
128 changes: 0 additions & 128 deletions .github/CONTRIBUTING.md

This file was deleted.

4 changes: 2 additions & 2 deletions .github/PULL_REQUEST_TEMPLATE.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,14 +8,14 @@ These are the most common things requested on pull requests (PRs).

Remember that PRs should be made against the dev branch, unless you're preparing a pipeline release.

Learn more about contributing: [CONTRIBUTING.md](https://github.com/nf-core/sarek/tree/master/.github/CONTRIBUTING.md)
Learn more about contributing: [CONTRIBUTING.md](https://github.com/nf-core/sarek/tree/master/docs/CONTRIBUTING.md)
-->

## PR checklist

- [ ] This comment contains a description of changes (with reason).
- [ ] If you've fixed a bug or added code that should be tested, add tests!
- [ ] If you've added a new tool - have you followed the pipeline conventions in the [contribution docs](https://github.com/nf-core/sarek/tree/master/.github/CONTRIBUTING.md)
- [ ] If you've added a new tool - have you followed the pipeline conventions in the [contribution docs](https://github.com/nf-core/sarek/tree/master/docs/CONTRIBUTING.md)
- [ ] If necessary, also make a PR on the nf-core/sarek _branch_ on the [nf-core/test-datasets](https://github.com/nf-core/test-datasets) repository.
- [ ] Make sure your code lints (`nf-core pipelines lint`).
- [ ] Ensure the test suite passes (`nextflow run . -profile test,docker --outdir <OUTDIR>`).
Expand Down
12 changes: 10 additions & 2 deletions .github/actions/get-shards/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,10 @@ inputs:
tags:
description: "Tags to pass as argument for nf-test --tag parameter"
required: false
all_tests:
description: "Count all tagged tests instead of only those changed since HEAD^ (used for snapshot regeneration)"
required: false
default: "false"
outputs:
shard:
description: "Array of shard numbers"
Expand All @@ -21,20 +25,24 @@ runs:
using: "composite"
steps:
- name: Install nf-test
uses: nf-core/setup-nf-test@v1
uses: nf-core/setup-nf-test@4069fbbaabe94c08faba4ad261bfa88225ba133f # v2
with:
version: ${{ env.NFT_VER }}
- name: Get number of shards
id: shards
shell: bash
run: |
# Run nf-test with dynamic parameter
# In all_tests mode (snapshot regeneration) count every tagged test,
# not just those changed since HEAD^.
CHANGED_SINCE="--changed-since HEAD^"
if [ "${{ inputs.all_tests }}" = "true" ]; then CHANGED_SINCE=""; fi
nftest_output=$(nf-test test \
--profile +docker \
$(if [ -n "${{ inputs.tags }}" ]; then echo "--tag ${{ inputs.tags }}"; fi) \
--dry-run \
--ci \
--changed-since HEAD^) || {
$CHANGED_SINCE) || {
echo "nf-test command failed with exit code $?"
echo "Full output: $nftest_output"
exit 1
Expand Down
49 changes: 43 additions & 6 deletions .github/actions/nf-test/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -16,28 +16,32 @@ inputs:
tags:
description: "Tags to pass as argument for nf-test --tag parameter"
required: false
update_snapshots:
description: "Run with --update-snapshot over all tagged tests and upload regenerated snapshots as artifacts"
required: false
default: "false"
runs:
using: "composite"
steps:
- name: Setup Nextflow
uses: nf-core/setup-nextflow@v2
uses: nf-core/setup-nextflow@893c28b667aedeba26e37f296d260ccc5bc4d914 # v3
with:
version: "${{ env.NXF_VERSION }}"

- name: Set up Python
uses: actions/setup-python@e797f83bcb11b83ae66e0230d6156d7c80228e7c # v6
uses: actions/setup-python@5fda3b95a4ea91299a34e894583c3862153e4b97 # v7
with:
python-version: "3.14"

- name: Install nf-test
uses: nf-core/setup-nf-test@v1
uses: nf-core/setup-nf-test@4069fbbaabe94c08faba4ad261bfa88225ba133f # v2
with:
version: "${{ env.NFT_VER }}"
install-pdiff: true

- name: Setup apptainer
if: contains(inputs.profile, 'singularity')
uses: eWaterCycle/setup-apptainer@main
uses: eWaterCycle/setup-apptainer@3f706d898c9db585b1d741b4692e66755f3a1b40 # v2.0.0

- name: Set up Singularity
if: contains(inputs.profile, 'singularity')
Expand All @@ -48,7 +52,7 @@ runs:

- name: Conda setup
if: contains(inputs.profile, 'conda')
uses: conda-incubator/setup-miniconda@505e6394dae86d6a5c7fbb6e3fb8938e3e863830 # v3
uses: conda-incubator/setup-miniconda@8ee1f361103df19b6f8c8655fd3967a8ecb162d5 # v4
with:
auto-update-conda: true
conda-solver: libmamba
Expand All @@ -71,18 +75,51 @@ runs:
SENTIEON_LICSRVR_IP: ${{ env.SENTIEON_LICSRVR_IP }}
SENTIEON_AUTH_MECH: "GitHub Actions - token"
run: |
# In update-snapshot mode, regenerate snapshots over ALL tagged tests
# (drop --changed-since, which is only meaningful for PR/push diffs).
CHANGED_SINCE="--changed-since HEAD^"
UPDATE_SNAPSHOT=""
if [ "${{ inputs.update_snapshots }}" = "true" ]; then
CHANGED_SINCE=""
UPDATE_SNAPSHOT="--update-snapshot"
fi
nf-test test \
--profile=+${{ inputs.profile }} \
$(if [ -n "${{ inputs.tags }}" ]; then echo "--tag ${{ inputs.tags }}"; fi) \
--ci \
--changed-since HEAD^ \
$CHANGED_SINCE \
$UPDATE_SNAPSHOT \
--verbose \
--tap=test.tap \
--shard ${{ inputs.shard }}/${{ inputs.total_shards }}

# Save the absolute path of the test.tap file to the output
echo "tap_file_path=$(realpath test.tap)" >> $GITHUB_OUTPUT

# ---- update-snapshot mode: collect & upload regenerated snapshots ----
# Only the canonical docker + pinned-Nextflow leg uploads, to avoid
# profile/version-specific artifact collisions.
- name: Collect updated snapshots
if: ${{ inputs.update_snapshots == 'true' && inputs.profile == 'docker' && env.NXF_VERSION == '25.10.4' }}
shell: bash
run: |
rm -rf updated-snaps && mkdir -p updated-snaps
git diff --name-only -- 'tests/*.snap' | while read -r f; do
mkdir -p "updated-snaps/$(dirname "$f")"
cp "$f" "updated-snaps/$f"
done
echo "Changed snapshot files (shard ${{ inputs.shard }}/${{ inputs.total_shards }}):"
git diff --name-only -- 'tests/*.snap' || true

- name: Upload updated snapshots
if: ${{ inputs.update_snapshots == 'true' && inputs.profile == 'docker' && env.NXF_VERSION == '25.10.4' }}
uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7
with:
name: updated-snapshots-shard-${{ inputs.shard }}
path: updated-snaps/
if-no-files-found: ignore
retention-days: 5

- name: Generate test summary
if: always()
shell: bash
Expand Down
Original file line number Diff line number Diff line change
@@ -1,8 +1,7 @@
name: nf-core cloud tests (both full size and smaller)
name: nf-core AWS full size tests
# This workflow is triggered on PRs opened against the main/master branch.
# It can be additionally triggered manually with GitHub actions workflow dispatch button.
# It runs the -profile 'test_full' on cloud
# or the -profile 'test' on cloud (smaller tests)
# It runs the -profile 'test_full' on AWS batch

on:
pull_request_review:
Expand All @@ -11,10 +10,6 @@ on:
types: [published]
workflow_dispatch:
inputs:
test:
description: "-profile test (smaller)"
type: boolean
default: true
somatic:
description: "Somatic full test"
type: boolean
Expand All @@ -41,12 +36,6 @@ jobs:
run: |
# All available profiles
all='[
{
"profile": "test_aws",
"test": "test",
"compute_env": "TOWER_COMPUTE_ENV",
"workdir": "TOWER_BUCKET_AWS"
},
{
"profile": "test_full_aws",
"test": "somatic",
Expand All @@ -70,7 +59,6 @@ jobs:
if [[ "${{ github.event_name }}" == "workflow_dispatch" ]]; then
# Filter to only selected profiles
matrix=$(echo "$all" | jq -c '[.[] | select(
(.test == "test" and ${{ inputs.test }}) or
(.test == "somatic" and ${{ inputs.somatic }}) or
(.test == "germline" and ${{ inputs.germline }}) or
(.test == "germline_ncbench_agilent" and ${{ inputs.germline_ncbench_agilent }})
Expand Down Expand Up @@ -98,7 +86,7 @@ jobs:

- name: Launch workflow via Seqera Platform
id: tower-launch
uses: seqeralabs/action-tower-launch@v2
uses: seqeralabs/action-tower-launch@51565b514bff1827cf34620de25d0055759f1fc9 # v2
with:
run_name: sarek_${{ matrix.profile }}
workspace_id: ${{ secrets.TOWER_WORKSPACE_ID }}
Expand Down Expand Up @@ -141,9 +129,9 @@ jobs:
--repo ${{ github.repository }} \
--body "Cloud test **${{ matrix.profile }}** launched on [Seqera Platform](${{ steps.tower-launch.outputs.workflowUrl }})"

- uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5
- uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7
with:
name: Seqera Platform debug log file - ${{ matrix.profile }}
path: |
seqera_platform_action_*.log
seqera_platform_action_*.json
tower_action_*.log
tower_action_*.json
33 changes: 33 additions & 0 deletions .github/workflows/awstest.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
name: nf-core AWS test
# This workflow can be triggered manually with the GitHub actions workflow dispatch button.
# It runs the -profile 'test' on AWS batch

on:
workflow_dispatch:
jobs:
run-platform:
name: Run AWS tests
if: github.repository == 'nf-core/sarek'
runs-on: ubuntu-latest
steps:
# Launch workflow using Seqera Platform CLI tool action
- name: Launch workflow via Seqera Platform
uses: seqeralabs/action-tower-launch@51565b514bff1827cf34620de25d0055759f1fc9 # v2
with:
workspace_id: ${{ vars.TOWER_WORKSPACE_ID }}
access_token: ${{ secrets.TOWER_ACCESS_TOKEN }}
compute_env: ${{ vars.TOWER_COMPUTE_ENV }}
revision: ${{ github.sha }}
workdir: s3://${{ vars.AWS_S3_BUCKET }}/work/sarek/work-${{ github.sha }}
parameters: |
{
"outdir": "s3://${{ vars.AWS_S3_BUCKET }}/sarek/results-test-${{ github.sha }}"
}
profiles: test

- uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7
with:
name: Seqera Platform debug log file
path: |
tower_action_*.log
tower_action_*.json
2 changes: 1 addition & 1 deletion .github/workflows/clean-up.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ jobs:
issues: write
pull-requests: write
steps:
- uses: actions/stale@5f858e3efba33a5ca4407a664cc011ad407f2008 # v10
- uses: actions/stale@4391f3da665fdf50b6810c1a66712fb9ba21aa93 # v11
with:
stale-issue-message: "This issue has been tagged as awaiting-changes or awaiting-feedback by an nf-core contributor. Remove stale label or add a comment otherwise this issue will be closed in 20 days."
stale-pr-message: "This PR has been tagged as awaiting-changes or awaiting-feedback by an nf-core contributor. Remove stale label or add a comment if it is still useful."
Expand Down
Loading
Loading