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