Raymond Toy pushed to branch issue-478-run-analyzer-link-chcker-on-schedule at cmucl / cmucl

Commits:

1 changed file:

Changes:

  • .gitlab-ci.yml
    ... ... @@ -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