12
12
- dev
13
13
14
14
env :
15
+ NFT_DIFF : " pdiff"
16
+ NFT_DIFF_ARGS : " --line-numbers --width 120 --expand-tabs=2"
17
+ NFT_VER : " 0.9.0"
18
+ NFT_WORKDIR : " ~"
15
19
NXF_ANSI_LOG : false
16
- NFTEST_VER : " 0.8.1"
20
+ NXF_SINGULARITY_CACHEDIR : ${{ github.workspace }}/.singularity
21
+ NXF_SINGULARITY_LIBRARYDIR : ${{ github.workspace }}/.singularity
22
+ SENTIEON_LICENSE_BASE64 : ${{ secrets.SENTIEON_LICENSE_BASE64 }}
23
+ TEST_DATA_BASE : " ${{ github.workspace }}/test-datasets"
17
24
18
25
# Cancel if a newer run is started
19
26
concurrency :
28
35
# Expose matched filters as job 'tags' output variable
29
36
tags : ${{ steps.filter.outputs.changes }}
30
37
steps :
31
- - uses : actions/checkout@v4
38
+ - uses : actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4
32
39
33
40
- uses : frouioui/paths-filter@main
34
41
id : filter
@@ -63,24 +70,20 @@ jobs:
63
70
- tags : " sentieon/haplotyper_skip_filter"
64
71
- NXF_VER : " latest-everything"
65
72
tags : " joint_germline"
66
- env :
67
- NXF_ANSI_LOG : false
68
- TEST_DATA_BASE : " ${{ github.workspace }}/test-datasets"
69
- SENTIEON_LICENSE_BASE64 : ${{ secrets.SENTIEON_LICENSE_BASE64 }}
70
73
71
74
steps :
72
75
- name : Check out pipeline code
73
- uses : actions/checkout@0ad4b8fadaa221de15dcec353f45205ec38ea70b
76
+ uses : actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4
74
77
75
78
- name : Hash Github Workspace
76
79
id : hash_workspace
77
80
run : |
78
81
echo "digest=$(echo sarek3_${{ github.workspace }} | md5sum | cut -c 1-25)" >> $GITHUB_OUTPUT
79
82
80
83
- name : Set up Python
81
- uses : actions/setup-python@v4
84
+ uses : actions/setup-python@f677139bbe7f9c59b41e40162b753c062f5d49a3 # v5
82
85
with :
83
- python-version : " 3.x "
86
+ python-version : " 3.11 "
84
87
cache : " pip"
85
88
cache-dependency-path : |
86
89
**/requirements.txt
@@ -93,30 +96,43 @@ jobs:
93
96
with :
94
97
version : " ${{ matrix.NXF_VER }}"
95
98
99
+ - name : Setup apptainer
100
+ if : matrix.profile == 'singularity'
101
+ uses : eWaterCycle/setup-apptainer@main
102
+
96
103
- name : Set up Singularity
97
104
if : matrix.profile == 'singularity'
98
- uses : eWaterCycle/setup-singularity@v5
99
- with :
100
- singularity-version : 3.7.1
105
+ run : |
106
+ mkdir -p $NXF_SINGULARITY_CACHEDIR
107
+ mkdir -p $NXF_SINGULARITY_LIBRARYDIR
101
108
102
109
- name : Set up miniconda
103
110
if : matrix.profile == 'conda'
104
- uses : conda-incubator/setup-miniconda@v2
111
+ uses : conda-incubator/setup-miniconda@a4260408e20b96e80095f42ff7f1a15b27dd94ca # v3
105
112
with :
113
+ miniconda-version : " latest"
106
114
auto-update-conda : true
107
- channels : conda-forge,bioconda,defaults
108
- python-version : ${{ matrix.python-version }}
115
+ channels : conda-forge,bioconda
116
+
117
+ - name : Conda setup
118
+ if : matrix.profile == 'conda'
119
+ run : |
120
+ conda clean -a
121
+ conda install -n base conda-libmamba-solver
122
+ conda config --set solver libmamba
123
+ echo $(realpath $CONDA)/condabin >> $GITHUB_PATH
124
+ echo $(realpath python) >> $GITHUB_PATH
109
125
110
126
- name : Cache test data
111
127
id : cache-testdata
112
- uses : actions/cache@v3
128
+ uses : actions/cache@0c45773b623bea8c8e75f6c82b208c3cf94ea4f9 # v4
113
129
with :
114
130
path : test-datasets/
115
131
key : ${{ steps.hash_workspace.outputs.digest }}
116
132
117
133
- name : Check out test data
118
134
if : steps.cache-testdata.outputs.cache-hit != 'true'
119
- uses : actions/checkout@v4
135
+ uses : actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4
120
136
with :
121
137
repository : nf-core/test-datasets
122
138
ref : sarek3
@@ -164,16 +180,17 @@ jobs:
164
180
165
181
- name : Upload logs on failure
166
182
if : failure()
167
- uses : actions/upload-artifact@v2
183
+ uses : actions/upload-artifact@50769540e7f4bd5e21e526ee35c689e35e0d6874 # v4
168
184
with :
169
185
name : logs-${{ matrix.profile }}
170
186
path : |
171
- /home/runner/pytest_workflow_*/*/.nextflow.log
172
- /home/runner/pytest_workflow_*/*/log.out
173
- /home/runner/pytest_workflow_*/*/log.err
174
- /home/runner/pytest_workflow_*/*/work
175
- !/home/runner/pytest_workflow_*/*/work/conda
176
- !/home/runner/pytest_workflow_*/*/work/singularity
187
+ /home/ubuntu/pytest_workflow_*/*/.nextflow.log
188
+ /home/ubuntu/pytest_workflow_*/*/log.out
189
+ /home/ubuntu/pytest_workflow_*/*/log.err
190
+ /home/ubuntu/pytest_workflow_*/*/work
191
+ !/home/ubuntu/pytest_workflow_*/*/work/conda
192
+ !/home/ubuntu/pytest_workflow_*/*/work/singularity
193
+ !${{ github.workspace }}/.singularity
177
194
178
195
nftest-changes :
179
196
name : Check for changes (nf-test)
@@ -182,15 +199,12 @@ jobs:
182
199
tags : ${{ steps.filter.outputs.changes }}
183
200
184
201
steps :
185
- - uses : actions/checkout@v4
202
+ - uses : actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4
186
203
187
204
- name : Combine all tags.yml files
188
205
id : get_tags
189
206
run : find . -name "tags.yml" -not -path "./.github/*" -exec cat {} + > .github/tags.yml
190
207
191
- - name : debug
192
- run : cat .github/tags.yml
193
-
194
208
- uses : frouioui/paths-filter@main
195
209
id : filter
196
210
with :
@@ -227,13 +241,16 @@ jobs:
227
241
- tags : " cnvkit/antitarget"
228
242
- tags : " cnvkit/batch"
229
243
- tags : " cnvkit/reference"
230
- - tags : " deepvariant"
244
+ - tags : " controlfreec/assesssignificance"
245
+ - tags : " controlfreec/freec"
246
+ - tags : " deepvariant/rundeepvariant"
231
247
- tags : " dragmap/align"
232
248
- tags : " dragmap/hashtable"
233
249
- tags : " ensemblvep/download"
234
250
- tags : " ensemblvep/vep"
235
251
- tags : " fastp"
236
252
- tags : " fastqc"
253
+ - tags : " fgbio/callmolecularconsensusreads"
237
254
- tags : " fgbio/fastqtobam"
238
255
- tags : " freebayes"
239
256
- tags : " gatk4/applybqsr"
@@ -255,27 +272,22 @@ jobs:
255
272
- tags : " samtools/convert"
256
273
- tags : " samtools/mpileup"
257
274
- tags : " samtools/stats"
275
+ - tags : " sentieon/bwamem"
276
+ - tags : " sentieon/haplotyper"
258
277
- tags : " snpeff/snpeff"
278
+ - tags : " spring/decompress"
259
279
- tags : " strelka/germline"
260
280
- tags : " strelka/somatic"
261
281
- tags : " subworkflows/utils_nfvalidation_plugin"
262
282
- tags : " tabix/bgziptabix"
263
283
- tags : " tabix/tabix"
264
284
- tags : " tiddit/sv"
265
285
- tags : " untar"
266
- - tags : " pipeline_sarek"
267
- include :
268
- - tags : " pipeline_sarek"
269
- profile : " test,docker"
270
- env :
271
- NXF_ANSI_LOG : false
272
- TEST_DATA_BASE : " ${{ github.workspace }}/test-datasets"
273
- SENTIEON_LICENSE_BASE64 : ${{ secrets.SENTIEON_LICENSE_BASE64 }}
274
286
275
287
steps :
276
- - uses : actions/checkout@v4
288
+ - uses : actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4
277
289
278
- - uses : actions/setup-java@v3
290
+ - uses : actions/setup-java@2dfa2011c5b2a0f1489bf9e433881c92c1631f88 # v4
279
291
with :
280
292
distribution : " temurin"
281
293
java-version : " 17"
@@ -285,20 +297,10 @@ jobs:
285
297
with :
286
298
version : " ${{ matrix.NXF_VER }}"
287
299
288
- - name : Cache nf-test installation
289
- id : cache-software
290
- uses : actions/cache@v3
291
- with :
292
- path : |
293
- /usr/local/bin/nf-test
294
- /home/runner/.nf-test/nf-test.jar
295
- key : ${{ runner.os }}-${{ env.NFTEST_VER }}-nftest
296
-
297
300
- name : Install nf-test
298
- if : steps.cache-software.outputs.cache-hit != 'true'
299
- run : |
300
- wget -qO- https://code.askimed.com/install/nf-test | bash
301
- sudo mv nf-test /usr/local/bin/
301
+ uses : nf-core/setup-nf-test@v1
302
+ with :
303
+ version : ${{ env.NFT_VER }}
302
304
303
305
- name : Setup apptainer
304
306
if : matrix.profile == 'singularity'
@@ -311,22 +313,23 @@ jobs:
311
313
mkdir -p $NXF_SINGULARITY_LIBRARYDIR
312
314
313
315
- name : Set up miniconda
314
- uses : conda-incubator/setup-miniconda@v2
316
+ if : matrix.profile == 'conda'
317
+ uses : conda-incubator/setup-miniconda@a4260408e20b96e80095f42ff7f1a15b27dd94ca # v3
315
318
with :
316
319
miniconda-version : " latest"
317
320
auto-update-conda : true
318
- channels : conda-forge,bioconda,defaults
319
- python-version : ${{ matrix.python-version }}
321
+ channels : conda-forge,bioconda
320
322
321
323
- name : Conda setup
324
+ if : matrix.profile == 'conda'
322
325
run : |
323
326
conda clean -a
324
327
conda install -n base conda-libmamba-solver
325
328
conda config --set solver libmamba
326
329
echo $(realpath $CONDA)/condabin >> $GITHUB_PATH
327
330
echo $(realpath python) >> $GITHUB_PATH
328
331
329
- # Set up secrets
332
+ # Set up secrets
330
333
- name : Set up nextflow secrets
331
334
if : env.SENTIEON_LICENSE_BASE64 != null
332
335
run : |
@@ -341,13 +344,15 @@ jobs:
341
344
- name : Disk space cleanup
342
345
343
346
344
- # Test the module
347
+ # Test the component
345
348
- name : Run nf-test
346
349
run : |
347
350
nf-test test \
348
- --profile=${{ matrix.profile }} \
351
+ --profile="+ ${{ matrix.profile }}" \
349
352
--tag ${{ matrix.tags }} \
350
353
--tap=test.tap \
354
+ --junitxml=test.xml \
355
+ --debug \
351
356
--verbose
352
357
353
358
confirm-pass :
0 commit comments