-
Notifications
You must be signed in to change notification settings - Fork 2
139 lines (118 loc) · 5.08 KB
/
Copy pathtest.yml
File metadata and controls
139 lines (118 loc) · 5.08 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
name: test
on:
push:
branches:
- dev
- main
pull_request:
release:
types: [published]
workflow_dispatch:
jobs:
test:
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: extract test tar
run: |
mkdir testrepo \
&& tar -xzvf .github/workflows/test.tar.gz -C testrepo --no-same-owner
- name: default
id: detect_module_a_default # Expected: modules/a/tests/main.nf.test, modules/b/tests/main.nf.test (depends on A)
uses: ./
with:
root: testrepo/test
head: change_module_a
base: main
log_level: DEBUG
- name: Ignore changes in module A # Expected: Nothing
id: ignore_module_a
uses: ./
with:
root: testrepo/test
head: change_module_a
base: main
ignored: "modules/a/*"
log_level: DEBUG
- name: Return directory # Expected: modules/a, modules/b (depends on A)
id: detect_module_a_directory
uses: ./
with:
root: testrepo/test
head: change_module_a
base: main
n_parents: 2
log_level: DEBUG
- name: Detect config changes # Expected: modules/c/tests/main.nf.test, subworkflows/a/tests/main.nf.test, tests/main.pipeline.nf.test, tests/main.workflow.nf.test
id: detect_config_changes
uses: ./
with:
root: testrepo/test
head: modify_nextflow_config_in_module_c
base: main
log_level: DEBUG
- name: Do not return workflows # Expected: modules/c/tests/main.nf.test, tests/main.pipeline.nf.test; Same as above but without workflows
id: do_not_return_workflows
uses: ./
with:
root: testrepo/test
head: modify_nextflow_config_in_module_c
base: main
types: "function,process,pipeline"
log_level: DEBUG
- name: Detect additional include statement file # Expected: tests/main.pipeline.nf.test, tests/main.workflow.nf.test
id: detect_additional_include_file
uses: ./
with:
root: testrepo/test
head: modify_main_nextflow_file
base: main
log_level: DEBUG
- name: Include tags # Expected: "tests/main.pipeline.nf.test"
id: detect_tags
uses: ./
with:
root: testrepo/test
head: modify_main_nextflow_file
base: main
tags: "PIPELINE"
log_level: DEBUG
- name: Exclude tags # Expected: Nothing
id: exclude_tags
uses: ./
with:
root: testrepo/test
head: modify_main_nextflow_file
base: main
tags: "PIPELINE"
exclude_tags: "PIPELINE"
log_level: DEBUG
- name: Detect multi-line include # Expected: subworkflows/a/tests/main.nf.test, tests/main.pipeline.nf.test, tests/main.workflow.nf.test
id: multi_line_include
uses: ./
with:
root: testrepo/test
head: multi_line_include
base: main
log_level: DEBUG
- name: Print and assert outputs
run: |
echo Default: ${{ steps.detect_module_a_default.outputs.components }}
[ '${{ steps.detect_module_a_default.outputs.components }}' = '["modules/a/tests/main.nf.test", "modules/b/tests/main.nf.test"]' ]
echo Ignore module A: ${{ steps.ignore_module_a.outputs.components }}
[ '${{ steps.ignore_module_a.outputs.components }}' = '[]' ]
echo Directories: ${{ steps.detect_module_a_directory.outputs.components }}
[ '${{ steps.detect_module_a_directory.outputs.components }}' = '["modules/a", "modules/b"]' ]
echo Config files: ${{ steps.detect_config_changes.outputs.components }}
[ '${{ steps.detect_config_changes.outputs.components }}' = '["modules/c/tests/main.nf.test", "subworkflows/a/tests/main.nf.test", "tests/main.pipeline.nf.test", "tests/main.workflow.nf.test"]' ]
echo No workflows: ${{ steps.do_not_return_workflows.outputs.components }}
[ '${{ steps.do_not_return_workflows.outputs.components }}' = '["modules/c/tests/main.nf.test", "tests/main.pipeline.nf.test"]' ]
echo Additional include file: ${{ steps.detect_additional_include_file.outputs.components }}
[ '${{ steps.detect_additional_include_file.outputs.components }}' = '["tests/main.pipeline.nf.test", "tests/main.workflow.nf.test"]' ]
echo Tags: ${{ steps.detect_tags.outputs.components }}
[ '${{ steps.detect_tags.outputs.components }}' = '["tests/main.pipeline.nf.test"]' ]
echo Exclude tags: ${{ steps.exclude_tags.outputs.components }}
[ '${{ steps.exclude_tags.outputs.components }}' = '[]' ]
echo Multi-line include: ${{ steps.multi_line_include.outputs.components }}
[ '${{ steps.multi_line_include.outputs.components }}' = '["subworkflows/a/tests/main.nf.test", "tests/main.pipeline.nf.test", "tests/main.workflow.nf.test"]' ]