Magnus pushed to branch wip/mangoiv/ci-stages at Glasgow Haskell Compiler / GHC

Commits:

2 changed files:

Changes:

  • .gitlab/generate-ci/gen_ci.hs
    ... ... @@ -1032,7 +1032,7 @@ releaseRule = setJobRule ReleaseOnly
    1032 1032
     -- | Make a normal nightly CI job
    
    1033 1033
     nightly :: Arch -> Opsys -> BuildConfig -> BuildAndTestJob Job
    
    1034 1034
     nightly arch opsys bc =
    
    1035
    -  let MkBuildAndTestJob {buildJob, testJobs} = job arch opsys bc { extendName = ("nightly-" <>) }
    
    1035
    +  let MkBuildAndTestJob {buildJob, testJobs} = job arch opsys bc { extendName = ("nightly-" <>) . bc.extendName }
    
    1036 1036
           mkJob NamedJob {name, jobInfo}
    
    1037 1037
                  = NamedJob { name
    
    1038 1038
                   , jobInfo = nightlyRule
    
    ... ... @@ -1044,7 +1044,7 @@ nightly arch opsys bc =
    1044 1044
     -- | Make a normal release CI job
    
    1045 1045
     release :: Arch -> Opsys -> BuildConfig -> BuildAndTestJob Job
    
    1046 1046
     release arch opsys bc =
    
    1047
    -  let MkBuildAndTestJob {buildJob, testJobs} = job arch opsys (bc { buildFlavour = Release, extendName = ("release-" <>) })
    
    1047
    +  let MkBuildAndTestJob {buildJob, testJobs} = job arch opsys (bc { buildFlavour = Release, extendName = ("release-" <>) . bc.extendName })
    
    1048 1048
           mkJob NamedJob {name, jobInfo} = NamedJob { name
    
    1049 1049
                   , jobInfo = releaseRule
    
    1050 1050
                             . keepArtifacts "1 year"
    
    ... ... @@ -1245,7 +1245,7 @@ fedora_x86 =
    1245 1245
         -- validate pipeline which is built with perf.
    
    1246 1246
         fastCI (standardBuildsWithConfig Amd64 (Linux Fedora43) releaseConfig)
    
    1247 1247
         -- This job is only for generating head.hackage docs
    
    1248
    -  , hackage_doc_job (disableValidate (standardBuildsWithConfig Amd64 (Linux Fedora43) releaseConfig { extendName = (<> "-hackage")}))
    
    1248
    +  , hackage_doc_job
    
    1249 1249
       , disableValidate (standardBuildsWithConfig Amd64 (Linux Fedora43) dwarf)
    
    1250 1250
       , disableValidate (standardBuilds Amd64 (Linux Fedora43))
    
    1251 1251
         -- For UBSan jobs, only enable for validate/nightly pipelines.
    
    ... ... @@ -1259,7 +1259,10 @@ fedora_x86 =
    1259 1259
           $ validateBuilds Amd64 (Linux Fedora43) enableUBSan
    
    1260 1260
       ]
    
    1261 1261
       where
    
    1262
    -    hackage_doc_job = modifyJobs (addVariable "HADRIAN_ARGS" "--haddock-for-hackage")
    
    1262
    +    hackage_doc_job
    
    1263
    +      = modifyJobs (addVariable "HADRIAN_ARGS" "--haddock-for-hackage") $
    
    1264
    +        disableValidate (standardBuildsWithConfig Amd64 (Linux Fedora43)
    
    1265
    +        releaseConfig { extendName = (<> "-hackage") . releaseConfig.extendName })
    
    1263 1266
     
    
    1264 1267
     windows_x86 :: [JobGroup Job]
    
    1265 1268
     windows_x86 =
    

  • .gitlab/jobs.yaml
    ... ... @@ -6154,6 +6154,68 @@
    6154 6154
         }
    
    6155 6155
       },
    
    6156 6156
       "nightly-x86_64-linux-fedora43-release": {
    
    6157
    +    "after_script": [
    
    6158
    +      ".gitlab/ci.sh save_cache",
    
    6159
    +      ".gitlab/ci.sh save_test_output",
    
    6160
    +      ".gitlab/ci.sh clean",
    
    6161
    +      "cat ci_timings.txt"
    
    6162
    +    ],
    
    6163
    +    "allow_failure": false,
    
    6164
    +    "artifacts": {
    
    6165
    +      "expire_in": "8 weeks",
    
    6166
    +      "paths": [
    
    6167
    +        "ghc-x86_64-linux-fedora43-release.tar.xz",
    
    6168
    +        "junit.xml",
    
    6169
    +        "unexpected-test-output.tar.gz"
    
    6170
    +      ],
    
    6171
    +      "reports": {
    
    6172
    +        "junit": "junit.xml"
    
    6173
    +      },
    
    6174
    +      "when": "always"
    
    6175
    +    },
    
    6176
    +    "cache": {
    
    6177
    +      "key": "x86_64-linux-fedora43-$CACHE_REV",
    
    6178
    +      "paths": [
    
    6179
    +        "cabal-cache",
    
    6180
    +        "toolchain"
    
    6181
    +      ]
    
    6182
    +    },
    
    6183
    +    "image": "registry.gitlab.haskell.org/ghc/ci-images/x86_64-linux-fedora43:$DOCKER_REV",
    
    6184
    +    "needs": [
    
    6185
    +      {
    
    6186
    +        "artifacts": false,
    
    6187
    +        "job": "hadrian-ghc-in-ghci"
    
    6188
    +      }
    
    6189
    +    ],
    
    6190
    +    "rules": [
    
    6191
    +      {
    
    6192
    +        "if": "(\"true\" == \"true\") && ($RELEASE_JOB != \"yes\") && ($NIGHTLY)",
    
    6193
    +        "when": "on_success"
    
    6194
    +      }
    
    6195
    +    ],
    
    6196
    +    "script": [
    
    6197
    +      "sudo chown ghc:ghc -R .",
    
    6198
    +      ".gitlab/ci.sh setup",
    
    6199
    +      ".gitlab/ci.sh configure",
    
    6200
    +      ".gitlab/ci.sh build_hadrian"
    
    6201
    +    ],
    
    6202
    +    "stage": "full-build",
    
    6203
    +    "tags": [
    
    6204
    +      "x86_64-linux"
    
    6205
    +    ],
    
    6206
    +    "variables": {
    
    6207
    +      "BIGNUM_BACKEND": "gmp",
    
    6208
    +      "BIN_DIST_NAME": "ghc-x86_64-linux-fedora43-release",
    
    6209
    +      "BUILD_FLAVOUR": "release",
    
    6210
    +      "CONFIGURE_ARGS": "--enable-strict-ghc-toolchain-check",
    
    6211
    +      "INSTALL_CONFIGURE_ARGS": "--enable-strict-ghc-toolchain-check",
    
    6212
    +      "RUNTEST_ARGS": "",
    
    6213
    +      "TEST_ENV": "x86_64-linux-fedora43-release",
    
    6214
    +      "TEST_WAYS": "",
    
    6215
    +      "XZ_OPT": "-9"
    
    6216
    +    }
    
    6217
    +  },
    
    6218
    +  "nightly-x86_64-linux-fedora43-release-hackage": {
    
    6157 6219
         "after_script": [
    
    6158 6220
           ".gitlab/ci.sh save_cache",
    
    6159 6221
           ".gitlab/ci.sh save_test_output",
    
    ... ... @@ -6216,6 +6278,67 @@
    6216 6278
           "XZ_OPT": "-9"
    
    6217 6279
         }
    
    6218 6280
       },
    
    6281
    +  "nightly-x86_64-linux-fedora43-release-hackage-test": {
    
    6282
    +    "after_script": [
    
    6283
    +      ".gitlab/ci.sh save_cache",
    
    6284
    +      ".gitlab/ci.sh save_test_output",
    
    6285
    +      ".gitlab/ci.sh clean",
    
    6286
    +      "cat ci_timings.txt"
    
    6287
    +    ],
    
    6288
    +    "allow_failure": false,
    
    6289
    +    "artifacts": {
    
    6290
    +      "expire_in": "8 weeks",
    
    6291
    +      "paths": [
    
    6292
    +        "ghc-x86_64-linux-fedora43-release.tar.xz",
    
    6293
    +        "junit.xml",
    
    6294
    +        "unexpected-test-output.tar.gz"
    
    6295
    +      ],
    
    6296
    +      "reports": {
    
    6297
    +        "junit": "junit.xml"
    
    6298
    +      },
    
    6299
    +      "when": "always"
    
    6300
    +    },
    
    6301
    +    "cache": {
    
    6302
    +      "key": "x86_64-linux-fedora43-$CACHE_REV",
    
    6303
    +      "paths": [
    
    6304
    +        "cabal-cache",
    
    6305
    +        "toolchain"
    
    6306
    +      ]
    
    6307
    +    },
    
    6308
    +    "image": "registry.gitlab.haskell.org/ghc/ci-images/x86_64-linux-fedora43:$DOCKER_REV",
    
    6309
    +    "needs": [
    
    6310
    +      {
    
    6311
    +        "artifacts": true,
    
    6312
    +        "job": "nightly-x86_64-linux-fedora43-release-hackage"
    
    6313
    +      }
    
    6314
    +    ],
    
    6315
    +    "rules": [
    
    6316
    +      {
    
    6317
    +        "if": "(\"true\" == \"true\") && ($RELEASE_JOB != \"yes\") && ($NIGHTLY)",
    
    6318
    +        "when": "on_success"
    
    6319
    +      }
    
    6320
    +    ],
    
    6321
    +    "script": [
    
    6322
    +      ".gitlab/ci.sh setup",
    
    6323
    +      ".gitlab/ci.sh test_hadrian"
    
    6324
    +    ],
    
    6325
    +    "stage": "testing",
    
    6326
    +    "tags": [
    
    6327
    +      "x86_64-linux"
    
    6328
    +    ],
    
    6329
    +    "variables": {
    
    6330
    +      "BIGNUM_BACKEND": "gmp",
    
    6331
    +      "BIN_DIST_NAME": "ghc-x86_64-linux-fedora43-release",
    
    6332
    +      "BUILD_FLAVOUR": "release",
    
    6333
    +      "CONFIGURE_ARGS": "--enable-strict-ghc-toolchain-check",
    
    6334
    +      "HADRIAN_ARGS": "--haddock-for-hackage",
    
    6335
    +      "INSTALL_CONFIGURE_ARGS": "--enable-strict-ghc-toolchain-check",
    
    6336
    +      "RUNTEST_ARGS": "",
    
    6337
    +      "TEST_ENV": "x86_64-linux-fedora43-release",
    
    6338
    +      "TEST_WAYS": "",
    
    6339
    +      "XZ_OPT": "-9"
    
    6340
    +    }
    
    6341
    +  },
    
    6219 6342
       "nightly-x86_64-linux-fedora43-release-test": {
    
    6220 6343
         "after_script": [
    
    6221 6344
           ".gitlab/ci.sh save_cache",
    
    ... ... @@ -6269,7 +6392,6 @@
    6269 6392
           "BIN_DIST_NAME": "ghc-x86_64-linux-fedora43-release",
    
    6270 6393
           "BUILD_FLAVOUR": "release",
    
    6271 6394
           "CONFIGURE_ARGS": "--enable-strict-ghc-toolchain-check",
    
    6272
    -      "HADRIAN_ARGS": "--haddock-for-hackage",
    
    6273 6395
           "INSTALL_CONFIGURE_ARGS": "--enable-strict-ghc-toolchain-check",
    
    6274 6396
           "RUNTEST_ARGS": "",
    
    6275 6397
           "TEST_ENV": "x86_64-linux-fedora43-release",
    
    ... ... @@ -9845,6 +9967,132 @@
    9845 9967
           "XZ_OPT": "-9"
    
    9846 9968
         }
    
    9847 9969
       },
    
    9970
    +  "release-x86_64-linux-fedora43-release-hackage": {
    
    9971
    +    "after_script": [
    
    9972
    +      ".gitlab/ci.sh save_cache",
    
    9973
    +      ".gitlab/ci.sh save_test_output",
    
    9974
    +      ".gitlab/ci.sh clean",
    
    9975
    +      "cat ci_timings.txt"
    
    9976
    +    ],
    
    9977
    +    "allow_failure": false,
    
    9978
    +    "artifacts": {
    
    9979
    +      "expire_in": "1 year",
    
    9980
    +      "paths": [
    
    9981
    +        "ghc-x86_64-linux-fedora43-release.tar.xz",
    
    9982
    +        "junit.xml",
    
    9983
    +        "unexpected-test-output.tar.gz"
    
    9984
    +      ],
    
    9985
    +      "reports": {
    
    9986
    +        "junit": "junit.xml"
    
    9987
    +      },
    
    9988
    +      "when": "always"
    
    9989
    +    },
    
    9990
    +    "cache": {
    
    9991
    +      "key": "x86_64-linux-fedora43-$CACHE_REV",
    
    9992
    +      "paths": [
    
    9993
    +        "cabal-cache",
    
    9994
    +        "toolchain"
    
    9995
    +      ]
    
    9996
    +    },
    
    9997
    +    "image": "registry.gitlab.haskell.org/ghc/ci-images/x86_64-linux-fedora43:$DOCKER_REV",
    
    9998
    +    "needs": [
    
    9999
    +      {
    
    10000
    +        "artifacts": false,
    
    10001
    +        "job": "hadrian-ghc-in-ghci"
    
    10002
    +      }
    
    10003
    +    ],
    
    10004
    +    "rules": [
    
    10005
    +      {
    
    10006
    +        "if": "(\"true\" == \"true\") && ($RELEASE_JOB == \"yes\") && ($NIGHTLY == null)",
    
    10007
    +        "when": "on_success"
    
    10008
    +      }
    
    10009
    +    ],
    
    10010
    +    "script": [
    
    10011
    +      "sudo chown ghc:ghc -R .",
    
    10012
    +      ".gitlab/ci.sh setup",
    
    10013
    +      ".gitlab/ci.sh configure",
    
    10014
    +      ".gitlab/ci.sh build_hadrian"
    
    10015
    +    ],
    
    10016
    +    "stage": "full-build",
    
    10017
    +    "tags": [
    
    10018
    +      "x86_64-linux"
    
    10019
    +    ],
    
    10020
    +    "variables": {
    
    10021
    +      "BIGNUM_BACKEND": "gmp",
    
    10022
    +      "BIN_DIST_NAME": "ghc-x86_64-linux-fedora43-release",
    
    10023
    +      "BUILD_FLAVOUR": "release",
    
    10024
    +      "CONFIGURE_ARGS": "--enable-strict-ghc-toolchain-check",
    
    10025
    +      "HADRIAN_ARGS": "--haddock-for-hackage",
    
    10026
    +      "IGNORE_PERF_FAILURES": "all",
    
    10027
    +      "INSTALL_CONFIGURE_ARGS": "--enable-strict-ghc-toolchain-check",
    
    10028
    +      "RUNTEST_ARGS": "",
    
    10029
    +      "TEST_ENV": "x86_64-linux-fedora43-release",
    
    10030
    +      "TEST_WAYS": "",
    
    10031
    +      "XZ_OPT": "-9"
    
    10032
    +    }
    
    10033
    +  },
    
    10034
    +  "release-x86_64-linux-fedora43-release-hackage-test": {
    
    10035
    +    "after_script": [
    
    10036
    +      ".gitlab/ci.sh save_cache",
    
    10037
    +      ".gitlab/ci.sh save_test_output",
    
    10038
    +      ".gitlab/ci.sh clean",
    
    10039
    +      "cat ci_timings.txt"
    
    10040
    +    ],
    
    10041
    +    "allow_failure": false,
    
    10042
    +    "artifacts": {
    
    10043
    +      "expire_in": "1 year",
    
    10044
    +      "paths": [
    
    10045
    +        "ghc-x86_64-linux-fedora43-release.tar.xz",
    
    10046
    +        "junit.xml",
    
    10047
    +        "unexpected-test-output.tar.gz"
    
    10048
    +      ],
    
    10049
    +      "reports": {
    
    10050
    +        "junit": "junit.xml"
    
    10051
    +      },
    
    10052
    +      "when": "always"
    
    10053
    +    },
    
    10054
    +    "cache": {
    
    10055
    +      "key": "x86_64-linux-fedora43-$CACHE_REV",
    
    10056
    +      "paths": [
    
    10057
    +        "cabal-cache",
    
    10058
    +        "toolchain"
    
    10059
    +      ]
    
    10060
    +    },
    
    10061
    +    "image": "registry.gitlab.haskell.org/ghc/ci-images/x86_64-linux-fedora43:$DOCKER_REV",
    
    10062
    +    "needs": [
    
    10063
    +      {
    
    10064
    +        "artifacts": true,
    
    10065
    +        "job": "release-x86_64-linux-fedora43-release-hackage"
    
    10066
    +      }
    
    10067
    +    ],
    
    10068
    +    "rules": [
    
    10069
    +      {
    
    10070
    +        "if": "(\"true\" == \"true\") && ($RELEASE_JOB == \"yes\") && ($NIGHTLY == null)",
    
    10071
    +        "when": "on_success"
    
    10072
    +      }
    
    10073
    +    ],
    
    10074
    +    "script": [
    
    10075
    +      ".gitlab/ci.sh setup",
    
    10076
    +      ".gitlab/ci.sh test_hadrian"
    
    10077
    +    ],
    
    10078
    +    "stage": "testing",
    
    10079
    +    "tags": [
    
    10080
    +      "x86_64-linux"
    
    10081
    +    ],
    
    10082
    +    "variables": {
    
    10083
    +      "BIGNUM_BACKEND": "gmp",
    
    10084
    +      "BIN_DIST_NAME": "ghc-x86_64-linux-fedora43-release",
    
    10085
    +      "BUILD_FLAVOUR": "release",
    
    10086
    +      "CONFIGURE_ARGS": "--enable-strict-ghc-toolchain-check",
    
    10087
    +      "HADRIAN_ARGS": "--haddock-for-hackage",
    
    10088
    +      "IGNORE_PERF_FAILURES": "all",
    
    10089
    +      "INSTALL_CONFIGURE_ARGS": "--enable-strict-ghc-toolchain-check",
    
    10090
    +      "RUNTEST_ARGS": "",
    
    10091
    +      "TEST_ENV": "x86_64-linux-fedora43-release",
    
    10092
    +      "TEST_WAYS": "",
    
    10093
    +      "XZ_OPT": "-9"
    
    10094
    +    }
    
    10095
    +  },
    
    9848 10096
       "release-x86_64-linux-fedora43-release-test": {
    
    9849 10097
         "after_script": [
    
    9850 10098
           ".gitlab/ci.sh save_cache",