Skip to content

Commit 9dc0feb

Browse files
authored
Merge branch 'master' into modules/regenie-runl0-create
2 parents 2ccfff6 + cc2736c commit 9dc0feb

869 files changed

Lines changed: 32818 additions & 10859 deletions

File tree

Some content is hidden

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

.github/workflows/clean-up.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ jobs:
1111
issues: write
1212
pull-requests: write
1313
steps:
14-
- uses: actions/stale@b5d41d4e1d5dceea10e7104786b73624c18a190f # v10
14+
- uses: actions/stale@eb5cf3af3ac0a1aa4c9c45633dd1ae542a27a899 # v10
1515
with:
1616
stale-issue-message: "This issue has been tagged as awaiting-changes or awaiting-feedback by an @nf-core/modules contributor. Remove stale label or add a comment otherwise this issue will be closed in 20 days."
1717
stale-pr-message: "This PR has been tagged as awaiting-changes or awaiting-feedback by an @nf-core/modules contributor. Remove stale label or add a comment if it is still useful."

.github/workflows/close-wishlist.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ jobs:
1010
permissions:
1111
issues: write
1212
steps:
13-
- uses: actions/stale@b5d41d4e1d5dceea10e7104786b73624c18a190f # v10
13+
- uses: actions/stale@eb5cf3af3ac0a1aa4c9c45633dd1ae542a27a899 # v10
1414
with:
1515
stale-issue-message: "This issue has been tagged as wishlist and no one has assigned themselves to it within a year. It will be closed in 10 days unless someone assigns themselves to it."
1616
close-issue-message: "This issue was closed because it has been tagged as wishlist and no one worked on it for over a year."

.github/workflows/fix-linting.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ jobs:
3434

3535
- name: Run prek
3636
id: prek
37-
uses: j178/prek-action@6ad80277337ad479fe43bd70701c3f7f8aa74db3 # v2.0.3
37+
uses: j178/prek-action@bdca6f102f98e2b4c7029491a53dfd366469e33d # v2.0.4
3838
continue-on-error: true
3939

4040
# indication that the linting has finished

.github/workflows/lint.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -39,9 +39,9 @@ jobs:
3939
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6
4040
- uses: nf-core/setup-nextflow@b4ec1bc7c16a94435159de94a05253542fddf6ef # v3
4141
- name: Run prek
42-
uses: j178/prek-action@6ad80277337ad479fe43bd70701c3f7f8aa74db3 # v2.0.3
42+
uses: j178/prek-action@bdca6f102f98e2b4c7029491a53dfd366469e33d # v2.0.4
4343
with:
44-
extra_args: ""
44+
extra-args: ""
4545

4646
###################
4747
# nf-core linting #

.github/workflows/nf-test-gpu.yml

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -104,7 +104,11 @@ jobs:
104104
# Standard GPU tests (g4dn.xlarge - 4 vCPU, 16 GB RAM, T4 GPU)
105105
# Runs tests tagged "gpu" (20+ modules: parabricks, amulety, cellpose, etc.)
106106
nf-test-gpu:
107-
runs-on: "runs-on=${{ github.run_id }}/family=g4dn.xlarge/image=ubuntu24-gpu-x64"
107+
runs-on:
108+
- runs-on=${{ github.run_id }}
109+
- family=g4dn.xlarge
110+
- image=ubuntu24-gpu-x64
111+
- volume=40gb
108112
name: "GPU Test | g4dn.xlarge | ${{ matrix.profile }} | ${{ matrix.shard }}"
109113
needs: [nf-test-changes]
110114
if: ${{ needs.nf-test-changes.outputs.gpu_total_shards != '0' && needs.nf-test-changes.outputs.gpu_total_shards != '' }}

.github/workflows/nf-test.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -93,6 +93,7 @@ jobs:
9393
- runs-on=${{ github.run_id }}
9494
- runner=4cpu-linux-${{ matrix.arch }}
9595
- image=ubuntu24-full-${{ matrix.arch }}
96+
- volume=40gb
9697
name: "${{ matrix.arch }} | ${{ matrix.profile }} | ${{ matrix.shard }}"
9798
needs: [nf-test-changes]
9899
if: ${{ needs.nf-test-changes.outputs.total_shards != '0' }}

.github/workflows/reminder.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ jobs:
1010
permissions:
1111
issues: write
1212
steps:
13-
- uses: actions/stale@b5d41d4e1d5dceea10e7104786b73624c18a190f # v10
13+
- uses: actions/stale@eb5cf3af3ac0a1aa4c9c45633dd1ae542a27a899 # v10
1414
with:
1515
stale-issue-message: "This is a reminder that you assigned yourself to this issue to create a new module / new subworkflow. Please remove yourself from the Assignees if you do not plan to work on this anymore."
1616
days-before-stale: 178

