7
7
types : [run-all-tool-tests-command]
8
8
env :
9
9
GALAXY_FORK : galaxyproject
10
- GALAXY_BRANCH : release_23.2
10
+ GALAXY_BRANCH : release_24.0
11
11
MAX_CHUNKS : 40
12
12
jobs :
13
13
setup :
@@ -23,11 +23,11 @@ jobs:
23
23
chunk-list : ${{ steps.discover.outputs.chunk-list }}
24
24
strategy :
25
25
matrix :
26
- python-version : ['3.7 ']
26
+ python-version : ['3.11 ']
27
27
steps :
28
28
- name : Add reaction
29
29
if : ${{ github.event.client_payload.slash_command.command == 'run-all-tool-tests' }}
30
- uses : peter-evans/create-or-update-comment@v1
30
+ uses : peter-evans/create-or-update-comment@v4
31
31
with :
32
32
token : ${{ secrets.PAT }}
33
33
repository : ${{ github.event.client_payload.github.payload.repository.full_name }}
@@ -37,17 +37,17 @@ jobs:
37
37
id : get-fork-branch
38
38
run : |
39
39
TMP="${{ github.event.client_payload.slash_command.args.named.fork }}"
40
- echo "::set-output name= fork:: ${TMP:-$GALAXY_FORK}"
40
+ echo "fork= ${TMP:-$GALAXY_FORK}" >> $GITHUB_OUTPUT
41
41
TMP="${{ github.event.client_payload.slash_command.args.named.branch }}"
42
- echo "::set-output name= branch:: ${TMP:-$GALAXY_BRANCH}"
42
+ echo "branch= ${TMP:-$GALAXY_BRANCH}" >> $GITHUB_OUTPUT
43
43
- name : Determine latest commit in the Galaxy repo
44
44
id : get-galaxy-sha
45
- run : echo "::set-output name= galaxy-head-sha:: $(git ls-remote https://github.com/${{ steps.get-fork-branch.outputs.fork }}/galaxy refs/heads/${{ steps.get-fork-branch.outputs.branch }} | cut -f1)"
46
- - uses : actions/setup-python@v1
45
+ run : echo "galaxy-head-sha= $(git ls-remote https://github.com/${{ steps.get-fork-branch.outputs.fork }}/galaxy refs/heads/${{ steps.get-fork-branch.outputs.branch }} | cut -f1)" >> $GITHUB_OUTPUT
46
+ - uses : actions/setup-python@v5
47
47
with :
48
48
python-version : ${{ matrix.python-version }}
49
49
- name : Cache .cache/pip
50
- uses : actions/cache@v2
50
+ uses : actions/cache@v4
51
51
id : cache-pip
52
52
with :
53
53
path : ~/.cache/pip
56
56
# are not available as wheels, pip will build a wheel for them, which can be cached.
57
57
- name : Install wheel
58
58
run : pip install wheel
59
- - uses : actions/checkout@v2
59
+ - uses : actions/checkout@v4
60
60
with :
61
61
fetch-depth : 1
62
62
- name : Fake a Planemo run to update cache and determine commit range, repositories, and chunks
74
74
run : |
75
75
echo 'Using ${{ steps.discover.outputs.chunk-count }} chunks (${{ steps.discover.outputs.chunk-list }})'
76
76
77
+ lint :
78
+ name : Check for missing containers
79
+ needs : setup
80
+ if : ${{ needs.setup.outputs.repository-list != '' || needs.setup.outputs.tool-list != '' }}
81
+ runs-on : ubuntu-latest
82
+ strategy :
83
+ fail-fast : false
84
+ matrix :
85
+ python-version : ['3.11']
86
+ steps :
87
+ - uses : actions/checkout@v4
88
+ with :
89
+ fetch-depth : 1
90
+ - uses : actions/setup-python@v5
91
+ with :
92
+ python-version : ${{ matrix.python-version }}
93
+ - name : Cache .cache/pip
94
+ uses : actions/cache@v4
95
+ id : cache-pip
96
+ with :
97
+ path : ~/.cache/pip
98
+ key : pip_cache_py_${{ matrix.python-version }}_gxy_${{ needs.setup.outputs.galaxy-head-sha }}
99
+ - name : Planemo lint
100
+ uses : galaxyproject/planemo-ci-action@v1
101
+ id : lint
102
+ with :
103
+ mode : lint
104
+ repository-list : ${{ needs.setup.outputs.repository-list }}
105
+ tool-list : ${{ needs.setup.outputs.tool-list }}
106
+ additional-planemo-options : --biocontainers -s tests,output,inputs,help,general,command,citations,tool_xsd,xml_order,tool_urls,shed_metadata
107
+ - uses : actions/upload-artifact@v4
108
+ if : ${{ failure() }}
109
+ with :
110
+ name : ' Tool linting output'
111
+ path : lint_report.txt
112
+
77
113
test :
78
114
name : Test tools
79
115
# This job runs on Linux
84
120
fail-fast : false
85
121
matrix :
86
122
chunk : ${{ fromJson(needs.setup.outputs.chunk-list) }}
87
- python-version : ['3.7 ']
123
+ python-version : ['3.11 ']
88
124
services :
89
125
postgres :
90
126
image : postgres:11
@@ -97,18 +133,23 @@ jobs:
97
133
steps :
98
134
# checkout the repository
99
135
# and use it as the current working directory
100
- - uses : actions/checkout@v2
136
+ - uses : actions/checkout@v4
101
137
with :
102
138
fetch-depth : 1
103
- - uses : actions/setup-python@v1
139
+ - uses : actions/setup-python@v5
104
140
with :
105
141
python-version : ${{ matrix.python-version }}
106
142
- name : Cache .cache/pip
107
- uses : actions/cache@v2
143
+ uses : actions/cache@v4
108
144
id : cache-pip
109
145
with :
110
146
path : ~/.cache/pip
111
147
key : pip_cache_py_${{ matrix.python-version }}_gxy_${{ needs.setup.outputs.galaxy-head-sha }}
148
+ - name : Get number of CPU cores
149
+ uses : SimenB/github-actions-cpu-cores@v2
150
+ id : cpu-cores
151
+ - name : Clean dotnet folder for space
152
+ run : rm -Rf /usr/share/dotnet
112
153
- name : Planemo test
113
154
uses : galaxyproject/planemo-ci-action@v1
114
155
id : test
@@ -119,7 +160,10 @@ jobs:
119
160
galaxy-branch : ${{ needs.setup.outputs.branch }}
120
161
chunk : ${{ matrix.chunk }}
121
162
chunk-count : ${{ needs.setup.outputs.chunk-count }}
122
- - uses : actions/upload-artifact@v2
163
+ galaxy-slots : ${{ steps.cpu-cores.outputs.count }}
164
+ # Limit each test to 15 minutes
165
+ test_timeout : 900
166
+ - uses : actions/upload-artifact@v4
123
167
with :
124
168
name : ' Tool test output ${{ matrix.chunk }}'
125
169
path : upload
@@ -134,18 +178,18 @@ jobs:
134
178
needs : [setup, test]
135
179
strategy :
136
180
matrix :
137
- python-version : ['3.7 ']
181
+ python-version : ['3.11 ']
138
182
# This job runs on Linux
139
183
runs-on : ubuntu-latest
140
184
steps :
141
- - uses : actions/download-artifact@v2
185
+ - uses : actions/download-artifact@v4
142
186
with :
143
187
path : artifacts
144
- - uses : actions/setup-python@v1
188
+ - uses : actions/setup-python@v5
145
189
with :
146
190
python-version : ${{ matrix.python-version }}
147
191
- name : Cache .cache/pip
148
- uses : actions/cache@v2
192
+ uses : actions/cache@v4
149
193
id : cache-pip
150
194
with :
151
195
path : ~/.cache/pip
@@ -156,18 +200,18 @@ jobs:
156
200
with :
157
201
mode : combine
158
202
html-report : true
159
- - uses : actions/upload-artifact@v2
203
+ - uses : actions/upload-artifact@v4
160
204
with :
161
205
name : ' All tool test results'
162
206
path : upload
163
207
- name : Create URL to the run output
164
208
if : ${{ github.event.client_payload.slash_command.command == 'run-all-tool-tests' }}
165
209
id : vars
166
- run : echo "::set-output name= run-url:: https://github.com/$GITHUB_REPOSITORY/actions/runs/$GITHUB_RUN_ID"
210
+ run : echo "run-url= https://github.com/$GITHUB_REPOSITORY/actions/runs/$GITHUB_RUN_ID" >> $GITHUB_OUTPUT
167
211
168
212
- name : Create comment
169
213
if : ${{ github.event.client_payload.slash_command.command == 'run-all-tool-tests' }}
170
- uses : peter-evans/create-or-update-comment@v1
214
+ uses : peter-evans/create-or-update-comment@v4
171
215
with :
172
216
token : ${{ secrets.PAT }}
173
217
repository : ${{ github.event.client_payload.github.payload.repository.full_name }}
0 commit comments