Raymond Toy pushed to branch issue-389-reduce-duplication-in-ci-rules at cmucl / cmucl

Commits:

1 changed file:

Changes:

  • .gitlab-ci.yml
    ... ... @@ -29,7 +29,49 @@ variables:
    29 29
           - build-2/*.log
    
    30 30
           - build-3/*.log
    
    31 31
           - build-4/
    
    32
    +
    
    33
    +# Default configuration for running the ansi-tests.
    
    34
    +.ansi_test_template: &ansi_test_configuration
    
    35
    +  stage: ansi-test
    
    36
    +  artifacts:
    
    37
    +    paths:
    
    38
    +      - ansi-test/test.out
    
    39
    +  script:
    
    40
    +    - bin/run-ansi-tests.sh -l dist/bin/lisp
    
    32 41
       
    
    42
    +# Default configuration for running unit tests.
    
    43
    +.unit_test_template: &unit_test_configuration
    
    44
    +  stage: test
    
    45
    +  artifacts:
    
    46
    +    paths:
    
    47
    +      - ansi-test/test.out
    
    48
    +      - test.log
    
    49
    +  script:
    
    50
    +    - echo LANG = $LANG
    
    51
    +    - bin/run-unit-tests.sh -l dist/bin/lisp 2>&1 | tee test.log
    
    52
    +
    
    53
    +# Default configuration to test creation of lisp executable and
    
    54
    +# testing the exectuable works.
    
    55
    +.exec_test_template: &exec_test_configuration
    
    56
    +  stage: test
    
    57
    +  script:
    
    58
    +    # Create an executable and test it by printing the version.
    
    59
    +    - dist/bin/lisp -eval '(save-lisp "saved-lisp-executable" :executable t)'
    
    60
    +    - ./saved-lisp-executable --version
    
    61
    +
    
    62
    +# Default configuration for running the benchmarks.
    
    63
    +.benchmark_template: &benchmark_configuration
    
    64
    +  stage: benchmark
    
    65
    +  artifacts:
    
    66
    +    paths:
    
    67
    +      - benchmarks/cl-bench/results
    
    68
    +  script:
    
    69
    +    - cd benchmarks/cl-bench
    
    70
    +    - mkdir tmp
    
    71
    +    - CMUCL=../../snapshot/bin/lisp ./run-cmucl.sh
    
    72
    +    - CMUCL=../../dist/bin/lisp ./run-cmucl.sh
    
    73
    +    - ../../snapshot/bin/lisp -load report
    
    74
    +    
    
    33 75
     stages:
    
    34 76
       - install
    
    35 77
       - build
    
    ... ... @@ -93,31 +135,21 @@ linux:cross-build:
    93 135
         - bin/make-dist.sh -I xdist xlinux-4
    
    94 136
     
    
    95 137
     linux:test:
    
    96
    -  stage: test
    
    138
    +  <<: *unit_test_configuration
    
    97 139
       tags:
    
    98 140
         - linux
    
    99
    -  artifacts:
    
    100
    -    paths:
    
    101
    -      - ansi-test/test.out
    
    102
    -      - test.log
    
    103 141
       needs:
    
    104 142
         # Needs artifacts from build (dist/)
    
    105 143
         - job: linux:build
    
    106 144
           artifacts: true
    
    107
    -  script:
    
    108
    -    - bin/run-unit-tests.sh -l dist/bin/lisp 2>&1 | tee test.log
    
    109 145
     
    
    110 146
     linux:exec-test:
    
    111
    -  stage: test
    
    147
    +  <<: *exec_test_configuration
    
    112 148
       tags:
    
    113 149
         - linux
    
    114 150
       needs:
    
    115 151
         - job: linux:build
    
    116 152
           artifacts: true
    
    117
    -  script:
    
    118
    -    # Create an executable and test it by printing the version.
    
    119
    -    - dist/bin/lisp -eval '(save-lisp "saved-lisp-executable" :executable t)'
    
    120
    -    - ./saved-lisp-executable --version
    
    121 153
     
    
    122 154
     linux:cross-test:
    
    123 155
       stage: test
    
    ... ... @@ -135,37 +167,23 @@ linux:cross-test:
    135 167
         - bin/run-unit-tests.sh -l xdist/bin/lisp 2>&1 | tee cross-test.log
    
    136 168
     
    
    137 169
     linux:ansi-test:
    
    138
    -  stage: ansi-test
    
    170
    +  <<: *ansi_test_configuration
    
    139 171
       tags:
    
    140 172
         - linux
    
    141
    -  artifacts:
    
    142
    -    paths:
    
    143
    -      - ansi-test/test.out
    
    144 173
       needs:
    
    145 174
         # Needs artifacts from build (dist/)
    
    146 175
         - job: linux:build
    
    147 176
           artifacts: true
    
    148
    -  script:
    
    149
    -    - bin/run-ansi-tests.sh -l dist/bin/lisp
    
    150 177
         
    
    151 178
     linux:benchmark:
    
    152
    -  stage: benchmark
    
    179
    +  <<: *benchmark_configuration
    
    153 180
       tags:
    
    154 181
         - linux
    
    155
    -  artifacts:
    
    156
    -    paths:
    
    157
    -      - benchmarks/cl-bench/results
    
    158 182
       needs:
    
    159 183
         # Needs artifacts from install (snapshot/) and build (dist/)
    
    160 184
         - job: linux:install
    
    161 185
           artifacts: true
    
    162 186
         - job: linux:build
    
    163
    -  script:
    
    164
    -    - cd benchmarks/cl-bench
    
    165
    -    - mkdir tmp
    
    166
    -    - CMUCL=../../snapshot/bin/lisp ./run-cmucl.sh
    
    167
    -    - CMUCL=../../dist/bin/lisp ./run-cmucl.sh
    
    168
    -    - ../../snapshot/bin/lisp -load report
    
    169 187
     
    
    170 188
     osx:install:
    
    171 189
       stage: install
    
    ... ... @@ -193,68 +211,40 @@ osx:build:
    193 211
         - !reference [.build_cmucl, script]
    
    194 212
     
    
    195 213
     osx:test:
    
    196
    -  stage: test
    
    214
    +  <<: *unit_test_configuration
    
    197 215
       tags:
    
    198 216
         - macos-virtualbox
    
    199
    -  artifacts:
    
    200
    -    paths:
    
    201
    -      - ansi-test/test.out
    
    202
    -      - test.log
    
    203 217
       needs:
    
    204 218
         # Needs artifacts from build (dist/)
    
    205 219
         - job: osx:build
    
    206 220
           artifacts: true
    
    207
    -  script:
    
    208
    -    - echo LANG = $LANG
    
    209
    -    - bin/run-unit-tests.sh -l dist/bin/lisp 2>&1 | tee test.log
    
    210 221
     
    
    211 222
     osx:exec-test:
    
    212
    -  stage: test
    
    223
    +  <<: *exec_test_configuration
    
    213 224
       tags:
    
    214 225
         - macos-virtualbox
    
    215 226
       needs:
    
    216 227
         - job: osx:build
    
    217 228
           artifacts: true
    
    218
    -  script:
    
    219
    -    # Create an executable and test it by printing the version.
    
    220
    -    - dist/bin/lisp -eval '(save-lisp "saved-lisp-executable" :executable t)'
    
    221
    -    - ./saved-lisp-executable --version
    
    222 229
       
    
    223 230
     osx:ansi-test:
    
    224
    -  stage: ansi-test
    
    231
    +  <<: *ansi_test_configuration
    
    225 232
       tags:
    
    226 233
         - macos-virtualbox
    
    227
    -  artifacts:
    
    228
    -    paths:
    
    229
    -      - ansi-test/test.out
    
    230 234
       needs:
    
    231 235
         # Needs artifacts from build (dist/)
    
    232 236
         - job: osx:build
    
    233 237
           artifacts: true
    
    234
    -  script:
    
    235
    -    # NB: sometimes we can't clone the ansi-test repo (bad cert!?!).
    
    236
    -    # Manually cloning it in the gitlab build dir helps with this
    
    237
    -    # issue until we can figure out what's going on.
    
    238
    -    - bin/run-ansi-tests.sh -l dist/bin/lisp
    
    239 238
       
    
    240 239
     osx:benchmark:
    
    241
    -  stage: benchmark
    
    240
    +  <<: *benchmark_configuration
    
    242 241
       tags:
    
    243 242
         - macos-virtualbox
    
    244
    -  artifacts:
    
    245
    -    paths:
    
    246
    -      - benchmarks/cl-bench/results
    
    247 243
       needs:
    
    248 244
         # Needs artifacts from install (snapshot/) and build (dist/)
    
    249 245
         - job: osx:install
    
    250 246
           artifacts: true
    
    251 247
         - job:  osx:build
    
    252
    -  script:
    
    253
    -    - cd benchmarks/cl-bench
    
    254
    -    - mkdir tmp
    
    255
    -    - CMUCL=../../snapshot/bin/lisp ./run-cmucl.sh
    
    256
    -    - CMUCL=../../dist/bin/lisp ./run-cmucl.sh
    
    257
    -    - ../../snapshot/bin/lisp -load report
    
    258 248
     
    
    259 249
     # Optional job that runs the static analyzer.  It needs the files from
    
    260 250
     # the linux-4 directory built in the linux:build job.
    
    ... ... @@ -301,31 +291,20 @@ opensuse:build:
    301 291
         - !reference [.build_cmucl, script]
    
    302 292
     
    
    303 293
     opensuse:test:
    
    304
    -  stage: test
    
    294
    +  <<: *unit_test_configuration
    
    305 295
       tags:
    
    306
    -    - linux
    
    307
    -  artifacts:
    
    308
    -    paths:
    
    309
    -      - ansi-test/test.out
    
    310
    -      - test.log
    
    296
    +    - opensuse
    
    311 297
       needs:
    
    312 298
         # Needs artifacts from build (dist/)
    
    313 299
         - job: opensuse:build
    
    314 300
           artifacts: true
    
    315
    -  script:
    
    316
    -    - bin/run-unit-tests.sh -l dist/bin/lisp 2>&1 | tee test.log
    
    317 301
     
    
    318 302
     opensuse:ansi-test:
    
    319
    -  stage: ansi-test
    
    303
    +  <<: *ansi_test_configuration
    
    320 304
       tags:
    
    321
    -    - linux
    
    322
    -  artifacts:
    
    323
    -    paths:
    
    324
    -      - ansi-test/test.out
    
    305
    +    - opensuse
    
    325 306
       needs:
    
    326 307
         # Needs artifacts from build (dist/)
    
    327 308
         - job: opensuse:build
    
    328 309
           artifacts: true
    
    329
    -  script:
    
    330
    -    - bin/run-ansi-tests.sh -l dist/bin/lisp
    
    331 310