.pre-commit-config.yaml

Lines changed: 14 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ repos:
33
rev: "v3.1.0"
44
hooks:
55
- id: prettier
6+
priority: 0
67
entry: prettier --experimental-cli --write --ignore-unknown --no-cache
78
exclude: |
89
(?x)^(
@@ -15,12 +16,14 @@ repos:
1516
rev: v6.0.0
1617
hooks:
1718
- id: trailing-whitespace
19+
priority: 10
1820
args: [--markdown-linebreak-ext=md]
1921
exclude: |
2022
(?x)^(
2123
.*\.snap$
2224
)$
2325
- id: end-of-file-fixer
26+
priority: 10
2427
exclude: |
2528
(?x)^(
2629
.*\.snap$
@@ -30,41 +33,49 @@ repos:
3033
rev: 0.37.2
3134
hooks:
3235
- id: check-jsonschema
36+
priority: 20
3337
name: "Match meta.ymls in one of the subdirectories of modules/nf-core"
3438
files: ^modules/nf-core/.*/meta\.yml$
3539
types: [yaml]
3640
args: ["--schemafile", "modules/yaml-schema.json"]
3741
- id: check-jsonschema
42+
priority: 20
3843
name: "Validate environment.ymls against schema"
3944
files: ^modules/nf-core/.*/environment\.yml$
4045
types: [yaml]
4146
args: ["--schemafile", "modules/environment-schema.json"]
4247
- id: check-jsonschema
48+
priority: 20
4349
name: "Match meta.ymls in one of the subdirectories of subworkflows/nf-core"
4450
files: ^subworkflows/nf-core/.*/meta\.yml$
4551
types: [yaml]
4652
args: ["--schemafile", "subworkflows/yaml-schema.json"]
4753
- id: check-github-workflows
54+
priority: 20
4855

4956
# use ruff for python files
5057
- repo: https://github.com/astral-sh/ruff-pre-commit
51-
rev: v0.15.12
58+
rev: v0.15.13
5259
hooks:
53-
- id: ruff
60+
- id: ruff-check
61+
priority: 10
5462
files: \.py$
5563
args: [--fix, --exit-non-zero-on-fix, "--select", "I,E1,E4,E7,E9,F,UP,N"] # sort imports and fix (rules taken from nf-core/tools)
5664
- id: ruff-format # formatter
57-
# NOTE This runs with Docker instead of the binary. Hoping anyone messing with Dockerfiles has Docker installed
65+
priority: 0
66+
# NOTE This runs with Docker instead of the binary. Hoping anyone messing with Dockerfiles has Docker installed
5867
- repo: https://github.com/hadolint/hadolint
5968
rev: v2.14.0
6069
hooks:
6170
- id: hadolint-docker
71+
priority: 0
6272
args: ["--failure-threshold", "error"]
6373

6474
- repo: https://github.com/seqeralabs/nf-lint-pre-commit
6575
rev: v0.3.0
6676
hooks:
6777
- id: nextflow-lint
78+
priority: 0
6879
files: '\.nf$|nextflow\.config$'
6980
args: ["-output", "json"]
7081
# TODO add formatting at a later stage

modules/environment-schema.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
{
2-
"$schema": "http://json-schema.org/draft-07/schema",
2+
"$schema": "https://json-schema.org/draft/2020-12/schema",
33
"title": "conda environment yaml",
44
"description": "Validate the environment.yml file for an nf-core module",
55
"type": "object",

modules/meta-schema.json

Lines changed: 41 additions & 62 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
{
2-
"$schema": "http://json-schema.org/draft-07/schema",
2+
"$schema": "https://json-schema.org/draft/2020-12/schema",
33
"title": "Meta yaml",
44
"description": "Validate the meta yaml file for an nf-core module",
55
"type": "object",
@@ -12,6 +12,10 @@
1212
"type": "string",
1313
"description": "Description of the module"
1414
},
15+
"deprecated": {
16+
"type": "boolean",
17+
"description": "Whether the module is deprecated and should not be used in new pipelines"
18+
},
1519
"keywords": {
1620
"type": "array",
1721
"description": "Keywords for the module",
@@ -53,14 +57,13 @@
5357
"pattern": "^https?://.*$"
5458
},
5559
"doi": {
60+
"type": "string",
5661
"description": "DOI of the tool",
5762
"anyOf": [
5863
{
59-
"type": "string",
6064
"pattern": "^10\\.\\d{4,9}\\/[^,]+$"
6165
},
6266
{
63-
"type": "string",
6467
"enum": ["no DOI available"]
6568
}
6669
]
@@ -114,39 +117,16 @@
114117
}
115118
},
116119
"input": {
117-
"type": "array",
118-
"description": "Input channels for the module",
119-
"items": {
120-
"oneOf": [
121-
{
122-
"$ref": "#/definitions/channelElement"
123-
},
124-
{
125-
"type": "array",
126-
"items": {
127-
"$ref": "#/definitions/channelElement"
128-
}
129-
}
130-
]
131-
}
120+
"$ref": "#/$defs/channelArray",
121+
"description": "Input channels for the module"
132122
},
133123
"output": {
134-
"type": "object",
135-
"description": "Output channels for the module",
136-
"patternProperties": {
137-
".*": {
138-
"$ref": "#/definitions/channelArray"
139-
}
140-
}
124+
"$ref": "#/$defs/channelMap",
125+
"description": "Output channels for the module"
141126
},
142127
"topics": {
143-
"type": "object",
144-
"description": "Topics of the module",
145-
"patternProperties": {
146-
".*": {
147-
"$ref": "#/definitions/channelArray"
148-
}
149-
}
128+
"$ref": "#/$defs/channelMap",
129+
"description": "Topics of the module"
150130
},
151131
"authors": {
152132
"type": "array",
@@ -170,44 +150,55 @@
170150
"type": "object",
171151
"description": "Docker containers for different architectures",
172152
"additionalProperties": {
173-
"$ref": "#/definitions/container"
153+
"$ref": "#/$defs/container"
174154
}
175155
},
176156
"singularity": {
177157
"type": "object",
178158
"description": "Singularity containers for different architectures",
179159
"additionalProperties": {
180-
"allOf": [
181-
{
182-
"$ref": "#/definitions/container"
183-
},
184-
{
185-
"properties": {
186-
"name": {
187-
"pattern": "^oras://.*$"
188-
}
189-
},
190-
"required": ["https"]
160+
"$ref": "#/$defs/container",
161+
"properties": {
162+
"name": {
163+
"pattern": "^oras://.*$"
191164
}
192-
]
165+
},
166+
"required": ["https"]
193167
}
194168
},
195169
"conda": {
196170
"type": "object",
197171
"description": "Conda lock files for different architectures",
198172
"additionalProperties": {
199-
"$ref": "#/definitions/condaLockFile"
173+
"type": "object",
174+
"description": "Conda lock file information",
175+
"properties": {
176+
"lock_file": {
177+
"type": "string",
178+
"description": "Path to the conda lock file, relative to the repository root",
179+
"pattern": "^.*\\.conda-lock/.*\\.txt$"
180+
}
181+
},
182+
"required": ["lock_file"]
200183
}
201184
}
202185
}
203186
}
204187
},
205-
"definitions": {
188+
"$defs": {
189+
"channelMap": {
190+
"type": "object",
191+
"patternProperties": {
192+
".*": {
193+
"$ref": "#/$defs/channelArray"
194+
}
195+
}
196+
},
206197
"channelElement": {
207198
"type": "object",
208199
"patternProperties": {
209200
".*": {
210-
"$ref": "#/definitions/elementProperties"
201+
"$ref": "#/$defs/elementProperties"
211202
}
212203
}
213204
},
@@ -216,12 +207,12 @@
216207
"items": {
217208
"oneOf": [
218209
{
219-
"$ref": "#/definitions/channelElement"
210+
"$ref": "#/$defs/channelElement"
220211
},
221212
{
222213
"type": "array",
223214
"items": {
224-
"$ref": "#/definitions/channelElement"
215+
"$ref": "#/$defs/channelElement"
225216
}
226217
}
227218
]
@@ -291,18 +282,6 @@
291282
}
292283
},
293284
"required": ["name", "build_id"]
294-
},
295-
"condaLockFile": {
296-
"type": "object",
297-
"description": "Conda lock file information",
298-
"properties": {
299-
"lock_file": {
300-
"type": "string",
301-
"description": "Path to the conda lock file, relative to the repository root",
302-
"pattern": "^.*\\.conda-lock/.*\\.txt$"
303-
}
304-
},
305-
"required": ["lock_file"]
306285
}
307286
},
308287
"required": ["name", "description", "keywords", "authors", "output", "tools"]

0 commit comments

Comments
 (0)