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,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