| ... |
... |
@@ -110,18 +110,6 @@ variables: |
|
110
|
110
|
- CMUCL=../../dist/bin/lisp ./run-cmucl.sh
|
|
111
|
111
|
- ../../snapshot/bin/lisp -load report
|
|
112
|
112
|
|
|
113
|
|
-# Default rules to run things on a schedule
|
|
114
|
|
-.rules_sched_template: &rules_schedule
|
|
115
|
|
- rules:
|
|
116
|
|
- # 1. Ensure build runs for schedules so the analyzer can use its files
|
|
117
|
|
- - if: $CI_PIPELINE_SOURCE == "schedule"
|
|
118
|
|
- when: on_success
|
|
119
|
|
- # 2. Ensure build runs if the analyzer variable is set
|
|
120
|
|
- - if: $RUN_ANALYSIS
|
|
121
|
|
- when: on_success
|
|
122
|
|
- # 3. Default: run for standard pushes/MRs
|
|
123
|
|
- - when: on_success
|
|
124
|
|
-
|
|
125
|
113
|
stages:
|
|
126
|
114
|
- install
|
|
127
|
115
|
- build
|
| ... |
... |
@@ -136,16 +124,23 @@ cache: |
|
136
|
124
|
#### Linux jobs ####
|
|
137
|
125
|
linux:install:
|
|
138
|
126
|
<<: *install_configuration
|
|
139
|
|
- <<: *rules_schedule
|
|
140
|
127
|
tags:
|
|
141
|
128
|
- linux
|
|
142
|
129
|
variables:
|
|
143
|
130
|
osname: "linux"
|
|
144
|
131
|
CURL: "curl"
|
|
|
132
|
+ rules:
|
|
|
133
|
+ # 1. Ensure build runs for schedules so the analyzer can use its files
|
|
|
134
|
+ - if: $CI_PIPELINE_SOURCE == "schedule"
|
|
|
135
|
+ when: on_success
|
|
|
136
|
+ # 2. Ensure build runs if the analyzer variable is set
|
|
|
137
|
+ - if: $RUN_ANALYSIS
|
|
|
138
|
+ when: on_success
|
|
|
139
|
+ # 3. Default: run for standard pushes/MRs
|
|
|
140
|
+ - when: on_success
|
|
145
|
141
|
|
|
146
|
142
|
linux:build:
|
|
147
|
143
|
<<: *build_configuration
|
|
148
|
|
- <<: *rules_schedule
|
|
149
|
144
|
tags:
|
|
150
|
145
|
- linux
|
|
151
|
146
|
needs:
|
| ... |
... |
@@ -155,6 +150,15 @@ linux:build: |
|
155
|
150
|
# Fedora 41 must build with gcc because the clang build fails some
|
|
156
|
151
|
# ansi-tests. See [#469].
|
|
157
|
152
|
CONFIG: "x86_linux"
|
|
|
153
|
+ rules:
|
|
|
154
|
+ # 1. Ensure build runs for schedules so the analyzer can use its files
|
|
|
155
|
+ - if: $CI_PIPELINE_SOURCE == "schedule"
|
|
|
156
|
+ when: on_success
|
|
|
157
|
+ # 2. Ensure build runs if the analyzer variable is set
|
|
|
158
|
+ - if: $RUN_ANALYSIS
|
|
|
159
|
+ when: on_success
|
|
|
160
|
+ # 3. Default: run for standard pushes/MRs
|
|
|
161
|
+ - when: on_success
|
|
158
|
162
|
|
|
159
|
163
|
linux:cross-build:
|
|
160
|
164
|
stage: build
|
| ... |
... |
@@ -190,7 +194,6 @@ linux:cross-build: |
|
190
|
194
|
|
|
191
|
195
|
linux:test:
|
|
192
|
196
|
<<: *unit_test_configuration
|
|
193
|
|
- <<: *rules_schedule
|
|
194
|
197
|
tags:
|
|
195
|
198
|
- linux
|
|
196
|
199
|
needs:
|
| ... |
... |
@@ -200,7 +203,6 @@ linux:test: |
|
200
|
203
|
|
|
201
|
204
|
linux:exec-test:
|
|
202
|
205
|
<<: *exec_test_configuration
|
|
203
|
|
- <<: *rules_schedule
|
|
204
|
206
|
tags:
|
|
205
|
207
|
- linux
|
|
206
|
208
|
needs:
|
| ... |
... |
@@ -224,7 +226,6 @@ linux:cross-test: |
|
224
|
226
|
|
|
225
|
227
|
linux:ansi-test:
|
|
226
|
228
|
<<: *ansi_test_configuration
|
|
227
|
|
- <<: *rules_schedule
|
|
228
|
229
|
tags:
|
|
229
|
230
|
- linux
|
|
230
|
231
|
needs:
|
| ... |
... |
@@ -234,7 +235,6 @@ linux:ansi-test: |
|
234
|
235
|
|
|
235
|
236
|
linux:benchmark:
|
|
236
|
237
|
<<: *benchmark_configuration
|
|
237
|
|
- <<: *rules_schedule
|
|
238
|
238
|
tags:
|
|
239
|
239
|
- linux
|
|
240
|
240
|
needs:
|
| ... |
... |
@@ -246,7 +246,6 @@ linux:benchmark: |
|
246
|
246
|
#### OSX (Mac) jobs ####
|
|
247
|
247
|
osx:install:
|
|
248
|
248
|
<<: *install_configuration
|
|
249
|
|
- <<: *rules_schedule
|
|
250
|
249
|
tags:
|
|
251
|
250
|
- macos-virtualbox
|
|
252
|
251
|
variables:
|
| ... |
... |
@@ -255,7 +254,6 @@ osx:install: |
|
255
|
254
|
|
|
256
|
255
|
osx:build:
|
|
257
|
256
|
<<: *build_configuration
|
|
258
|
|
- <<: *rules_schedule
|
|
259
|
257
|
tags:
|
|
260
|
258
|
- macos-virtualbox
|
|
261
|
259
|
needs:
|
| ... |
... |
@@ -266,7 +264,6 @@ osx:build: |
|
266
|
264
|
|
|
267
|
265
|
osx:test:
|
|
268
|
266
|
<<: *unit_test_configuration
|
|
269
|
|
- <<: *rules_schedule
|
|
270
|
267
|
tags:
|
|
271
|
268
|
- macos-virtualbox
|
|
272
|
269
|
needs:
|
| ... |
... |
@@ -276,7 +273,6 @@ osx:test: |
|
276
|
273
|
|
|
277
|
274
|
osx:exec-test:
|
|
278
|
275
|
<<: *exec_test_configuration
|
|
279
|
|
- <<: *rules_schedule
|
|
280
|
276
|
tags:
|
|
281
|
277
|
- macos-virtualbox
|
|
282
|
278
|
needs:
|
| ... |
... |
@@ -285,7 +281,6 @@ osx:exec-test: |
|
285
|
281
|
|
|
286
|
282
|
osx:ansi-test:
|
|
287
|
283
|
<<: *ansi_test_configuration
|
|
288
|
|
- <<: *rules_schedule
|
|
289
|
284
|
tags:
|
|
290
|
285
|
- macos-virtualbox
|
|
291
|
286
|
needs:
|
| ... |
... |
@@ -295,7 +290,6 @@ osx:ansi-test: |
|
295
|
290
|
|
|
296
|
291
|
osx:benchmark:
|
|
297
|
292
|
<<: *benchmark_configuration
|
|
298
|
|
- <<: *rules_schedule
|
|
299
|
293
|
tags:
|
|
300
|
294
|
- macos-virtualbox
|
|
301
|
295
|
needs:
|
| ... |
... |
@@ -307,7 +301,6 @@ osx:benchmark: |
|
307
|
301
|
# Optional job that runs the static analyzer. It needs the files from
|
|
308
|
302
|
# the linux-4 directory built in the linux:build job.
|
|
309
|
303
|
linux:static-analyzer:
|
|
310
|
|
- <<: *rules_schedule
|
|
311
|
304
|
stage: analyze
|
|
312
|
305
|
|
|
313
|
306
|
tags:
|
| ... |
... |
@@ -319,6 +312,15 @@ linux:static-analyzer: |
|
319
|
312
|
needs:
|
|
320
|
313
|
- job: linux:build
|
|
321
|
314
|
artifacts: true
|
|
|
315
|
+ rules:
|
|
|
316
|
+ # 1. If the pipeline is a scheduled run, run this job automatically
|
|
|
317
|
+ - if: $CI_PIPELINE_SOURCE == "schedule"
|
|
|
318
|
+ when: on_success
|
|
|
319
|
+ # 2. If the variable is set (manually via UI/API), run automatically.
|
|
|
320
|
+ - if: $RUN_ANALYSIS
|
|
|
321
|
+ when: on_success
|
|
|
322
|
+ # 3. Otherwise, the job remains a manual button in the pipeline.
|
|
|
323
|
+ - when: manual
|
|
322
|
324
|
# Allows the pipeline to proceed and show a "passed with warnings"
|
|
323
|
325
|
# status (orange) instead of "failed" (red) if this job exits with an error.
|
|
324
|
326
|
allow_failure: true
|
| ... |
... |
@@ -333,7 +335,6 @@ linux:static-analyzer: |
|
333
|
335
|
#### OpenSUSE jobs ####
|
|
334
|
336
|
ubuntu:install:
|
|
335
|
337
|
<<: *install_configuration
|
|
336
|
|
- <<: *rules_schedule
|
|
337
|
338
|
tags:
|
|
338
|
339
|
- ubuntu
|
|
339
|
340
|
variables:
|
| ... |
... |
@@ -342,7 +343,6 @@ ubuntu:install: |
|
342
|
343
|
|
|
343
|
344
|
ubuntu:build:
|
|
344
|
345
|
<<: *build_configuration
|
|
345
|
|
- <<: *rules_schedule
|
|
346
|
346
|
tags:
|
|
347
|
347
|
- ubuntu
|
|
348
|
348
|
needs:
|
| ... |
... |
@@ -356,7 +356,6 @@ ubuntu:build: |
|
356
|
356
|
|
|
357
|
357
|
ubuntu:test:
|
|
358
|
358
|
<<: *unit_test_configuration
|
|
359
|
|
- <<: *rules_schedule
|
|
360
|
359
|
tags:
|
|
361
|
360
|
- ubuntu
|
|
362
|
361
|
needs:
|
| ... |
... |
@@ -366,7 +365,6 @@ ubuntu:test: |
|
366
|
365
|
|
|
367
|
366
|
ubuntu:ansi-test:
|
|
368
|
367
|
<<: *ansi_test_configuration
|
|
369
|
|
- <<: *rules_schedule
|
|
370
|
368
|
tags:
|
|
371
|
369
|
- ubuntu
|
|
372
|
370
|
needs:
|
| ... |
... |
@@ -380,12 +378,20 @@ ubuntu:ansi-test: |
|
380
|
378
|
# From https://github.com/tcort/markdown-link-check
|
|
381
|
379
|
# Checks links on the wiki pages whenever any wiki markdown pages change.
|
|
382
|
380
|
markdown-link-check:
|
|
383
|
|
- <<: *rules_schedule
|
|
384
|
381
|
stage: markdown-link-check
|
|
385
|
382
|
|
|
386
|
383
|
# Only the linux runner has markdown-link-check installed
|
|
387
|
384
|
tags:
|
|
388
|
385
|
- linux
|
|
|
386
|
+ rules:
|
|
|
387
|
+ # 1. If the pipeline is a scheduled run, run this job automatically
|
|
|
388
|
+ - if: $CI_PIPELINE_SOURCE == "schedule"
|
|
|
389
|
+ when: on_success
|
|
|
390
|
+ # 2. If the variable is set (manually via UI/API), run automatically.
|
|
|
391
|
+ - if: $RUN_ANALYSIS
|
|
|
392
|
+ when: on_success
|
|
|
393
|
+ # 3. Otherwise, the job remains a manual button in the pipeline.
|
|
|
394
|
+ - when: manual
|
|
389
|
395
|
# It's ok if this fails; we don't want to declare the entire
|
|
390
|
396
|
# pipeline as having failed.
|
|
391
|
397
|
allow_failure: true
|