Cheng Shao pushed to branch wip/alpine-3_22 at Glasgow Haskell Compiler / GHC

Commits:

5 changed files:

Changes:

  • .gitlab-ci.yml
    ... ... @@ -2,7 +2,7 @@ variables:
    2 2
       GIT_SSL_NO_VERIFY: "1"
    
    3 3
     
    
    4 4
       # Commit of ghc/ci-images repository from which to pull Docker images
    
    5
    -  DOCKER_REV: 3618852f42dc1d3d8552fd2b173c482170f76ba6
    
    5
    +  DOCKER_REV: 32a155d075ce8b2c1aa60d8441f498640dcab652
    
    6 6
     
    
    7 7
       # Sequential version number of all cached things.
    
    8 8
       # Bump to invalidate GitLab CI cache.
    
    ... ... @@ -1080,29 +1080,29 @@ abi-test:
    1080 1080
     ghc-wasm-meta-gmp:
    
    1081 1081
       extends: .ghc-wasm-meta
    
    1082 1082
       needs:
    
    1083
    -    - job: x86_64-linux-alpine3_20-wasm-cross_wasm32-wasi-release+host_fully_static+text_simdutf
    
    1083
    +    - job: x86_64-linux-alpine3_22-wasm-cross_wasm32-wasi-release+host_fully_static+text_simdutf
    
    1084 1084
           artifacts: false
    
    1085 1085
       variables:
    
    1086 1086
         UPSTREAM_GHC_FLAVOUR: gmp
    
    1087
    -    UPSTREAM_GHC_JOB_NAME: x86_64-linux-alpine3_20-wasm-cross_wasm32-wasi-release+host_fully_static+text_simdutf
    
    1087
    +    UPSTREAM_GHC_JOB_NAME: x86_64-linux-alpine3_22-wasm-cross_wasm32-wasi-release+host_fully_static+text_simdutf
    
    1088 1088
     
    
    1089 1089
     ghc-wasm-meta-native:
    
    1090 1090
       extends: .ghc-wasm-meta
    
    1091 1091
       needs:
    
    1092
    -    - job: x86_64-linux-alpine3_20-wasm-int_native-cross_wasm32-wasi-release+host_fully_static+text_simdutf
    
    1092
    +    - job: x86_64-linux-alpine3_22-wasm-int_native-cross_wasm32-wasi-release+host_fully_static+text_simdutf
    
    1093 1093
           artifacts: false
    
    1094 1094
       variables:
    
    1095 1095
         UPSTREAM_GHC_FLAVOUR: native
    
    1096
    -    UPSTREAM_GHC_JOB_NAME: x86_64-linux-alpine3_20-wasm-int_native-cross_wasm32-wasi-release+host_fully_static+text_simdutf
    
    1096
    +    UPSTREAM_GHC_JOB_NAME: x86_64-linux-alpine3_22-wasm-int_native-cross_wasm32-wasi-release+host_fully_static+text_simdutf
    
    1097 1097
     
    
    1098 1098
     ghc-wasm-meta-unreg:
    
    1099 1099
       extends: .ghc-wasm-meta
    
    1100 1100
       needs:
    
    1101
    -    - job: x86_64-linux-alpine3_20-wasm-unreg-cross_wasm32-wasi-release+host_fully_static+text_simdutf
    
    1101
    +    - job: x86_64-linux-alpine3_22-wasm-unreg-cross_wasm32-wasi-release+host_fully_static+text_simdutf
    
    1102 1102
           artifacts: false
    
    1103 1103
       variables:
    
    1104 1104
         UPSTREAM_GHC_FLAVOUR: unreg
    
    1105
    -    UPSTREAM_GHC_JOB_NAME: x86_64-linux-alpine3_20-wasm-unreg-cross_wasm32-wasi-release+host_fully_static+text_simdutf
    
    1105
    +    UPSTREAM_GHC_JOB_NAME: x86_64-linux-alpine3_22-wasm-unreg-cross_wasm32-wasi-release+host_fully_static+text_simdutf
    
    1106 1106
     
    
    1107 1107
     ############################################################
    
    1108 1108
     # Documentation deployment via GitLab Pages
    
    ... ... @@ -1218,9 +1218,7 @@ ghcup-metadata-nightly:
    1218 1218
           artifacts: false
    
    1219 1219
         - job: nightly-x86_64-windows-validate
    
    1220 1220
           artifacts: false
    
    1221
    -    - job: nightly-x86_64-linux-alpine3_12-validate
    
    1222
    -      artifacts: false
    
    1223
    -    - job: nightly-x86_64-linux-alpine3_20-validate
    
    1221
    +    - job: nightly-x86_64-linux-alpine3_22-validate
    
    1224 1222
           artifacts: false
    
    1225 1223
         - job: nightly-x86_64-linux-deb9-validate
    
    1226 1224
           artifacts: false
    
    ... ... @@ -1228,6 +1226,8 @@ ghcup-metadata-nightly:
    1228 1226
           artifacts: false
    
    1229 1227
         - job: nightly-i386-linux-deb12-validate
    
    1230 1228
           artifacts: false
    
    1229
    +    - job: nightly-i386-linux-alpine3_22-validate
    
    1230
    +      artifacts: false
    
    1231 1231
         - job: nightly-x86_64-linux-deb10-validate
    
    1232 1232
           artifacts: false
    
    1233 1233
         - job: nightly-aarch64-linux-deb10-validate
    
    ... ... @@ -1238,7 +1238,7 @@ ghcup-metadata-nightly:
    1238 1238
           artifacts: false
    
    1239 1239
         - job: nightly-aarch64-linux-deb12-validate
    
    1240 1240
           artifacts: false
    
    1241
    -    - job: nightly-aarch64-linux-alpine3_18-validate
    
    1241
    +    - job: nightly-aarch64-linux-alpine3_22-validate
    
    1242 1242
           artifacts: false
    
    1243 1243
         - job: source-tarball
    
    1244 1244
           artifacts: false
    

  • .gitlab/generate-ci/gen_ci.hs
    ... ... @@ -125,9 +125,7 @@ data LinuxDistro
    125 125
       | Ubuntu2204
    
    126 126
       | Ubuntu2004
    
    127 127
       | Ubuntu1804
    
    128
    -  | Alpine312
    
    129
    -  | Alpine318
    
    130
    -  | Alpine320
    
    128
    +  | Alpine322
    
    131 129
       | AlpineWasm
    
    132 130
       | Rocky8
    
    133 131
       deriving (Eq)
    
    ... ... @@ -327,10 +325,8 @@ distroName Ubuntu1804 = "ubuntu18_04"
    327 325
     distroName Ubuntu2004    = "ubuntu20_04"
    
    328 326
     distroName Ubuntu2204    = "ubuntu22_04"
    
    329 327
     distroName Ubuntu2404    = "ubuntu24_04"
    
    330
    -distroName Alpine312     = "alpine3_12"
    
    331
    -distroName Alpine318     = "alpine3_18"
    
    332
    -distroName Alpine320     = "alpine3_20"
    
    333
    -distroName AlpineWasm    = "alpine3_20-wasm"
    
    328
    +distroName Alpine322     = "alpine3_22"
    
    329
    +distroName AlpineWasm    = "alpine3_22-wasm"
    
    334 330
     distroName Rocky8        = "rocky8"
    
    335 331
     
    
    336 332
     opsysName :: Opsys -> String
    
    ... ... @@ -501,9 +497,7 @@ alpineVariables arch = mconcat $
    501 497
     
    
    502 498
     
    
    503 499
     distroVariables :: Arch -> LinuxDistro -> Variables
    
    504
    -distroVariables arch Alpine312 = alpineVariables arch
    
    505
    -distroVariables arch Alpine318 = alpineVariables arch
    
    506
    -distroVariables arch Alpine320 = alpineVariables arch
    
    500
    +distroVariables arch Alpine322 = alpineVariables arch
    
    507 501
     distroVariables _    Fedora33  = mconcat
    
    508 502
       -- LLC/OPT do not work for some reason in our fedora images
    
    509 503
       -- These tests fail with this error: T11649 T5681 T7571 T8131b
    
    ... ... @@ -1241,12 +1235,11 @@ freebsd_jobs =
    1241 1235
     alpine_x86 :: [JobGroup Job]
    
    1242 1236
     alpine_x86 =
    
    1243 1237
       [ -- Fully static build, in theory usable on any linux distribution.
    
    1244
    -    fullyStaticBrokenTests (standardBuildsWithConfig Amd64 (Linux Alpine312) (splitSectionsBroken static))
    
    1245
    -  , fullyStaticBrokenTests (disableValidate (allowFailureGroup (standardBuildsWithConfig Amd64 (Linux Alpine312) staticNativeInt)))
    
    1238
    +    fullyStaticBrokenTests (standardBuildsWithConfig Amd64 (Linux Alpine322) (splitSectionsBroken static))
    
    1239
    +  , fullyStaticBrokenTests (disableValidate (allowFailureGroup (standardBuildsWithConfig Amd64 (Linux Alpine322) staticNativeInt)))
    
    1246 1240
         -- Dynamically linked build, suitable for building your own static executables on alpine
    
    1247
    -  , disableValidate (standardBuildsWithConfig Amd64 (Linux Alpine312) (splitSectionsBroken vanilla))
    
    1248
    -  , disableValidate (standardBuildsWithConfig Amd64 (Linux Alpine320) (splitSectionsBroken vanilla))
    
    1249
    -  , allowFailureGroup (standardBuildsWithConfig I386 (Linux Alpine320) (splitSectionsBroken vanilla))
    
    1241
    +  , disableValidate (standardBuildsWithConfig Amd64 (Linux Alpine322) (splitSectionsBroken vanilla))
    
    1242
    +  , allowFailureGroup (standardBuildsWithConfig I386 (Linux Alpine322) (splitSectionsBroken vanilla))
    
    1250 1243
       ]
    
    1251 1244
       where
    
    1252 1245
         -- ghcilink002 broken due to #17869
    
    ... ... @@ -1257,7 +1250,7 @@ alpine_x86 =
    1257 1250
     
    
    1258 1251
     alpine_aarch64 :: [JobGroup Job]
    
    1259 1252
     alpine_aarch64 = [
    
    1260
    -  disableValidate (standardBuildsWithConfig AArch64 (Linux Alpine318) (splitSectionsBroken vanilla))
    
    1253
    +  disableValidate (standardBuildsWithConfig AArch64 (Linux Alpine322) (splitSectionsBroken vanilla))
    
    1261 1254
       ]
    
    1262 1255
     
    
    1263 1256
     cross_jobs :: [JobGroup Job]
    
    ... ... @@ -1375,7 +1368,7 @@ mkPlatform arch opsys = archName arch <> "-" <> opsysName opsys
    1375 1368
     platform_mapping :: Map String (JobGroup BindistInfo)
    
    1376 1369
     platform_mapping = Map.map go combined_result
    
    1377 1370
       where
    
    1378
    -    whitelist = [ "x86_64-linux-alpine3_12-validate"
    
    1371
    +    whitelist = [ "x86_64-linux-alpine3_22-validate"
    
    1379 1372
                     , "x86_64-linux-deb11-validate"
    
    1380 1373
                     , "x86_64-linux-deb12-validate"
    
    1381 1374
                     , "x86_64-linux-deb10-validate+debug_info"
    
    ... ... @@ -1384,19 +1377,19 @@ platform_mapping = Map.map go combined_result
    1384 1377
                     , "x86_64-windows-validate"
    
    1385 1378
                     , "aarch64-linux-deb12-validate"
    
    1386 1379
                     , "aarch64-linux-deb12-wine-int_native-cross_aarch64-unknown-mingw32-validate"
    
    1387
    -                , "nightly-x86_64-linux-alpine3_20-wasm-cross_wasm32-wasi-release+host_fully_static+text_simdutf"
    
    1380
    +                , "nightly-x86_64-linux-alpine3_22-wasm-cross_wasm32-wasi-release+host_fully_static+text_simdutf"
    
    1388 1381
                     , "nightly-x86_64-linux-deb11-validate"
    
    1389 1382
                     , "nightly-x86_64-linux-deb12-validate"
    
    1390
    -                , "x86_64-linux-alpine3_20-wasm-cross_wasm32-wasi-release+host_fully_static+text_simdutf"
    
    1383
    +                , "x86_64-linux-alpine3_22-wasm-cross_wasm32-wasi-release+host_fully_static+text_simdutf"
    
    1391 1384
                     , "x86_64-linux-deb12-validate+thread_sanitizer_cmm"
    
    1392 1385
                     , "nightly-aarch64-linux-deb10-validate"
    
    1393 1386
                     , "nightly-aarch64-linux-deb12-validate"
    
    1394 1387
                     , "nightly-aarch64-linux-deb12-wine-int_native-cross_aarch64-unknown-mingw32-validate"
    
    1395
    -                , "nightly-x86_64-linux-alpine3_12-validate"
    
    1388
    +                , "nightly-x86_64-linux-alpine3_22-validate"
    
    1396 1389
                     , "nightly-x86_64-linux-deb10-validate"
    
    1397 1390
                     , "nightly-x86_64-linux-fedora33-release"
    
    1398 1391
                     , "nightly-x86_64-windows-validate"
    
    1399
    -                , "release-x86_64-linux-alpine3_12-release+no_split_sections"
    
    1392
    +                , "release-x86_64-linux-alpine3_22-release+no_split_sections"
    
    1400 1393
                     , "release-x86_64-linux-deb10-release"
    
    1401 1394
                     , "release-x86_64-linux-deb11-release"
    
    1402 1395
                     , "release-x86_64-linux-deb12-release"
    

  • .gitlab/jobs.yaml
    ... ... @@ -66,7 +66,7 @@
    66 66
           "TEST_ENV": "aarch64-darwin-validate"
    
    67 67
         }
    
    68 68
       },
    
    69
    -  "aarch64-linux-alpine3_18-validate": {
    
    69
    +  "aarch64-linux-alpine3_22-validate": {
    
    70 70
         "after_script": [
    
    71 71
           ".gitlab/ci.sh save_cache",
    
    72 72
           ".gitlab/ci.sh save_test_output",
    
    ... ... @@ -77,7 +77,7 @@
    77 77
         "artifacts": {
    
    78 78
           "expire_in": "2 weeks",
    
    79 79
           "paths": [
    
    80
    -        "ghc-aarch64-linux-alpine3_18-validate.tar.xz",
    
    80
    +        "ghc-aarch64-linux-alpine3_22-validate.tar.xz",
    
    81 81
             "junit.xml",
    
    82 82
             "unexpected-test-output.tar.gz"
    
    83 83
           ],
    
    ... ... @@ -87,14 +87,14 @@
    87 87
           "when": "always"
    
    88 88
         },
    
    89 89
         "cache": {
    
    90
    -      "key": "aarch64-linux-alpine3_18-$CACHE_REV",
    
    90
    +      "key": "aarch64-linux-alpine3_22-$CACHE_REV",
    
    91 91
           "paths": [
    
    92 92
             "cabal-cache",
    
    93 93
             "toolchain"
    
    94 94
           ]
    
    95 95
         },
    
    96 96
         "dependencies": [],
    
    97
    -    "image": "registry.gitlab.haskell.org/ghc/ci-images/aarch64-linux-alpine3_18:$DOCKER_REV",
    
    97
    +    "image": "registry.gitlab.haskell.org/ghc/ci-images/aarch64-linux-alpine3_22:$DOCKER_REV",
    
    98 98
         "needs": [
    
    99 99
           {
    
    100 100
             "artifacts": false,
    
    ... ... @@ -103,7 +103,7 @@
    103 103
         ],
    
    104 104
         "rules": [
    
    105 105
           {
    
    106
    -        "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\baarch64-linux-alpine3_18-validate(\\s|$).*/)) || (($ONLY_JOBS == null) && (\"disabled\" != \"disabled\"))) && ($RELEASE_JOB != \"yes\") && ($NIGHTLY == null)",
    
    106
    +        "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\baarch64-linux-alpine3_22-validate(\\s|$).*/)) || (($ONLY_JOBS == null) && (\"disabled\" != \"disabled\"))) && ($RELEASE_JOB != \"yes\") && ($NIGHTLY == null)",
    
    107 107
             "when": "on_success"
    
    108 108
           }
    
    109 109
         ],
    
    ... ... @@ -120,13 +120,13 @@
    120 120
         ],
    
    121 121
         "variables": {
    
    122 122
           "BIGNUM_BACKEND": "gmp",
    
    123
    -      "BIN_DIST_NAME": "ghc-aarch64-linux-alpine3_18-validate",
    
    123
    +      "BIN_DIST_NAME": "ghc-aarch64-linux-alpine3_22-validate",
    
    124 124
           "BROKEN_TESTS": "encoding004 T10458",
    
    125 125
           "BUILD_FLAVOUR": "validate",
    
    126 126
           "CONFIGURE_ARGS": "--disable-ld-override --enable-ignore-build-platform-mismatch --build=aarch64-unknown-linux --host=aarch64-unknown-linux --target=aarch64-unknown-linux --enable-strict-ghc-toolchain-check",
    
    127 127
           "INSTALL_CONFIGURE_ARGS": "--disable-ld-override --enable-strict-ghc-toolchain-check",
    
    128 128
           "RUNTEST_ARGS": "",
    
    129
    -      "TEST_ENV": "aarch64-linux-alpine3_18-validate"
    
    129
    +      "TEST_ENV": "aarch64-linux-alpine3_22-validate"
    
    130 130
         }
    
    131 131
       },
    
    132 132
       "aarch64-linux-deb10-validate": {
    
    ... ... @@ -477,7 +477,7 @@
    477 477
           "WindresCmd": "/opt/llvm-mingw-linux/bin/aarch64-w64-mingw32-windres"
    
    478 478
         }
    
    479 479
       },
    
    480
    -  "i386-linux-alpine3_20-validate": {
    
    480
    +  "i386-linux-alpine3_22-validate": {
    
    481 481
         "after_script": [
    
    482 482
           ".gitlab/ci.sh save_cache",
    
    483 483
           ".gitlab/ci.sh save_test_output",
    
    ... ... @@ -488,7 +488,7 @@
    488 488
         "artifacts": {
    
    489 489
           "expire_in": "2 weeks",
    
    490 490
           "paths": [
    
    491
    -        "ghc-i386-linux-alpine3_20-validate.tar.xz",
    
    491
    +        "ghc-i386-linux-alpine3_22-validate.tar.xz",
    
    492 492
             "junit.xml",
    
    493 493
             "unexpected-test-output.tar.gz"
    
    494 494
           ],
    
    ... ... @@ -498,14 +498,14 @@
    498 498
           "when": "always"
    
    499 499
         },
    
    500 500
         "cache": {
    
    501
    -      "key": "i386-linux-alpine3_20-$CACHE_REV",
    
    501
    +      "key": "i386-linux-alpine3_22-$CACHE_REV",
    
    502 502
           "paths": [
    
    503 503
             "cabal-cache",
    
    504 504
             "toolchain"
    
    505 505
           ]
    
    506 506
         },
    
    507 507
         "dependencies": [],
    
    508
    -    "image": "registry.gitlab.haskell.org/ghc/ci-images/i386-linux-alpine3_20:$DOCKER_REV",
    
    508
    +    "image": "registry.gitlab.haskell.org/ghc/ci-images/i386-linux-alpine3_22:$DOCKER_REV",
    
    509 509
         "needs": [
    
    510 510
           {
    
    511 511
             "artifacts": false,
    
    ... ... @@ -514,7 +514,7 @@
    514 514
         ],
    
    515 515
         "rules": [
    
    516 516
           {
    
    517
    -        "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\bi386-linux-alpine3_20-validate(\\s|$).*/)) || (($ONLY_JOBS == null) && ((($CI_MERGE_REQUEST_LABELS =~ /.*full-ci.*/) || ($CI_MERGE_REQUEST_LABELS =~ /.*marge_bot_batch_merge_job.*/) || ($CI_COMMIT_BRANCH == \"master\") || ($CI_COMMIT_BRANCH =~ /ghc-[0-9]+\\.[0-9]+/))))) && ($RELEASE_JOB != \"yes\") && ($NIGHTLY == null)",
    
    517
    +        "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\bi386-linux-alpine3_22-validate(\\s|$).*/)) || (($ONLY_JOBS == null) && ((($CI_MERGE_REQUEST_LABELS =~ /.*full-ci.*/) || ($CI_MERGE_REQUEST_LABELS =~ /.*marge_bot_batch_merge_job.*/) || ($CI_COMMIT_BRANCH == \"master\") || ($CI_COMMIT_BRANCH =~ /ghc-[0-9]+\\.[0-9]+/))))) && ($RELEASE_JOB != \"yes\") && ($NIGHTLY == null)",
    
    518 518
             "when": "on_success"
    
    519 519
           }
    
    520 520
         ],
    
    ... ... @@ -531,13 +531,13 @@
    531 531
         ],
    
    532 532
         "variables": {
    
    533 533
           "BIGNUM_BACKEND": "gmp",
    
    534
    -      "BIN_DIST_NAME": "ghc-i386-linux-alpine3_20-validate",
    
    534
    +      "BIN_DIST_NAME": "ghc-i386-linux-alpine3_22-validate",
    
    535 535
           "BROKEN_TESTS": "encoding004 T10458 simd009 T25169 T22033",
    
    536 536
           "BUILD_FLAVOUR": "validate",
    
    537 537
           "CONFIGURE_ARGS": "--disable-ld-override --enable-strict-ghc-toolchain-check",
    
    538 538
           "INSTALL_CONFIGURE_ARGS": "--disable-ld-override --enable-strict-ghc-toolchain-check",
    
    539 539
           "RUNTEST_ARGS": "",
    
    540
    -      "TEST_ENV": "i386-linux-alpine3_20-validate"
    
    540
    +      "TEST_ENV": "i386-linux-alpine3_22-validate"
    
    541 541
         }
    
    542 542
       },
    
    543 543
       "i386-linux-deb10-validate": {
    
    ... ... @@ -731,7 +731,7 @@
    731 731
           "XZ_OPT": "-9"
    
    732 732
         }
    
    733 733
       },
    
    734
    -  "nightly-aarch64-linux-alpine3_18-validate": {
    
    734
    +  "nightly-aarch64-linux-alpine3_22-validate": {
    
    735 735
         "after_script": [
    
    736 736
           ".gitlab/ci.sh save_cache",
    
    737 737
           ".gitlab/ci.sh save_test_output",
    
    ... ... @@ -742,7 +742,7 @@
    742 742
         "artifacts": {
    
    743 743
           "expire_in": "8 weeks",
    
    744 744
           "paths": [
    
    745
    -        "ghc-aarch64-linux-alpine3_18-validate.tar.xz",
    
    745
    +        "ghc-aarch64-linux-alpine3_22-validate.tar.xz",
    
    746 746
             "junit.xml",
    
    747 747
             "unexpected-test-output.tar.gz"
    
    748 748
           ],
    
    ... ... @@ -752,14 +752,14 @@
    752 752
           "when": "always"
    
    753 753
         },
    
    754 754
         "cache": {
    
    755
    -      "key": "aarch64-linux-alpine3_18-$CACHE_REV",
    
    755
    +      "key": "aarch64-linux-alpine3_22-$CACHE_REV",
    
    756 756
           "paths": [
    
    757 757
             "cabal-cache",
    
    758 758
             "toolchain"
    
    759 759
           ]
    
    760 760
         },
    
    761 761
         "dependencies": [],
    
    762
    -    "image": "registry.gitlab.haskell.org/ghc/ci-images/aarch64-linux-alpine3_18:$DOCKER_REV",
    
    762
    +    "image": "registry.gitlab.haskell.org/ghc/ci-images/aarch64-linux-alpine3_22:$DOCKER_REV",
    
    763 763
         "needs": [
    
    764 764
           {
    
    765 765
             "artifacts": false,
    
    ... ... @@ -785,13 +785,13 @@
    785 785
         ],
    
    786 786
         "variables": {
    
    787 787
           "BIGNUM_BACKEND": "gmp",
    
    788
    -      "BIN_DIST_NAME": "ghc-aarch64-linux-alpine3_18-validate",
    
    788
    +      "BIN_DIST_NAME": "ghc-aarch64-linux-alpine3_22-validate",
    
    789 789
           "BROKEN_TESTS": "encoding004 T10458",
    
    790 790
           "BUILD_FLAVOUR": "validate",
    
    791 791
           "CONFIGURE_ARGS": "--disable-ld-override --enable-ignore-build-platform-mismatch --build=aarch64-unknown-linux --host=aarch64-unknown-linux --target=aarch64-unknown-linux --enable-strict-ghc-toolchain-check",
    
    792 792
           "INSTALL_CONFIGURE_ARGS": "--disable-ld-override --enable-strict-ghc-toolchain-check",
    
    793 793
           "RUNTEST_ARGS": "",
    
    794
    -      "TEST_ENV": "aarch64-linux-alpine3_18-validate",
    
    794
    +      "TEST_ENV": "aarch64-linux-alpine3_22-validate",
    
    795 795
           "XZ_OPT": "-9"
    
    796 796
         }
    
    797 797
       },
    
    ... ... @@ -1148,7 +1148,7 @@
    1148 1148
           "XZ_OPT": "-9"
    
    1149 1149
         }
    
    1150 1150
       },
    
    1151
    -  "nightly-i386-linux-alpine3_20-validate": {
    
    1151
    +  "nightly-i386-linux-alpine3_22-validate": {
    
    1152 1152
         "after_script": [
    
    1153 1153
           ".gitlab/ci.sh save_cache",
    
    1154 1154
           ".gitlab/ci.sh save_test_output",
    
    ... ... @@ -1159,7 +1159,7 @@
    1159 1159
         "artifacts": {
    
    1160 1160
           "expire_in": "8 weeks",
    
    1161 1161
           "paths": [
    
    1162
    -        "ghc-i386-linux-alpine3_20-validate.tar.xz",
    
    1162
    +        "ghc-i386-linux-alpine3_22-validate.tar.xz",
    
    1163 1163
             "junit.xml",
    
    1164 1164
             "unexpected-test-output.tar.gz"
    
    1165 1165
           ],
    
    ... ... @@ -1169,14 +1169,14 @@
    1169 1169
           "when": "always"
    
    1170 1170
         },
    
    1171 1171
         "cache": {
    
    1172
    -      "key": "i386-linux-alpine3_20-$CACHE_REV",
    
    1172
    +      "key": "i386-linux-alpine3_22-$CACHE_REV",
    
    1173 1173
           "paths": [
    
    1174 1174
             "cabal-cache",
    
    1175 1175
             "toolchain"
    
    1176 1176
           ]
    
    1177 1177
         },
    
    1178 1178
         "dependencies": [],
    
    1179
    -    "image": "registry.gitlab.haskell.org/ghc/ci-images/i386-linux-alpine3_20:$DOCKER_REV",
    
    1179
    +    "image": "registry.gitlab.haskell.org/ghc/ci-images/i386-linux-alpine3_22:$DOCKER_REV",
    
    1180 1180
         "needs": [
    
    1181 1181
           {
    
    1182 1182
             "artifacts": false,
    
    ... ... @@ -1202,13 +1202,13 @@
    1202 1202
         ],
    
    1203 1203
         "variables": {
    
    1204 1204
           "BIGNUM_BACKEND": "gmp",
    
    1205
    -      "BIN_DIST_NAME": "ghc-i386-linux-alpine3_20-validate",
    
    1205
    +      "BIN_DIST_NAME": "ghc-i386-linux-alpine3_22-validate",
    
    1206 1206
           "BROKEN_TESTS": "encoding004 T10458 simd009 T25169 T22033",
    
    1207 1207
           "BUILD_FLAVOUR": "validate",
    
    1208 1208
           "CONFIGURE_ARGS": "--disable-ld-override --enable-strict-ghc-toolchain-check",
    
    1209 1209
           "INSTALL_CONFIGURE_ARGS": "--disable-ld-override --enable-strict-ghc-toolchain-check",
    
    1210 1210
           "RUNTEST_ARGS": "",
    
    1211
    -      "TEST_ENV": "i386-linux-alpine3_20-validate",
    
    1211
    +      "TEST_ENV": "i386-linux-alpine3_22-validate",
    
    1212 1212
           "XZ_OPT": "-9"
    
    1213 1213
         }
    
    1214 1214
       },
    
    ... ... @@ -1474,7 +1474,7 @@
    1474 1474
           "XZ_OPT": "-9"
    
    1475 1475
         }
    
    1476 1476
       },
    
    1477
    -  "nightly-x86_64-linux-alpine3_12-int_native-validate+fully_static": {
    
    1477
    +  "nightly-x86_64-linux-alpine3_22-int_native-validate+fully_static": {
    
    1478 1478
         "after_script": [
    
    1479 1479
           ".gitlab/ci.sh save_cache",
    
    1480 1480
           ".gitlab/ci.sh save_test_output",
    
    ... ... @@ -1485,7 +1485,7 @@
    1485 1485
         "artifacts": {
    
    1486 1486
           "expire_in": "8 weeks",
    
    1487 1487
           "paths": [
    
    1488
    -        "ghc-x86_64-linux-alpine3_12-int_native-validate+fully_static.tar.xz",
    
    1488
    +        "ghc-x86_64-linux-alpine3_22-int_native-validate+fully_static.tar.xz",
    
    1489 1489
             "junit.xml",
    
    1490 1490
             "unexpected-test-output.tar.gz"
    
    1491 1491
           ],
    
    ... ... @@ -1495,14 +1495,14 @@
    1495 1495
           "when": "always"
    
    1496 1496
         },
    
    1497 1497
         "cache": {
    
    1498
    -      "key": "x86_64-linux-alpine3_12-$CACHE_REV",
    
    1498
    +      "key": "x86_64-linux-alpine3_22-$CACHE_REV",
    
    1499 1499
           "paths": [
    
    1500 1500
             "cabal-cache",
    
    1501 1501
             "toolchain"
    
    1502 1502
           ]
    
    1503 1503
         },
    
    1504 1504
         "dependencies": [],
    
    1505
    -    "image": "registry.gitlab.haskell.org/ghc/ci-images/x86_64-linux-alpine3_12:$DOCKER_REV",
    
    1505
    +    "image": "registry.gitlab.haskell.org/ghc/ci-images/x86_64-linux-alpine3_22:$DOCKER_REV",
    
    1506 1506
         "needs": [
    
    1507 1507
           {
    
    1508 1508
             "artifacts": false,
    
    ... ... @@ -1528,17 +1528,17 @@
    1528 1528
         ],
    
    1529 1529
         "variables": {
    
    1530 1530
           "BIGNUM_BACKEND": "native",
    
    1531
    -      "BIN_DIST_NAME": "ghc-x86_64-linux-alpine3_12-int_native-validate+fully_static",
    
    1531
    +      "BIN_DIST_NAME": "ghc-x86_64-linux-alpine3_22-int_native-validate+fully_static",
    
    1532 1532
           "BROKEN_TESTS": "ghcilink002 linker_unload_native encoding004 T10458",
    
    1533 1533
           "BUILD_FLAVOUR": "validate+fully_static",
    
    1534 1534
           "CONFIGURE_ARGS": "--disable-ld-override --enable-strict-ghc-toolchain-check",
    
    1535 1535
           "INSTALL_CONFIGURE_ARGS": "--disable-ld-override --enable-strict-ghc-toolchain-check",
    
    1536 1536
           "RUNTEST_ARGS": "",
    
    1537
    -      "TEST_ENV": "x86_64-linux-alpine3_12-int_native-validate+fully_static",
    
    1537
    +      "TEST_ENV": "x86_64-linux-alpine3_22-int_native-validate+fully_static",
    
    1538 1538
           "XZ_OPT": "-9"
    
    1539 1539
         }
    
    1540 1540
       },
    
    1541
    -  "nightly-x86_64-linux-alpine3_12-validate": {
    
    1541
    +  "nightly-x86_64-linux-alpine3_22-validate": {
    
    1542 1542
         "after_script": [
    
    1543 1543
           ".gitlab/ci.sh save_cache",
    
    1544 1544
           ".gitlab/ci.sh save_test_output",
    
    ... ... @@ -1549,7 +1549,7 @@
    1549 1549
         "artifacts": {
    
    1550 1550
           "expire_in": "8 weeks",
    
    1551 1551
           "paths": [
    
    1552
    -        "ghc-x86_64-linux-alpine3_12-validate.tar.xz",
    
    1552
    +        "ghc-x86_64-linux-alpine3_22-validate.tar.xz",
    
    1553 1553
             "junit.xml",
    
    1554 1554
             "unexpected-test-output.tar.gz"
    
    1555 1555
           ],
    
    ... ... @@ -1559,14 +1559,14 @@
    1559 1559
           "when": "always"
    
    1560 1560
         },
    
    1561 1561
         "cache": {
    
    1562
    -      "key": "x86_64-linux-alpine3_12-$CACHE_REV",
    
    1562
    +      "key": "x86_64-linux-alpine3_22-$CACHE_REV",
    
    1563 1563
           "paths": [
    
    1564 1564
             "cabal-cache",
    
    1565 1565
             "toolchain"
    
    1566 1566
           ]
    
    1567 1567
         },
    
    1568 1568
         "dependencies": [],
    
    1569
    -    "image": "registry.gitlab.haskell.org/ghc/ci-images/x86_64-linux-alpine3_12:$DOCKER_REV",
    
    1569
    +    "image": "registry.gitlab.haskell.org/ghc/ci-images/x86_64-linux-alpine3_22:$DOCKER_REV",
    
    1570 1570
         "needs": [
    
    1571 1571
           {
    
    1572 1572
             "artifacts": false,
    
    ... ... @@ -1592,17 +1592,17 @@
    1592 1592
         ],
    
    1593 1593
         "variables": {
    
    1594 1594
           "BIGNUM_BACKEND": "gmp",
    
    1595
    -      "BIN_DIST_NAME": "ghc-x86_64-linux-alpine3_12-validate",
    
    1595
    +      "BIN_DIST_NAME": "ghc-x86_64-linux-alpine3_22-validate",
    
    1596 1596
           "BROKEN_TESTS": "encoding004 T10458",
    
    1597 1597
           "BUILD_FLAVOUR": "validate",
    
    1598 1598
           "CONFIGURE_ARGS": "--disable-ld-override --enable-strict-ghc-toolchain-check",
    
    1599 1599
           "INSTALL_CONFIGURE_ARGS": "--disable-ld-override --enable-strict-ghc-toolchain-check",
    
    1600 1600
           "RUNTEST_ARGS": "",
    
    1601
    -      "TEST_ENV": "x86_64-linux-alpine3_12-validate",
    
    1601
    +      "TEST_ENV": "x86_64-linux-alpine3_22-validate",
    
    1602 1602
           "XZ_OPT": "-9"
    
    1603 1603
         }
    
    1604 1604
       },
    
    1605
    -  "nightly-x86_64-linux-alpine3_12-validate+fully_static": {
    
    1605
    +  "nightly-x86_64-linux-alpine3_22-validate+fully_static": {
    
    1606 1606
         "after_script": [
    
    1607 1607
           ".gitlab/ci.sh save_cache",
    
    1608 1608
           ".gitlab/ci.sh save_test_output",
    
    ... ... @@ -1613,7 +1613,7 @@
    1613 1613
         "artifacts": {
    
    1614 1614
           "expire_in": "8 weeks",
    
    1615 1615
           "paths": [
    
    1616
    -        "ghc-x86_64-linux-alpine3_12-validate+fully_static.tar.xz",
    
    1616
    +        "ghc-x86_64-linux-alpine3_22-validate+fully_static.tar.xz",
    
    1617 1617
             "junit.xml",
    
    1618 1618
             "unexpected-test-output.tar.gz"
    
    1619 1619
           ],
    
    ... ... @@ -1623,14 +1623,14 @@
    1623 1623
           "when": "always"
    
    1624 1624
         },
    
    1625 1625
         "cache": {
    
    1626
    -      "key": "x86_64-linux-alpine3_12-$CACHE_REV",
    
    1626
    +      "key": "x86_64-linux-alpine3_22-$CACHE_REV",
    
    1627 1627
           "paths": [
    
    1628 1628
             "cabal-cache",
    
    1629 1629
             "toolchain"
    
    1630 1630
           ]
    
    1631 1631
         },
    
    1632 1632
         "dependencies": [],
    
    1633
    -    "image": "registry.gitlab.haskell.org/ghc/ci-images/x86_64-linux-alpine3_12:$DOCKER_REV",
    
    1633
    +    "image": "registry.gitlab.haskell.org/ghc/ci-images/x86_64-linux-alpine3_22:$DOCKER_REV",
    
    1634 1634
         "needs": [
    
    1635 1635
           {
    
    1636 1636
             "artifacts": false,
    
    ... ... @@ -1656,17 +1656,17 @@
    1656 1656
         ],
    
    1657 1657
         "variables": {
    
    1658 1658
           "BIGNUM_BACKEND": "gmp",
    
    1659
    -      "BIN_DIST_NAME": "ghc-x86_64-linux-alpine3_12-validate+fully_static",
    
    1659
    +      "BIN_DIST_NAME": "ghc-x86_64-linux-alpine3_22-validate+fully_static",
    
    1660 1660
           "BROKEN_TESTS": "ghcilink002 linker_unload_native encoding004 T10458",
    
    1661 1661
           "BUILD_FLAVOUR": "validate+fully_static",
    
    1662 1662
           "CONFIGURE_ARGS": "--disable-ld-override --enable-strict-ghc-toolchain-check",
    
    1663 1663
           "INSTALL_CONFIGURE_ARGS": "--disable-ld-override --enable-strict-ghc-toolchain-check",
    
    1664 1664
           "RUNTEST_ARGS": "",
    
    1665
    -      "TEST_ENV": "x86_64-linux-alpine3_12-validate+fully_static",
    
    1665
    +      "TEST_ENV": "x86_64-linux-alpine3_22-validate+fully_static",
    
    1666 1666
           "XZ_OPT": "-9"
    
    1667 1667
         }
    
    1668 1668
       },
    
    1669
    -  "nightly-x86_64-linux-alpine3_20-validate": {
    
    1669
    +  "nightly-x86_64-linux-alpine3_22-wasm-cross_wasm32-wasi-release+host_fully_static+text_simdutf": {
    
    1670 1670
         "after_script": [
    
    1671 1671
           ".gitlab/ci.sh save_cache",
    
    1672 1672
           ".gitlab/ci.sh save_test_output",
    
    ... ... @@ -1677,7 +1677,7 @@
    1677 1677
         "artifacts": {
    
    1678 1678
           "expire_in": "8 weeks",
    
    1679 1679
           "paths": [
    
    1680
    -        "ghc-x86_64-linux-alpine3_20-validate.tar.xz",
    
    1680
    +        "ghc-x86_64-linux-alpine3_22-wasm-cross_wasm32-wasi-release+host_fully_static+text_simdutf.tar.xz",
    
    1681 1681
             "junit.xml",
    
    1682 1682
             "unexpected-test-output.tar.gz"
    
    1683 1683
           ],
    
    ... ... @@ -1687,14 +1687,14 @@
    1687 1687
           "when": "always"
    
    1688 1688
         },
    
    1689 1689
         "cache": {
    
    1690
    -      "key": "x86_64-linux-alpine3_20-$CACHE_REV",
    
    1690
    +      "key": "x86_64-linux-alpine3_22-wasm-$CACHE_REV",
    
    1691 1691
           "paths": [
    
    1692 1692
             "cabal-cache",
    
    1693 1693
             "toolchain"
    
    1694 1694
           ]
    
    1695 1695
         },
    
    1696 1696
         "dependencies": [],
    
    1697
    -    "image": "registry.gitlab.haskell.org/ghc/ci-images/x86_64-linux-alpine3_20:$DOCKER_REV",
    
    1697
    +    "image": "registry.gitlab.haskell.org/ghc/ci-images/x86_64-linux-alpine3_22-wasm:$DOCKER_REV",
    
    1698 1698
         "needs": [
    
    1699 1699
           {
    
    1700 1700
             "artifacts": false,
    
    ... ... @@ -1720,82 +1720,18 @@
    1720 1720
         ],
    
    1721 1721
         "variables": {
    
    1722 1722
           "BIGNUM_BACKEND": "gmp",
    
    1723
    -      "BIN_DIST_NAME": "ghc-x86_64-linux-alpine3_20-validate",
    
    1724
    -      "BROKEN_TESTS": "encoding004 T10458",
    
    1725
    -      "BUILD_FLAVOUR": "validate",
    
    1726
    -      "CONFIGURE_ARGS": "--disable-ld-override --enable-strict-ghc-toolchain-check",
    
    1727
    -      "INSTALL_CONFIGURE_ARGS": "--disable-ld-override --enable-strict-ghc-toolchain-check",
    
    1728
    -      "RUNTEST_ARGS": "",
    
    1729
    -      "TEST_ENV": "x86_64-linux-alpine3_20-validate",
    
    1730
    -      "XZ_OPT": "-9"
    
    1731
    -    }
    
    1732
    -  },
    
    1733
    -  "nightly-x86_64-linux-alpine3_20-wasm-cross_wasm32-wasi-release+host_fully_static+text_simdutf": {
    
    1734
    -    "after_script": [
    
    1735
    -      ".gitlab/ci.sh save_cache",
    
    1736
    -      ".gitlab/ci.sh save_test_output",
    
    1737
    -      ".gitlab/ci.sh clean",
    
    1738
    -      "cat ci_timings.txt"
    
    1739
    -    ],
    
    1740
    -    "allow_failure": false,
    
    1741
    -    "artifacts": {
    
    1742
    -      "expire_in": "8 weeks",
    
    1743
    -      "paths": [
    
    1744
    -        "ghc-x86_64-linux-alpine3_20-wasm-cross_wasm32-wasi-release+host_fully_static+text_simdutf.tar.xz",
    
    1745
    -        "junit.xml",
    
    1746
    -        "unexpected-test-output.tar.gz"
    
    1747
    -      ],
    
    1748
    -      "reports": {
    
    1749
    -        "junit": "junit.xml"
    
    1750
    -      },
    
    1751
    -      "when": "always"
    
    1752
    -    },
    
    1753
    -    "cache": {
    
    1754
    -      "key": "x86_64-linux-alpine3_20-wasm-$CACHE_REV",
    
    1755
    -      "paths": [
    
    1756
    -        "cabal-cache",
    
    1757
    -        "toolchain"
    
    1758
    -      ]
    
    1759
    -    },
    
    1760
    -    "dependencies": [],
    
    1761
    -    "image": "registry.gitlab.haskell.org/ghc/ci-images/x86_64-linux-alpine3_20-wasm:$DOCKER_REV",
    
    1762
    -    "needs": [
    
    1763
    -      {
    
    1764
    -        "artifacts": false,
    
    1765
    -        "job": "hadrian-ghc-in-ghci"
    
    1766
    -      }
    
    1767
    -    ],
    
    1768
    -    "rules": [
    
    1769
    -      {
    
    1770
    -        "if": "(\"true\" == \"true\") && ($RELEASE_JOB != \"yes\") && ($NIGHTLY)",
    
    1771
    -        "when": "on_success"
    
    1772
    -      }
    
    1773
    -    ],
    
    1774
    -    "script": [
    
    1775
    -      "sudo chown ghc:ghc -R .",
    
    1776
    -      ".gitlab/ci.sh setup",
    
    1777
    -      ".gitlab/ci.sh configure",
    
    1778
    -      ".gitlab/ci.sh build_hadrian",
    
    1779
    -      ".gitlab/ci.sh test_hadrian"
    
    1780
    -    ],
    
    1781
    -    "stage": "full-build",
    
    1782
    -    "tags": [
    
    1783
    -      "x86_64-linux"
    
    1784
    -    ],
    
    1785
    -    "variables": {
    
    1786
    -      "BIGNUM_BACKEND": "gmp",
    
    1787
    -      "BIN_DIST_NAME": "ghc-x86_64-linux-alpine3_20-wasm-cross_wasm32-wasi-release+host_fully_static+text_simdutf",
    
    1723
    +      "BIN_DIST_NAME": "ghc-x86_64-linux-alpine3_22-wasm-cross_wasm32-wasi-release+host_fully_static+text_simdutf",
    
    1788 1724
           "BUILD_FLAVOUR": "release+host_fully_static+text_simdutf",
    
    1789 1725
           "CONFIGURE_ARGS": "--with-intree-gmp --with-system-libffi --enable-strict-ghc-toolchain-check",
    
    1790 1726
           "CROSS_TARGET": "wasm32-wasi",
    
    1791 1727
           "FIREFOX_LAUNCH_OPTS": "{\"browser\":\"firefox\",\"executablePath\":\"/usr/bin/firefox\"}",
    
    1792 1728
           "HADRIAN_ARGS": "--docs=no-sphinx-pdfs --docs=no-sphinx-man",
    
    1793 1729
           "RUNTEST_ARGS": "",
    
    1794
    -      "TEST_ENV": "x86_64-linux-alpine3_20-wasm-cross_wasm32-wasi-release+host_fully_static+text_simdutf",
    
    1730
    +      "TEST_ENV": "x86_64-linux-alpine3_22-wasm-cross_wasm32-wasi-release+host_fully_static+text_simdutf",
    
    1795 1731
           "XZ_OPT": "-9"
    
    1796 1732
         }
    
    1797 1733
       },
    
    1798
    -  "nightly-x86_64-linux-alpine3_20-wasm-int_native-cross_wasm32-wasi-release+host_fully_static+text_simdutf": {
    
    1734
    +  "nightly-x86_64-linux-alpine3_22-wasm-int_native-cross_wasm32-wasi-release+host_fully_static+text_simdutf": {
    
    1799 1735
         "after_script": [
    
    1800 1736
           ".gitlab/ci.sh save_cache",
    
    1801 1737
           ".gitlab/ci.sh save_test_output",
    
    ... ... @@ -1806,7 +1742,7 @@
    1806 1742
         "artifacts": {
    
    1807 1743
           "expire_in": "8 weeks",
    
    1808 1744
           "paths": [
    
    1809
    -        "ghc-x86_64-linux-alpine3_20-wasm-int_native-cross_wasm32-wasi-release+host_fully_static+text_simdutf.tar.xz",
    
    1745
    +        "ghc-x86_64-linux-alpine3_22-wasm-int_native-cross_wasm32-wasi-release+host_fully_static+text_simdutf.tar.xz",
    
    1810 1746
             "junit.xml",
    
    1811 1747
             "unexpected-test-output.tar.gz"
    
    1812 1748
           ],
    
    ... ... @@ -1816,14 +1752,14 @@
    1816 1752
           "when": "always"
    
    1817 1753
         },
    
    1818 1754
         "cache": {
    
    1819
    -      "key": "x86_64-linux-alpine3_20-wasm-$CACHE_REV",
    
    1755
    +      "key": "x86_64-linux-alpine3_22-wasm-$CACHE_REV",
    
    1820 1756
           "paths": [
    
    1821 1757
             "cabal-cache",
    
    1822 1758
             "toolchain"
    
    1823 1759
           ]
    
    1824 1760
         },
    
    1825 1761
         "dependencies": [],
    
    1826
    -    "image": "registry.gitlab.haskell.org/ghc/ci-images/x86_64-linux-alpine3_20-wasm:$DOCKER_REV",
    
    1762
    +    "image": "registry.gitlab.haskell.org/ghc/ci-images/x86_64-linux-alpine3_22-wasm:$DOCKER_REV",
    
    1827 1763
         "needs": [
    
    1828 1764
           {
    
    1829 1765
             "artifacts": false,
    
    ... ... @@ -1849,18 +1785,18 @@
    1849 1785
         ],
    
    1850 1786
         "variables": {
    
    1851 1787
           "BIGNUM_BACKEND": "native",
    
    1852
    -      "BIN_DIST_NAME": "ghc-x86_64-linux-alpine3_20-wasm-int_native-cross_wasm32-wasi-release+host_fully_static+text_simdutf",
    
    1788
    +      "BIN_DIST_NAME": "ghc-x86_64-linux-alpine3_22-wasm-int_native-cross_wasm32-wasi-release+host_fully_static+text_simdutf",
    
    1853 1789
           "BUILD_FLAVOUR": "release+host_fully_static+text_simdutf",
    
    1854 1790
           "CONFIGURE_ARGS": "--with-intree-gmp --with-system-libffi --enable-strict-ghc-toolchain-check",
    
    1855 1791
           "CROSS_TARGET": "wasm32-wasi",
    
    1856 1792
           "FIREFOX_LAUNCH_OPTS": "{\"browser\":\"firefox\",\"executablePath\":\"/usr/bin/firefox\"}",
    
    1857 1793
           "HADRIAN_ARGS": "--docs=no-sphinx-pdfs --docs=no-sphinx-man",
    
    1858 1794
           "RUNTEST_ARGS": "",
    
    1859
    -      "TEST_ENV": "x86_64-linux-alpine3_20-wasm-int_native-cross_wasm32-wasi-release+host_fully_static+text_simdutf",
    
    1795
    +      "TEST_ENV": "x86_64-linux-alpine3_22-wasm-int_native-cross_wasm32-wasi-release+host_fully_static+text_simdutf",
    
    1860 1796
           "XZ_OPT": "-9"
    
    1861 1797
         }
    
    1862 1798
       },
    
    1863
    -  "nightly-x86_64-linux-alpine3_20-wasm-unreg-cross_wasm32-wasi-release+host_fully_static+text_simdutf": {
    
    1799
    +  "nightly-x86_64-linux-alpine3_22-wasm-unreg-cross_wasm32-wasi-release+host_fully_static+text_simdutf": {
    
    1864 1800
         "after_script": [
    
    1865 1801
           ".gitlab/ci.sh save_cache",
    
    1866 1802
           ".gitlab/ci.sh save_test_output",
    
    ... ... @@ -1871,7 +1807,7 @@
    1871 1807
         "artifacts": {
    
    1872 1808
           "expire_in": "8 weeks",
    
    1873 1809
           "paths": [
    
    1874
    -        "ghc-x86_64-linux-alpine3_20-wasm-unreg-cross_wasm32-wasi-release+host_fully_static+text_simdutf.tar.xz",
    
    1810
    +        "ghc-x86_64-linux-alpine3_22-wasm-unreg-cross_wasm32-wasi-release+host_fully_static+text_simdutf.tar.xz",
    
    1875 1811
             "junit.xml",
    
    1876 1812
             "unexpected-test-output.tar.gz"
    
    1877 1813
           ],
    
    ... ... @@ -1881,14 +1817,14 @@
    1881 1817
           "when": "always"
    
    1882 1818
         },
    
    1883 1819
         "cache": {
    
    1884
    -      "key": "x86_64-linux-alpine3_20-wasm-$CACHE_REV",
    
    1820
    +      "key": "x86_64-linux-alpine3_22-wasm-$CACHE_REV",
    
    1885 1821
           "paths": [
    
    1886 1822
             "cabal-cache",
    
    1887 1823
             "toolchain"
    
    1888 1824
           ]
    
    1889 1825
         },
    
    1890 1826
         "dependencies": [],
    
    1891
    -    "image": "registry.gitlab.haskell.org/ghc/ci-images/x86_64-linux-alpine3_20-wasm:$DOCKER_REV",
    
    1827
    +    "image": "registry.gitlab.haskell.org/ghc/ci-images/x86_64-linux-alpine3_22-wasm:$DOCKER_REV",
    
    1892 1828
         "needs": [
    
    1893 1829
           {
    
    1894 1830
             "artifacts": false,
    
    ... ... @@ -1914,14 +1850,14 @@
    1914 1850
         ],
    
    1915 1851
         "variables": {
    
    1916 1852
           "BIGNUM_BACKEND": "gmp",
    
    1917
    -      "BIN_DIST_NAME": "ghc-x86_64-linux-alpine3_20-wasm-unreg-cross_wasm32-wasi-release+host_fully_static+text_simdutf",
    
    1853
    +      "BIN_DIST_NAME": "ghc-x86_64-linux-alpine3_22-wasm-unreg-cross_wasm32-wasi-release+host_fully_static+text_simdutf",
    
    1918 1854
           "BUILD_FLAVOUR": "release+host_fully_static+text_simdutf",
    
    1919 1855
           "CONFIGURE_ARGS": "--enable-unregisterised --with-intree-gmp --with-system-libffi --enable-strict-ghc-toolchain-check",
    
    1920 1856
           "CROSS_TARGET": "wasm32-wasi",
    
    1921 1857
           "FIREFOX_LAUNCH_OPTS": "{\"browser\":\"firefox\",\"executablePath\":\"/usr/bin/firefox\"}",
    
    1922 1858
           "HADRIAN_ARGS": "--docs=no-sphinx-pdfs --docs=no-sphinx-man",
    
    1923 1859
           "RUNTEST_ARGS": "",
    
    1924
    -      "TEST_ENV": "x86_64-linux-alpine3_20-wasm-unreg-cross_wasm32-wasi-release+host_fully_static+text_simdutf",
    
    1860
    +      "TEST_ENV": "x86_64-linux-alpine3_22-wasm-unreg-cross_wasm32-wasi-release+host_fully_static+text_simdutf",
    
    1925 1861
           "XZ_OPT": "-9"
    
    1926 1862
         }
    
    1927 1863
       },
    
    ... ... @@ -3839,7 +3775,7 @@
    3839 3775
           "XZ_OPT": "-9"
    
    3840 3776
         }
    
    3841 3777
       },
    
    3842
    -  "release-aarch64-linux-alpine3_18-release+no_split_sections": {
    
    3778
    +  "release-aarch64-linux-alpine3_22-release+no_split_sections": {
    
    3843 3779
         "after_script": [
    
    3844 3780
           ".gitlab/ci.sh save_cache",
    
    3845 3781
           ".gitlab/ci.sh save_test_output",
    
    ... ... @@ -3850,7 +3786,7 @@
    3850 3786
         "artifacts": {
    
    3851 3787
           "expire_in": "1 year",
    
    3852 3788
           "paths": [
    
    3853
    -        "ghc-aarch64-linux-alpine3_18-release+no_split_sections.tar.xz",
    
    3789
    +        "ghc-aarch64-linux-alpine3_22-release+no_split_sections.tar.xz",
    
    3854 3790
             "junit.xml",
    
    3855 3791
             "unexpected-test-output.tar.gz"
    
    3856 3792
           ],
    
    ... ... @@ -3860,14 +3796,14 @@
    3860 3796
           "when": "always"
    
    3861 3797
         },
    
    3862 3798
         "cache": {
    
    3863
    -      "key": "aarch64-linux-alpine3_18-$CACHE_REV",
    
    3799
    +      "key": "aarch64-linux-alpine3_22-$CACHE_REV",
    
    3864 3800
           "paths": [
    
    3865 3801
             "cabal-cache",
    
    3866 3802
             "toolchain"
    
    3867 3803
           ]
    
    3868 3804
         },
    
    3869 3805
         "dependencies": [],
    
    3870
    -    "image": "registry.gitlab.haskell.org/ghc/ci-images/aarch64-linux-alpine3_18:$DOCKER_REV",
    
    3806
    +    "image": "registry.gitlab.haskell.org/ghc/ci-images/aarch64-linux-alpine3_22:$DOCKER_REV",
    
    3871 3807
         "needs": [
    
    3872 3808
           {
    
    3873 3809
             "artifacts": false,
    
    ... ... @@ -3893,14 +3829,14 @@
    3893 3829
         ],
    
    3894 3830
         "variables": {
    
    3895 3831
           "BIGNUM_BACKEND": "gmp",
    
    3896
    -      "BIN_DIST_NAME": "ghc-aarch64-linux-alpine3_18-release+no_split_sections",
    
    3832
    +      "BIN_DIST_NAME": "ghc-aarch64-linux-alpine3_22-release+no_split_sections",
    
    3897 3833
           "BROKEN_TESTS": "encoding004 T10458",
    
    3898 3834
           "BUILD_FLAVOUR": "release+no_split_sections",
    
    3899 3835
           "CONFIGURE_ARGS": "--disable-ld-override --enable-ignore-build-platform-mismatch --build=aarch64-unknown-linux --host=aarch64-unknown-linux --target=aarch64-unknown-linux --enable-strict-ghc-toolchain-check",
    
    3900 3836
           "IGNORE_PERF_FAILURES": "all",
    
    3901 3837
           "INSTALL_CONFIGURE_ARGS": "--disable-ld-override --enable-strict-ghc-toolchain-check",
    
    3902 3838
           "RUNTEST_ARGS": "",
    
    3903
    -      "TEST_ENV": "aarch64-linux-alpine3_18-release+no_split_sections",
    
    3839
    +      "TEST_ENV": "aarch64-linux-alpine3_22-release+no_split_sections",
    
    3904 3840
           "XZ_OPT": "-9"
    
    3905 3841
         }
    
    3906 3842
       },
    
    ... ... @@ -4032,7 +3968,7 @@
    4032 3968
           "XZ_OPT": "-9"
    
    4033 3969
         }
    
    4034 3970
       },
    
    4035
    -  "release-i386-linux-alpine3_20-release+no_split_sections": {
    
    3971
    +  "release-i386-linux-alpine3_22-release+no_split_sections": {
    
    4036 3972
         "after_script": [
    
    4037 3973
           ".gitlab/ci.sh save_cache",
    
    4038 3974
           ".gitlab/ci.sh save_test_output",
    
    ... ... @@ -4043,7 +3979,7 @@
    4043 3979
         "artifacts": {
    
    4044 3980
           "expire_in": "1 year",
    
    4045 3981
           "paths": [
    
    4046
    -        "ghc-i386-linux-alpine3_20-release+no_split_sections.tar.xz",
    
    3982
    +        "ghc-i386-linux-alpine3_22-release+no_split_sections.tar.xz",
    
    4047 3983
             "junit.xml",
    
    4048 3984
             "unexpected-test-output.tar.gz"
    
    4049 3985
           ],
    
    ... ... @@ -4053,14 +3989,14 @@
    4053 3989
           "when": "always"
    
    4054 3990
         },
    
    4055 3991
         "cache": {
    
    4056
    -      "key": "i386-linux-alpine3_20-$CACHE_REV",
    
    3992
    +      "key": "i386-linux-alpine3_22-$CACHE_REV",
    
    4057 3993
           "paths": [
    
    4058 3994
             "cabal-cache",
    
    4059 3995
             "toolchain"
    
    4060 3996
           ]
    
    4061 3997
         },
    
    4062 3998
         "dependencies": [],
    
    4063
    -    "image": "registry.gitlab.haskell.org/ghc/ci-images/i386-linux-alpine3_20:$DOCKER_REV",
    
    3999
    +    "image": "registry.gitlab.haskell.org/ghc/ci-images/i386-linux-alpine3_22:$DOCKER_REV",
    
    4064 4000
         "needs": [
    
    4065 4001
           {
    
    4066 4002
             "artifacts": false,
    
    ... ... @@ -4086,14 +4022,14 @@
    4086 4022
         ],
    
    4087 4023
         "variables": {
    
    4088 4024
           "BIGNUM_BACKEND": "gmp",
    
    4089
    -      "BIN_DIST_NAME": "ghc-i386-linux-alpine3_20-release+no_split_sections",
    
    4025
    +      "BIN_DIST_NAME": "ghc-i386-linux-alpine3_22-release+no_split_sections",
    
    4090 4026
           "BROKEN_TESTS": "encoding004 T10458 simd009 T25169 T22033",
    
    4091 4027
           "BUILD_FLAVOUR": "release+no_split_sections",
    
    4092 4028
           "CONFIGURE_ARGS": "--disable-ld-override --enable-strict-ghc-toolchain-check",
    
    4093 4029
           "IGNORE_PERF_FAILURES": "all",
    
    4094 4030
           "INSTALL_CONFIGURE_ARGS": "--disable-ld-override --enable-strict-ghc-toolchain-check",
    
    4095 4031
           "RUNTEST_ARGS": "",
    
    4096
    -      "TEST_ENV": "i386-linux-alpine3_20-release+no_split_sections",
    
    4032
    +      "TEST_ENV": "i386-linux-alpine3_22-release+no_split_sections",
    
    4097 4033
           "XZ_OPT": "-9"
    
    4098 4034
         }
    
    4099 4035
       },
    
    ... ... @@ -4363,7 +4299,7 @@
    4363 4299
           "XZ_OPT": "-9"
    
    4364 4300
         }
    
    4365 4301
       },
    
    4366
    -  "release-x86_64-linux-alpine3_12-int_native-release+fully_static": {
    
    4302
    +  "release-x86_64-linux-alpine3_22-int_native-release+fully_static": {
    
    4367 4303
         "after_script": [
    
    4368 4304
           ".gitlab/ci.sh save_cache",
    
    4369 4305
           ".gitlab/ci.sh save_test_output",
    
    ... ... @@ -4374,7 +4310,7 @@
    4374 4310
         "artifacts": {
    
    4375 4311
           "expire_in": "1 year",
    
    4376 4312
           "paths": [
    
    4377
    -        "ghc-x86_64-linux-alpine3_12-int_native-release+fully_static.tar.xz",
    
    4313
    +        "ghc-x86_64-linux-alpine3_22-int_native-release+fully_static.tar.xz",
    
    4378 4314
             "junit.xml",
    
    4379 4315
             "unexpected-test-output.tar.gz"
    
    4380 4316
           ],
    
    ... ... @@ -4384,14 +4320,14 @@
    4384 4320
           "when": "always"
    
    4385 4321
         },
    
    4386 4322
         "cache": {
    
    4387
    -      "key": "x86_64-linux-alpine3_12-$CACHE_REV",
    
    4323
    +      "key": "x86_64-linux-alpine3_22-$CACHE_REV",
    
    4388 4324
           "paths": [
    
    4389 4325
             "cabal-cache",
    
    4390 4326
             "toolchain"
    
    4391 4327
           ]
    
    4392 4328
         },
    
    4393 4329
         "dependencies": [],
    
    4394
    -    "image": "registry.gitlab.haskell.org/ghc/ci-images/x86_64-linux-alpine3_12:$DOCKER_REV",
    
    4330
    +    "image": "registry.gitlab.haskell.org/ghc/ci-images/x86_64-linux-alpine3_22:$DOCKER_REV",
    
    4395 4331
         "needs": [
    
    4396 4332
           {
    
    4397 4333
             "artifacts": false,
    
    ... ... @@ -4417,18 +4353,18 @@
    4417 4353
         ],
    
    4418 4354
         "variables": {
    
    4419 4355
           "BIGNUM_BACKEND": "native",
    
    4420
    -      "BIN_DIST_NAME": "ghc-x86_64-linux-alpine3_12-int_native-release+fully_static",
    
    4356
    +      "BIN_DIST_NAME": "ghc-x86_64-linux-alpine3_22-int_native-release+fully_static",
    
    4421 4357
           "BROKEN_TESTS": "ghcilink002 linker_unload_native encoding004 T10458",
    
    4422 4358
           "BUILD_FLAVOUR": "release+fully_static",
    
    4423 4359
           "CONFIGURE_ARGS": "--disable-ld-override --enable-strict-ghc-toolchain-check",
    
    4424 4360
           "IGNORE_PERF_FAILURES": "all",
    
    4425 4361
           "INSTALL_CONFIGURE_ARGS": "--disable-ld-override --enable-strict-ghc-toolchain-check",
    
    4426 4362
           "RUNTEST_ARGS": "",
    
    4427
    -      "TEST_ENV": "x86_64-linux-alpine3_12-int_native-release+fully_static",
    
    4363
    +      "TEST_ENV": "x86_64-linux-alpine3_22-int_native-release+fully_static",
    
    4428 4364
           "XZ_OPT": "-9"
    
    4429 4365
         }
    
    4430 4366
       },
    
    4431
    -  "release-x86_64-linux-alpine3_12-release+fully_static+no_split_sections": {
    
    4367
    +  "release-x86_64-linux-alpine3_22-release+fully_static+no_split_sections": {
    
    4432 4368
         "after_script": [
    
    4433 4369
           ".gitlab/ci.sh save_cache",
    
    4434 4370
           ".gitlab/ci.sh save_test_output",
    
    ... ... @@ -4439,7 +4375,7 @@
    4439 4375
         "artifacts": {
    
    4440 4376
           "expire_in": "1 year",
    
    4441 4377
           "paths": [
    
    4442
    -        "ghc-x86_64-linux-alpine3_12-release+fully_static+no_split_sections.tar.xz",
    
    4378
    +        "ghc-x86_64-linux-alpine3_22-release+fully_static+no_split_sections.tar.xz",
    
    4443 4379
             "junit.xml",
    
    4444 4380
             "unexpected-test-output.tar.gz"
    
    4445 4381
           ],
    
    ... ... @@ -4449,14 +4385,14 @@
    4449 4385
           "when": "always"
    
    4450 4386
         },
    
    4451 4387
         "cache": {
    
    4452
    -      "key": "x86_64-linux-alpine3_12-$CACHE_REV",
    
    4388
    +      "key": "x86_64-linux-alpine3_22-$CACHE_REV",
    
    4453 4389
           "paths": [
    
    4454 4390
             "cabal-cache",
    
    4455 4391
             "toolchain"
    
    4456 4392
           ]
    
    4457 4393
         },
    
    4458 4394
         "dependencies": [],
    
    4459
    -    "image": "registry.gitlab.haskell.org/ghc/ci-images/x86_64-linux-alpine3_12:$DOCKER_REV",
    
    4395
    +    "image": "registry.gitlab.haskell.org/ghc/ci-images/x86_64-linux-alpine3_22:$DOCKER_REV",
    
    4460 4396
         "needs": [
    
    4461 4397
           {
    
    4462 4398
             "artifacts": false,
    
    ... ... @@ -4482,18 +4418,18 @@
    4482 4418
         ],
    
    4483 4419
         "variables": {
    
    4484 4420
           "BIGNUM_BACKEND": "gmp",
    
    4485
    -      "BIN_DIST_NAME": "ghc-x86_64-linux-alpine3_12-release+fully_static+no_split_sections",
    
    4421
    +      "BIN_DIST_NAME": "ghc-x86_64-linux-alpine3_22-release+fully_static+no_split_sections",
    
    4486 4422
           "BROKEN_TESTS": "ghcilink002 linker_unload_native encoding004 T10458",
    
    4487 4423
           "BUILD_FLAVOUR": "release+fully_static+no_split_sections",
    
    4488 4424
           "CONFIGURE_ARGS": "--disable-ld-override --enable-strict-ghc-toolchain-check",
    
    4489 4425
           "IGNORE_PERF_FAILURES": "all",
    
    4490 4426
           "INSTALL_CONFIGURE_ARGS": "--disable-ld-override --enable-strict-ghc-toolchain-check",
    
    4491 4427
           "RUNTEST_ARGS": "",
    
    4492
    -      "TEST_ENV": "x86_64-linux-alpine3_12-release+fully_static+no_split_sections",
    
    4428
    +      "TEST_ENV": "x86_64-linux-alpine3_22-release+fully_static+no_split_sections",
    
    4493 4429
           "XZ_OPT": "-9"
    
    4494 4430
         }
    
    4495 4431
       },
    
    4496
    -  "release-x86_64-linux-alpine3_12-release+no_split_sections": {
    
    4432
    +  "release-x86_64-linux-alpine3_22-release+no_split_sections": {
    
    4497 4433
         "after_script": [
    
    4498 4434
           ".gitlab/ci.sh save_cache",
    
    4499 4435
           ".gitlab/ci.sh save_test_output",
    
    ... ... @@ -4504,7 +4440,7 @@
    4504 4440
         "artifacts": {
    
    4505 4441
           "expire_in": "1 year",
    
    4506 4442
           "paths": [
    
    4507
    -        "ghc-x86_64-linux-alpine3_12-release+no_split_sections.tar.xz",
    
    4443
    +        "ghc-x86_64-linux-alpine3_22-release+no_split_sections.tar.xz",
    
    4508 4444
             "junit.xml",
    
    4509 4445
             "unexpected-test-output.tar.gz"
    
    4510 4446
           ],
    
    ... ... @@ -4514,14 +4450,14 @@
    4514 4450
           "when": "always"
    
    4515 4451
         },
    
    4516 4452
         "cache": {
    
    4517
    -      "key": "x86_64-linux-alpine3_12-$CACHE_REV",
    
    4453
    +      "key": "x86_64-linux-alpine3_22-$CACHE_REV",
    
    4518 4454
           "paths": [
    
    4519 4455
             "cabal-cache",
    
    4520 4456
             "toolchain"
    
    4521 4457
           ]
    
    4522 4458
         },
    
    4523 4459
         "dependencies": [],
    
    4524
    -    "image": "registry.gitlab.haskell.org/ghc/ci-images/x86_64-linux-alpine3_12:$DOCKER_REV",
    
    4460
    +    "image": "registry.gitlab.haskell.org/ghc/ci-images/x86_64-linux-alpine3_22:$DOCKER_REV",
    
    4525 4461
         "needs": [
    
    4526 4462
           {
    
    4527 4463
             "artifacts": false,
    
    ... ... @@ -4547,79 +4483,14 @@
    4547 4483
         ],
    
    4548 4484
         "variables": {
    
    4549 4485
           "BIGNUM_BACKEND": "gmp",
    
    4550
    -      "BIN_DIST_NAME": "ghc-x86_64-linux-alpine3_12-release+no_split_sections",
    
    4486
    +      "BIN_DIST_NAME": "ghc-x86_64-linux-alpine3_22-release+no_split_sections",
    
    4551 4487
           "BROKEN_TESTS": "encoding004 T10458",
    
    4552 4488
           "BUILD_FLAVOUR": "release+no_split_sections",
    
    4553 4489
           "CONFIGURE_ARGS": "--disable-ld-override --enable-strict-ghc-toolchain-check",
    
    4554 4490
           "IGNORE_PERF_FAILURES": "all",
    
    4555 4491
           "INSTALL_CONFIGURE_ARGS": "--disable-ld-override --enable-strict-ghc-toolchain-check",
    
    4556 4492
           "RUNTEST_ARGS": "",
    
    4557
    -      "TEST_ENV": "x86_64-linux-alpine3_12-release+no_split_sections",
    
    4558
    -      "XZ_OPT": "-9"
    
    4559
    -    }
    
    4560
    -  },
    
    4561
    -  "release-x86_64-linux-alpine3_20-release+no_split_sections": {
    
    4562
    -    "after_script": [
    
    4563
    -      ".gitlab/ci.sh save_cache",
    
    4564
    -      ".gitlab/ci.sh save_test_output",
    
    4565
    -      ".gitlab/ci.sh clean",
    
    4566
    -      "cat ci_timings.txt"
    
    4567
    -    ],
    
    4568
    -    "allow_failure": false,
    
    4569
    -    "artifacts": {
    
    4570
    -      "expire_in": "1 year",
    
    4571
    -      "paths": [
    
    4572
    -        "ghc-x86_64-linux-alpine3_20-release+no_split_sections.tar.xz",
    
    4573
    -        "junit.xml",
    
    4574
    -        "unexpected-test-output.tar.gz"
    
    4575
    -      ],
    
    4576
    -      "reports": {
    
    4577
    -        "junit": "junit.xml"
    
    4578
    -      },
    
    4579
    -      "when": "always"
    
    4580
    -    },
    
    4581
    -    "cache": {
    
    4582
    -      "key": "x86_64-linux-alpine3_20-$CACHE_REV",
    
    4583
    -      "paths": [
    
    4584
    -        "cabal-cache",
    
    4585
    -        "toolchain"
    
    4586
    -      ]
    
    4587
    -    },
    
    4588
    -    "dependencies": [],
    
    4589
    -    "image": "registry.gitlab.haskell.org/ghc/ci-images/x86_64-linux-alpine3_20:$DOCKER_REV",
    
    4590
    -    "needs": [
    
    4591
    -      {
    
    4592
    -        "artifacts": false,
    
    4593
    -        "job": "hadrian-ghc-in-ghci"
    
    4594
    -      }
    
    4595
    -    ],
    
    4596
    -    "rules": [
    
    4597
    -      {
    
    4598
    -        "if": "(\"true\" == \"true\") && ($RELEASE_JOB == \"yes\") && ($NIGHTLY == null)",
    
    4599
    -        "when": "on_success"
    
    4600
    -      }
    
    4601
    -    ],
    
    4602
    -    "script": [
    
    4603
    -      "sudo chown ghc:ghc -R .",
    
    4604
    -      ".gitlab/ci.sh setup",
    
    4605
    -      ".gitlab/ci.sh configure",
    
    4606
    -      ".gitlab/ci.sh build_hadrian",
    
    4607
    -      ".gitlab/ci.sh test_hadrian"
    
    4608
    -    ],
    
    4609
    -    "stage": "full-build",
    
    4610
    -    "tags": [
    
    4611
    -      "x86_64-linux"
    
    4612
    -    ],
    
    4613
    -    "variables": {
    
    4614
    -      "BIGNUM_BACKEND": "gmp",
    
    4615
    -      "BIN_DIST_NAME": "ghc-x86_64-linux-alpine3_20-release+no_split_sections",
    
    4616
    -      "BROKEN_TESTS": "encoding004 T10458",
    
    4617
    -      "BUILD_FLAVOUR": "release+no_split_sections",
    
    4618
    -      "CONFIGURE_ARGS": "--disable-ld-override --enable-strict-ghc-toolchain-check",
    
    4619
    -      "IGNORE_PERF_FAILURES": "all",
    
    4620
    -      "INSTALL_CONFIGURE_ARGS": "--disable-ld-override --enable-strict-ghc-toolchain-check",
    
    4621
    -      "RUNTEST_ARGS": "",
    
    4622
    -      "TEST_ENV": "x86_64-linux-alpine3_20-release+no_split_sections",
    
    4493
    +      "TEST_ENV": "x86_64-linux-alpine3_22-release+no_split_sections",
    
    4623 4494
           "XZ_OPT": "-9"
    
    4624 4495
         }
    
    4625 4496
       },
    
    ... ... @@ -5788,7 +5659,7 @@
    5788 5659
           "TEST_ENV": "x86_64-freebsd14-validate"
    
    5789 5660
         }
    
    5790 5661
       },
    
    5791
    -  "x86_64-linux-alpine3_12-int_native-validate+fully_static": {
    
    5662
    +  "x86_64-linux-alpine3_22-int_native-validate+fully_static": {
    
    5792 5663
         "after_script": [
    
    5793 5664
           ".gitlab/ci.sh save_cache",
    
    5794 5665
           ".gitlab/ci.sh save_test_output",
    
    ... ... @@ -5799,7 +5670,7 @@
    5799 5670
         "artifacts": {
    
    5800 5671
           "expire_in": "2 weeks",
    
    5801 5672
           "paths": [
    
    5802
    -        "ghc-x86_64-linux-alpine3_12-int_native-validate+fully_static.tar.xz",
    
    5673
    +        "ghc-x86_64-linux-alpine3_22-int_native-validate+fully_static.tar.xz",
    
    5803 5674
             "junit.xml",
    
    5804 5675
             "unexpected-test-output.tar.gz"
    
    5805 5676
           ],
    
    ... ... @@ -5809,14 +5680,14 @@
    5809 5680
           "when": "always"
    
    5810 5681
         },
    
    5811 5682
         "cache": {
    
    5812
    -      "key": "x86_64-linux-alpine3_12-$CACHE_REV",
    
    5683
    +      "key": "x86_64-linux-alpine3_22-$CACHE_REV",
    
    5813 5684
           "paths": [
    
    5814 5685
             "cabal-cache",
    
    5815 5686
             "toolchain"
    
    5816 5687
           ]
    
    5817 5688
         },
    
    5818 5689
         "dependencies": [],
    
    5819
    -    "image": "registry.gitlab.haskell.org/ghc/ci-images/x86_64-linux-alpine3_12:$DOCKER_REV",
    
    5690
    +    "image": "registry.gitlab.haskell.org/ghc/ci-images/x86_64-linux-alpine3_22:$DOCKER_REV",
    
    5820 5691
         "needs": [
    
    5821 5692
           {
    
    5822 5693
             "artifacts": false,
    
    ... ... @@ -5825,7 +5696,7 @@
    5825 5696
         ],
    
    5826 5697
         "rules": [
    
    5827 5698
           {
    
    5828
    -        "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\bx86_64-linux-alpine3_12-int_native-validate\\+fully_static(\\s|$).*/)) || (($ONLY_JOBS == null) && (\"disabled\" != \"disabled\"))) && ($RELEASE_JOB != \"yes\") && ($NIGHTLY == null)",
    
    5699
    +        "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\bx86_64-linux-alpine3_22-int_native-validate\\+fully_static(\\s|$).*/)) || (($ONLY_JOBS == null) && (\"disabled\" != \"disabled\"))) && ($RELEASE_JOB != \"yes\") && ($NIGHTLY == null)",
    
    5829 5700
             "when": "on_success"
    
    5830 5701
           }
    
    5831 5702
         ],
    
    ... ... @@ -5842,16 +5713,16 @@
    5842 5713
         ],
    
    5843 5714
         "variables": {
    
    5844 5715
           "BIGNUM_BACKEND": "native",
    
    5845
    -      "BIN_DIST_NAME": "ghc-x86_64-linux-alpine3_12-int_native-validate+fully_static",
    
    5716
    +      "BIN_DIST_NAME": "ghc-x86_64-linux-alpine3_22-int_native-validate+fully_static",
    
    5846 5717
           "BROKEN_TESTS": "ghcilink002 linker_unload_native encoding004 T10458",
    
    5847 5718
           "BUILD_FLAVOUR": "validate+fully_static",
    
    5848 5719
           "CONFIGURE_ARGS": "--disable-ld-override --enable-strict-ghc-toolchain-check",
    
    5849 5720
           "INSTALL_CONFIGURE_ARGS": "--disable-ld-override --enable-strict-ghc-toolchain-check",
    
    5850 5721
           "RUNTEST_ARGS": "",
    
    5851
    -      "TEST_ENV": "x86_64-linux-alpine3_12-int_native-validate+fully_static"
    
    5722
    +      "TEST_ENV": "x86_64-linux-alpine3_22-int_native-validate+fully_static"
    
    5852 5723
         }
    
    5853 5724
       },
    
    5854
    -  "x86_64-linux-alpine3_12-validate": {
    
    5725
    +  "x86_64-linux-alpine3_22-validate": {
    
    5855 5726
         "after_script": [
    
    5856 5727
           ".gitlab/ci.sh save_cache",
    
    5857 5728
           ".gitlab/ci.sh save_test_output",
    
    ... ... @@ -5862,7 +5733,7 @@
    5862 5733
         "artifacts": {
    
    5863 5734
           "expire_in": "2 weeks",
    
    5864 5735
           "paths": [
    
    5865
    -        "ghc-x86_64-linux-alpine3_12-validate.tar.xz",
    
    5736
    +        "ghc-x86_64-linux-alpine3_22-validate.tar.xz",
    
    5866 5737
             "junit.xml",
    
    5867 5738
             "unexpected-test-output.tar.gz"
    
    5868 5739
           ],
    
    ... ... @@ -5872,14 +5743,14 @@
    5872 5743
           "when": "always"
    
    5873 5744
         },
    
    5874 5745
         "cache": {
    
    5875
    -      "key": "x86_64-linux-alpine3_12-$CACHE_REV",
    
    5746
    +      "key": "x86_64-linux-alpine3_22-$CACHE_REV",
    
    5876 5747
           "paths": [
    
    5877 5748
             "cabal-cache",
    
    5878 5749
             "toolchain"
    
    5879 5750
           ]
    
    5880 5751
         },
    
    5881 5752
         "dependencies": [],
    
    5882
    -    "image": "registry.gitlab.haskell.org/ghc/ci-images/x86_64-linux-alpine3_12:$DOCKER_REV",
    
    5753
    +    "image": "registry.gitlab.haskell.org/ghc/ci-images/x86_64-linux-alpine3_22:$DOCKER_REV",
    
    5883 5754
         "needs": [
    
    5884 5755
           {
    
    5885 5756
             "artifacts": false,
    
    ... ... @@ -5888,7 +5759,7 @@
    5888 5759
         ],
    
    5889 5760
         "rules": [
    
    5890 5761
           {
    
    5891
    -        "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\bx86_64-linux-alpine3_12-validate(\\s|$).*/)) || (($ONLY_JOBS == null) && (\"disabled\" != \"disabled\"))) && ($RELEASE_JOB != \"yes\") && ($NIGHTLY == null)",
    
    5762
    +        "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\bx86_64-linux-alpine3_22-validate(\\s|$).*/)) || (($ONLY_JOBS == null) && (\"disabled\" != \"disabled\"))) && ($RELEASE_JOB != \"yes\") && ($NIGHTLY == null)",
    
    5892 5763
             "when": "on_success"
    
    5893 5764
           }
    
    5894 5765
         ],
    
    ... ... @@ -5905,16 +5776,16 @@
    5905 5776
         ],
    
    5906 5777
         "variables": {
    
    5907 5778
           "BIGNUM_BACKEND": "gmp",
    
    5908
    -      "BIN_DIST_NAME": "ghc-x86_64-linux-alpine3_12-validate",
    
    5779
    +      "BIN_DIST_NAME": "ghc-x86_64-linux-alpine3_22-validate",
    
    5909 5780
           "BROKEN_TESTS": "encoding004 T10458",
    
    5910 5781
           "BUILD_FLAVOUR": "validate",
    
    5911 5782
           "CONFIGURE_ARGS": "--disable-ld-override --enable-strict-ghc-toolchain-check",
    
    5912 5783
           "INSTALL_CONFIGURE_ARGS": "--disable-ld-override --enable-strict-ghc-toolchain-check",
    
    5913 5784
           "RUNTEST_ARGS": "",
    
    5914
    -      "TEST_ENV": "x86_64-linux-alpine3_12-validate"
    
    5785
    +      "TEST_ENV": "x86_64-linux-alpine3_22-validate"
    
    5915 5786
         }
    
    5916 5787
       },
    
    5917
    -  "x86_64-linux-alpine3_12-validate+fully_static": {
    
    5788
    +  "x86_64-linux-alpine3_22-validate+fully_static": {
    
    5918 5789
         "after_script": [
    
    5919 5790
           ".gitlab/ci.sh save_cache",
    
    5920 5791
           ".gitlab/ci.sh save_test_output",
    
    ... ... @@ -5925,7 +5796,7 @@
    5925 5796
         "artifacts": {
    
    5926 5797
           "expire_in": "2 weeks",
    
    5927 5798
           "paths": [
    
    5928
    -        "ghc-x86_64-linux-alpine3_12-validate+fully_static.tar.xz",
    
    5799
    +        "ghc-x86_64-linux-alpine3_22-validate+fully_static.tar.xz",
    
    5929 5800
             "junit.xml",
    
    5930 5801
             "unexpected-test-output.tar.gz"
    
    5931 5802
           ],
    
    ... ... @@ -5935,14 +5806,14 @@
    5935 5806
           "when": "always"
    
    5936 5807
         },
    
    5937 5808
         "cache": {
    
    5938
    -      "key": "x86_64-linux-alpine3_12-$CACHE_REV",
    
    5809
    +      "key": "x86_64-linux-alpine3_22-$CACHE_REV",
    
    5939 5810
           "paths": [
    
    5940 5811
             "cabal-cache",
    
    5941 5812
             "toolchain"
    
    5942 5813
           ]
    
    5943 5814
         },
    
    5944 5815
         "dependencies": [],
    
    5945
    -    "image": "registry.gitlab.haskell.org/ghc/ci-images/x86_64-linux-alpine3_12:$DOCKER_REV",
    
    5816
    +    "image": "registry.gitlab.haskell.org/ghc/ci-images/x86_64-linux-alpine3_22:$DOCKER_REV",
    
    5946 5817
         "needs": [
    
    5947 5818
           {
    
    5948 5819
             "artifacts": false,
    
    ... ... @@ -5951,7 +5822,7 @@
    5951 5822
         ],
    
    5952 5823
         "rules": [
    
    5953 5824
           {
    
    5954
    -        "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\bx86_64-linux-alpine3_12-validate\\+fully_static(\\s|$).*/)) || (($ONLY_JOBS == null) && ((($CI_MERGE_REQUEST_LABELS =~ /.*full-ci.*/) || ($CI_MERGE_REQUEST_LABELS =~ /.*marge_bot_batch_merge_job.*/) || ($CI_COMMIT_BRANCH == \"master\") || ($CI_COMMIT_BRANCH =~ /ghc-[0-9]+\\.[0-9]+/))))) && ($RELEASE_JOB != \"yes\") && ($NIGHTLY == null)",
    
    5825
    +        "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\bx86_64-linux-alpine3_22-validate\\+fully_static(\\s|$).*/)) || (($ONLY_JOBS == null) && ((($CI_MERGE_REQUEST_LABELS =~ /.*full-ci.*/) || ($CI_MERGE_REQUEST_LABELS =~ /.*marge_bot_batch_merge_job.*/) || ($CI_COMMIT_BRANCH == \"master\") || ($CI_COMMIT_BRANCH =~ /ghc-[0-9]+\\.[0-9]+/))))) && ($RELEASE_JOB != \"yes\") && ($NIGHTLY == null)",
    
    5955 5826
             "when": "on_success"
    
    5956 5827
           }
    
    5957 5828
         ],
    
    ... ... @@ -5968,79 +5839,16 @@
    5968 5839
         ],
    
    5969 5840
         "variables": {
    
    5970 5841
           "BIGNUM_BACKEND": "gmp",
    
    5971
    -      "BIN_DIST_NAME": "ghc-x86_64-linux-alpine3_12-validate+fully_static",
    
    5842
    +      "BIN_DIST_NAME": "ghc-x86_64-linux-alpine3_22-validate+fully_static",
    
    5972 5843
           "BROKEN_TESTS": "ghcilink002 linker_unload_native encoding004 T10458",
    
    5973 5844
           "BUILD_FLAVOUR": "validate+fully_static",
    
    5974 5845
           "CONFIGURE_ARGS": "--disable-ld-override --enable-strict-ghc-toolchain-check",
    
    5975 5846
           "INSTALL_CONFIGURE_ARGS": "--disable-ld-override --enable-strict-ghc-toolchain-check",
    
    5976 5847
           "RUNTEST_ARGS": "",
    
    5977
    -      "TEST_ENV": "x86_64-linux-alpine3_12-validate+fully_static"
    
    5978
    -    }
    
    5979
    -  },
    
    5980
    -  "x86_64-linux-alpine3_20-validate": {
    
    5981
    -    "after_script": [
    
    5982
    -      ".gitlab/ci.sh save_cache",
    
    5983
    -      ".gitlab/ci.sh save_test_output",
    
    5984
    -      ".gitlab/ci.sh clean",
    
    5985
    -      "cat ci_timings.txt"
    
    5986
    -    ],
    
    5987
    -    "allow_failure": false,
    
    5988
    -    "artifacts": {
    
    5989
    -      "expire_in": "2 weeks",
    
    5990
    -      "paths": [
    
    5991
    -        "ghc-x86_64-linux-alpine3_20-validate.tar.xz",
    
    5992
    -        "junit.xml",
    
    5993
    -        "unexpected-test-output.tar.gz"
    
    5994
    -      ],
    
    5995
    -      "reports": {
    
    5996
    -        "junit": "junit.xml"
    
    5997
    -      },
    
    5998
    -      "when": "always"
    
    5999
    -    },
    
    6000
    -    "cache": {
    
    6001
    -      "key": "x86_64-linux-alpine3_20-$CACHE_REV",
    
    6002
    -      "paths": [
    
    6003
    -        "cabal-cache",
    
    6004
    -        "toolchain"
    
    6005
    -      ]
    
    6006
    -    },
    
    6007
    -    "dependencies": [],
    
    6008
    -    "image": "registry.gitlab.haskell.org/ghc/ci-images/x86_64-linux-alpine3_20:$DOCKER_REV",
    
    6009
    -    "needs": [
    
    6010
    -      {
    
    6011
    -        "artifacts": false,
    
    6012
    -        "job": "hadrian-ghc-in-ghci"
    
    6013
    -      }
    
    6014
    -    ],
    
    6015
    -    "rules": [
    
    6016
    -      {
    
    6017
    -        "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\bx86_64-linux-alpine3_20-validate(\\s|$).*/)) || (($ONLY_JOBS == null) && (\"disabled\" != \"disabled\"))) && ($RELEASE_JOB != \"yes\") && ($NIGHTLY == null)",
    
    6018
    -        "when": "on_success"
    
    6019
    -      }
    
    6020
    -    ],
    
    6021
    -    "script": [
    
    6022
    -      "sudo chown ghc:ghc -R .",
    
    6023
    -      ".gitlab/ci.sh setup",
    
    6024
    -      ".gitlab/ci.sh configure",
    
    6025
    -      ".gitlab/ci.sh build_hadrian",
    
    6026
    -      ".gitlab/ci.sh test_hadrian"
    
    6027
    -    ],
    
    6028
    -    "stage": "full-build",
    
    6029
    -    "tags": [
    
    6030
    -      "x86_64-linux"
    
    6031
    -    ],
    
    6032
    -    "variables": {
    
    6033
    -      "BIGNUM_BACKEND": "gmp",
    
    6034
    -      "BIN_DIST_NAME": "ghc-x86_64-linux-alpine3_20-validate",
    
    6035
    -      "BROKEN_TESTS": "encoding004 T10458",
    
    6036
    -      "BUILD_FLAVOUR": "validate",
    
    6037
    -      "CONFIGURE_ARGS": "--disable-ld-override --enable-strict-ghc-toolchain-check",
    
    6038
    -      "INSTALL_CONFIGURE_ARGS": "--disable-ld-override --enable-strict-ghc-toolchain-check",
    
    6039
    -      "RUNTEST_ARGS": "",
    
    6040
    -      "TEST_ENV": "x86_64-linux-alpine3_20-validate"
    
    5848
    +      "TEST_ENV": "x86_64-linux-alpine3_22-validate+fully_static"
    
    6041 5849
         }
    
    6042 5850
       },
    
    6043
    -  "x86_64-linux-alpine3_20-wasm-cross_wasm32-wasi-release+host_fully_static+text_simdutf": {
    
    5851
    +  "x86_64-linux-alpine3_22-wasm-cross_wasm32-wasi-release+host_fully_static+text_simdutf": {
    
    6044 5852
         "after_script": [
    
    6045 5853
           ".gitlab/ci.sh save_cache",
    
    6046 5854
           ".gitlab/ci.sh save_test_output",
    
    ... ... @@ -6051,7 +5859,7 @@
    6051 5859
         "artifacts": {
    
    6052 5860
           "expire_in": "2 weeks",
    
    6053 5861
           "paths": [
    
    6054
    -        "ghc-x86_64-linux-alpine3_20-wasm-cross_wasm32-wasi-release+host_fully_static+text_simdutf.tar.xz",
    
    5862
    +        "ghc-x86_64-linux-alpine3_22-wasm-cross_wasm32-wasi-release+host_fully_static+text_simdutf.tar.xz",
    
    6055 5863
             "junit.xml",
    
    6056 5864
             "unexpected-test-output.tar.gz"
    
    6057 5865
           ],
    
    ... ... @@ -6061,14 +5869,14 @@
    6061 5869
           "when": "always"
    
    6062 5870
         },
    
    6063 5871
         "cache": {
    
    6064
    -      "key": "x86_64-linux-alpine3_20-wasm-$CACHE_REV",
    
    5872
    +      "key": "x86_64-linux-alpine3_22-wasm-$CACHE_REV",
    
    6065 5873
           "paths": [
    
    6066 5874
             "cabal-cache",
    
    6067 5875
             "toolchain"
    
    6068 5876
           ]
    
    6069 5877
         },
    
    6070 5878
         "dependencies": [],
    
    6071
    -    "image": "registry.gitlab.haskell.org/ghc/ci-images/x86_64-linux-alpine3_20-wasm:$DOCKER_REV",
    
    5879
    +    "image": "registry.gitlab.haskell.org/ghc/ci-images/x86_64-linux-alpine3_22-wasm:$DOCKER_REV",
    
    6072 5880
         "needs": [
    
    6073 5881
           {
    
    6074 5882
             "artifacts": false,
    
    ... ... @@ -6077,7 +5885,7 @@
    6077 5885
         ],
    
    6078 5886
         "rules": [
    
    6079 5887
           {
    
    6080
    -        "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\bx86_64-linux-alpine3_20-wasm-cross_wasm32-wasi-release\\+host_fully_static\\+text_simdutf(\\s|$).*/)) || (($ONLY_JOBS == null) && ((($CI_MERGE_REQUEST_LABELS =~ /.*full-ci.*/) || ($CI_MERGE_REQUEST_LABELS =~ /.*marge_bot_batch_merge_job.*/) || ($CI_COMMIT_BRANCH == \"master\") || ($CI_COMMIT_BRANCH =~ /ghc-[0-9]+\\.[0-9]+/)) || ($CI_MERGE_REQUEST_LABELS =~ /.*wasm.*/)))) && ($RELEASE_JOB != \"yes\") && ($NIGHTLY == null)",
    
    5888
    +        "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\bx86_64-linux-alpine3_22-wasm-cross_wasm32-wasi-release\\+host_fully_static\\+text_simdutf(\\s|$).*/)) || (($ONLY_JOBS == null) && ((($CI_MERGE_REQUEST_LABELS =~ /.*full-ci.*/) || ($CI_MERGE_REQUEST_LABELS =~ /.*marge_bot_batch_merge_job.*/) || ($CI_COMMIT_BRANCH == \"master\") || ($CI_COMMIT_BRANCH =~ /ghc-[0-9]+\\.[0-9]+/)) || ($CI_MERGE_REQUEST_LABELS =~ /.*wasm.*/)))) && ($RELEASE_JOB != \"yes\") && ($NIGHTLY == null)",
    
    6081 5889
             "when": "on_success"
    
    6082 5890
           }
    
    6083 5891
         ],
    
    ... ... @@ -6094,17 +5902,17 @@
    6094 5902
         ],
    
    6095 5903
         "variables": {
    
    6096 5904
           "BIGNUM_BACKEND": "gmp",
    
    6097
    -      "BIN_DIST_NAME": "ghc-x86_64-linux-alpine3_20-wasm-cross_wasm32-wasi-release+host_fully_static+text_simdutf",
    
    5905
    +      "BIN_DIST_NAME": "ghc-x86_64-linux-alpine3_22-wasm-cross_wasm32-wasi-release+host_fully_static+text_simdutf",
    
    6098 5906
           "BUILD_FLAVOUR": "release+host_fully_static+text_simdutf",
    
    6099 5907
           "CONFIGURE_ARGS": "--with-intree-gmp --with-system-libffi --enable-strict-ghc-toolchain-check",
    
    6100 5908
           "CROSS_TARGET": "wasm32-wasi",
    
    6101 5909
           "FIREFOX_LAUNCH_OPTS": "{\"browser\":\"firefox\",\"executablePath\":\"/usr/bin/firefox\"}",
    
    6102 5910
           "HADRIAN_ARGS": "--docs=no-sphinx-pdfs --docs=no-sphinx-man",
    
    6103 5911
           "RUNTEST_ARGS": "",
    
    6104
    -      "TEST_ENV": "x86_64-linux-alpine3_20-wasm-cross_wasm32-wasi-release+host_fully_static+text_simdutf"
    
    5912
    +      "TEST_ENV": "x86_64-linux-alpine3_22-wasm-cross_wasm32-wasi-release+host_fully_static+text_simdutf"
    
    6105 5913
         }
    
    6106 5914
       },
    
    6107
    -  "x86_64-linux-alpine3_20-wasm-int_native-cross_wasm32-wasi-release+host_fully_static+text_simdutf": {
    
    5915
    +  "x86_64-linux-alpine3_22-wasm-int_native-cross_wasm32-wasi-release+host_fully_static+text_simdutf": {
    
    6108 5916
         "after_script": [
    
    6109 5917
           ".gitlab/ci.sh save_cache",
    
    6110 5918
           ".gitlab/ci.sh save_test_output",
    
    ... ... @@ -6115,7 +5923,7 @@
    6115 5923
         "artifacts": {
    
    6116 5924
           "expire_in": "2 weeks",
    
    6117 5925
           "paths": [
    
    6118
    -        "ghc-x86_64-linux-alpine3_20-wasm-int_native-cross_wasm32-wasi-release+host_fully_static+text_simdutf.tar.xz",
    
    5926
    +        "ghc-x86_64-linux-alpine3_22-wasm-int_native-cross_wasm32-wasi-release+host_fully_static+text_simdutf.tar.xz",
    
    6119 5927
             "junit.xml",
    
    6120 5928
             "unexpected-test-output.tar.gz"
    
    6121 5929
           ],
    
    ... ... @@ -6125,14 +5933,14 @@
    6125 5933
           "when": "always"
    
    6126 5934
         },
    
    6127 5935
         "cache": {
    
    6128
    -      "key": "x86_64-linux-alpine3_20-wasm-$CACHE_REV",
    
    5936
    +      "key": "x86_64-linux-alpine3_22-wasm-$CACHE_REV",
    
    6129 5937
           "paths": [
    
    6130 5938
             "cabal-cache",
    
    6131 5939
             "toolchain"
    
    6132 5940
           ]
    
    6133 5941
         },
    
    6134 5942
         "dependencies": [],
    
    6135
    -    "image": "registry.gitlab.haskell.org/ghc/ci-images/x86_64-linux-alpine3_20-wasm:$DOCKER_REV",
    
    5943
    +    "image": "registry.gitlab.haskell.org/ghc/ci-images/x86_64-linux-alpine3_22-wasm:$DOCKER_REV",
    
    6136 5944
         "needs": [
    
    6137 5945
           {
    
    6138 5946
             "artifacts": false,
    
    ... ... @@ -6142,7 +5950,7 @@
    6142 5950
         "rules": [
    
    6143 5951
           {
    
    6144 5952
             "allow_failure": true,
    
    6145
    -        "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\bx86_64-linux-alpine3_20-wasm-int_native-cross_wasm32-wasi-release\\+host_fully_static\\+text_simdutf(\\s|$).*/)) || (($ONLY_JOBS == null) && ((($CI_MERGE_REQUEST_LABELS =~ /.*full-ci.*/) || ($CI_MERGE_REQUEST_LABELS =~ /.*marge_bot_batch_merge_job.*/) || ($CI_COMMIT_BRANCH == \"master\") || ($CI_COMMIT_BRANCH =~ /ghc-[0-9]+\\.[0-9]+/)) || ($CI_MERGE_REQUEST_LABELS =~ /.*wasm.*/)))) && ($RELEASE_JOB != \"yes\") && ($NIGHTLY == null)",
    
    5953
    +        "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\bx86_64-linux-alpine3_22-wasm-int_native-cross_wasm32-wasi-release\\+host_fully_static\\+text_simdutf(\\s|$).*/)) || (($ONLY_JOBS == null) && ((($CI_MERGE_REQUEST_LABELS =~ /.*full-ci.*/) || ($CI_MERGE_REQUEST_LABELS =~ /.*marge_bot_batch_merge_job.*/) || ($CI_COMMIT_BRANCH == \"master\") || ($CI_COMMIT_BRANCH =~ /ghc-[0-9]+\\.[0-9]+/)) || ($CI_MERGE_REQUEST_LABELS =~ /.*wasm.*/)))) && ($RELEASE_JOB != \"yes\") && ($NIGHTLY == null)",
    
    6146 5954
             "when": "manual"
    
    6147 5955
           }
    
    6148 5956
         ],
    
    ... ... @@ -6159,17 +5967,17 @@
    6159 5967
         ],
    
    6160 5968
         "variables": {
    
    6161 5969
           "BIGNUM_BACKEND": "native",
    
    6162
    -      "BIN_DIST_NAME": "ghc-x86_64-linux-alpine3_20-wasm-int_native-cross_wasm32-wasi-release+host_fully_static+text_simdutf",
    
    5970
    +      "BIN_DIST_NAME": "ghc-x86_64-linux-alpine3_22-wasm-int_native-cross_wasm32-wasi-release+host_fully_static+text_simdutf",
    
    6163 5971
           "BUILD_FLAVOUR": "release+host_fully_static+text_simdutf",
    
    6164 5972
           "CONFIGURE_ARGS": "--with-intree-gmp --with-system-libffi --enable-strict-ghc-toolchain-check",
    
    6165 5973
           "CROSS_TARGET": "wasm32-wasi",
    
    6166 5974
           "FIREFOX_LAUNCH_OPTS": "{\"browser\":\"firefox\",\"executablePath\":\"/usr/bin/firefox\"}",
    
    6167 5975
           "HADRIAN_ARGS": "--docs=no-sphinx-pdfs --docs=no-sphinx-man",
    
    6168 5976
           "RUNTEST_ARGS": "",
    
    6169
    -      "TEST_ENV": "x86_64-linux-alpine3_20-wasm-int_native-cross_wasm32-wasi-release+host_fully_static+text_simdutf"
    
    5977
    +      "TEST_ENV": "x86_64-linux-alpine3_22-wasm-int_native-cross_wasm32-wasi-release+host_fully_static+text_simdutf"
    
    6170 5978
         }
    
    6171 5979
       },
    
    6172
    -  "x86_64-linux-alpine3_20-wasm-unreg-cross_wasm32-wasi-release+host_fully_static+text_simdutf": {
    
    5980
    +  "x86_64-linux-alpine3_22-wasm-unreg-cross_wasm32-wasi-release+host_fully_static+text_simdutf": {
    
    6173 5981
         "after_script": [
    
    6174 5982
           ".gitlab/ci.sh save_cache",
    
    6175 5983
           ".gitlab/ci.sh save_test_output",
    
    ... ... @@ -6180,7 +5988,7 @@
    6180 5988
         "artifacts": {
    
    6181 5989
           "expire_in": "2 weeks",
    
    6182 5990
           "paths": [
    
    6183
    -        "ghc-x86_64-linux-alpine3_20-wasm-unreg-cross_wasm32-wasi-release+host_fully_static+text_simdutf.tar.xz",
    
    5991
    +        "ghc-x86_64-linux-alpine3_22-wasm-unreg-cross_wasm32-wasi-release+host_fully_static+text_simdutf.tar.xz",
    
    6184 5992
             "junit.xml",
    
    6185 5993
             "unexpected-test-output.tar.gz"
    
    6186 5994
           ],
    
    ... ... @@ -6190,14 +5998,14 @@
    6190 5998
           "when": "always"
    
    6191 5999
         },
    
    6192 6000
         "cache": {
    
    6193
    -      "key": "x86_64-linux-alpine3_20-wasm-$CACHE_REV",
    
    6001
    +      "key": "x86_64-linux-alpine3_22-wasm-$CACHE_REV",
    
    6194 6002
           "paths": [
    
    6195 6003
             "cabal-cache",
    
    6196 6004
             "toolchain"
    
    6197 6005
           ]
    
    6198 6006
         },
    
    6199 6007
         "dependencies": [],
    
    6200
    -    "image": "registry.gitlab.haskell.org/ghc/ci-images/x86_64-linux-alpine3_20-wasm:$DOCKER_REV",
    
    6008
    +    "image": "registry.gitlab.haskell.org/ghc/ci-images/x86_64-linux-alpine3_22-wasm:$DOCKER_REV",
    
    6201 6009
         "needs": [
    
    6202 6010
           {
    
    6203 6011
             "artifacts": false,
    
    ... ... @@ -6207,7 +6015,7 @@
    6207 6015
         "rules": [
    
    6208 6016
           {
    
    6209 6017
             "allow_failure": true,
    
    6210
    -        "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\bx86_64-linux-alpine3_20-wasm-unreg-cross_wasm32-wasi-release\\+host_fully_static\\+text_simdutf(\\s|$).*/)) || (($ONLY_JOBS == null) && ((($CI_MERGE_REQUEST_LABELS =~ /.*full-ci.*/) || ($CI_MERGE_REQUEST_LABELS =~ /.*marge_bot_batch_merge_job.*/) || ($CI_COMMIT_BRANCH == \"master\") || ($CI_COMMIT_BRANCH =~ /ghc-[0-9]+\\.[0-9]+/)) || ($CI_MERGE_REQUEST_LABELS =~ /.*wasm.*/)))) && ($RELEASE_JOB != \"yes\") && ($NIGHTLY == null)",
    
    6018
    +        "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\bx86_64-linux-alpine3_22-wasm-unreg-cross_wasm32-wasi-release\\+host_fully_static\\+text_simdutf(\\s|$).*/)) || (($ONLY_JOBS == null) && ((($CI_MERGE_REQUEST_LABELS =~ /.*full-ci.*/) || ($CI_MERGE_REQUEST_LABELS =~ /.*marge_bot_batch_merge_job.*/) || ($CI_COMMIT_BRANCH == \"master\") || ($CI_COMMIT_BRANCH =~ /ghc-[0-9]+\\.[0-9]+/)) || ($CI_MERGE_REQUEST_LABELS =~ /.*wasm.*/)))) && ($RELEASE_JOB != \"yes\") && ($NIGHTLY == null)",
    
    6211 6019
             "when": "manual"
    
    6212 6020
           }
    
    6213 6021
         ],
    
    ... ... @@ -6224,14 +6032,14 @@
    6224 6032
         ],
    
    6225 6033
         "variables": {
    
    6226 6034
           "BIGNUM_BACKEND": "gmp",
    
    6227
    -      "BIN_DIST_NAME": "ghc-x86_64-linux-alpine3_20-wasm-unreg-cross_wasm32-wasi-release+host_fully_static+text_simdutf",
    
    6035
    +      "BIN_DIST_NAME": "ghc-x86_64-linux-alpine3_22-wasm-unreg-cross_wasm32-wasi-release+host_fully_static+text_simdutf",
    
    6228 6036
           "BUILD_FLAVOUR": "release+host_fully_static+text_simdutf",
    
    6229 6037
           "CONFIGURE_ARGS": "--enable-unregisterised --with-intree-gmp --with-system-libffi --enable-strict-ghc-toolchain-check",
    
    6230 6038
           "CROSS_TARGET": "wasm32-wasi",
    
    6231 6039
           "FIREFOX_LAUNCH_OPTS": "{\"browser\":\"firefox\",\"executablePath\":\"/usr/bin/firefox\"}",
    
    6232 6040
           "HADRIAN_ARGS": "--docs=no-sphinx-pdfs --docs=no-sphinx-man",
    
    6233 6041
           "RUNTEST_ARGS": "",
    
    6234
    -      "TEST_ENV": "x86_64-linux-alpine3_20-wasm-unreg-cross_wasm32-wasi-release+host_fully_static+text_simdutf"
    
    6042
    +      "TEST_ENV": "x86_64-linux-alpine3_22-wasm-unreg-cross_wasm32-wasi-release+host_fully_static+text_simdutf"
    
    6235 6043
         }
    
    6236 6044
       },
    
    6237 6045
       "x86_64-linux-deb10-validate": {
    

  • .gitlab/rel_eng/fetch-gitlab-artifacts/fetch_gitlab.py
    ... ... @@ -32,19 +32,19 @@ def job_triple(job_name):
    32 32
             'release-x86_64-linux-deb10-release+debug_info': 'x86_64-deb10-linux-dwarf',
    
    33 33
             'release-x86_64-linux-deb10-release': 'x86_64-deb10-linux',
    
    34 34
             'release-x86_64-linux-deb9-release': 'x86_64-deb9-linux',
    
    35
    -        'release-x86_64-linux-alpine3_12-release+fully_static': 'x86_64-alpine3_12-linux-static',
    
    36
    -        'release-x86_64-linux-alpine3_12-release': 'x86_64-alpine3_12-linux',
    
    37
    -        'release-x86_64-linux-alpine3_12-int_native-release+fully_static': 'x86_64-alpine3_12-linux-static-int_native',
    
    38
    -        'release-x86_64-linux-alpine3_20-release': 'x86_64-alpine3_20-linux',
    
    35
    +        'release-x86_64-linux-alpine3_22-release+fully_static': 'x86_64-alpine3_22-linux-static',
    
    36
    +        'release-x86_64-linux-alpine3_22-release': 'x86_64-alpine3_22-linux',
    
    37
    +        'release-x86_64-linux-alpine3_22-int_native-release+fully_static': 'x86_64-alpine3_22-linux-static-int_native',
    
    39 38
             'release-x86_64-darwin-release': 'x86_64-apple-darwin',
    
    40 39
             'release-i386-linux-deb12-release': 'i386-deb12-linux',
    
    41 40
             'release-i386-linux-deb10-release': 'i386-deb10-linux',
    
    42 41
             'release-i386-linux-deb9-release': 'i386-deb9-linux',
    
    42
    +        'release-i386-linux-alpine3_22-release+no_split_sections': 'i386-alpine3_22-linux',
    
    43 43
             'release-armv7-linux-deb10-release': 'armv7-deb10-linux',
    
    44 44
             'release-aarch64-linux-deb10-release': 'aarch64-deb10-linux',
    
    45 45
             'release-aarch64-linux-deb11-release': 'aarch64-deb11-linux',
    
    46 46
             'release-aarch64-linux-deb12-release': 'aarch64-deb12-linux',
    
    47
    -        'release-aarch64-linux-alpine3_18-release+no_split_sections': 'aarch64-alpine3_18-linux',
    
    47
    +        'release-aarch64-linux-alpine3_22-release+no_split_sections': 'aarch64-alpine3_22-linux',
    
    48 48
             'release-aarch64-darwin-release': 'aarch64-apple-darwin',
    
    49 49
     
    
    50 50
             'source-tarball': 'src',
    

  • .gitlab/rel_eng/mk-ghcup-metadata/mk_ghcup_metadata.py
    ... ... @@ -204,9 +204,9 @@ def mk_new_yaml(release_mode, version, date, pipeline_type, job_map):
    204 204
         darwin_x86 = mk(darwin("x86_64"))
    
    205 205
         darwin_arm64 = mk(darwin("aarch64"))
    
    206 206
         windows = mk(windowsArtifact)
    
    207
    -    alpine3_12 = mk(alpine("3_12"))
    
    208
    -    alpine3_20 = mk(alpine("3_20"))
    
    209
    -    alpine3_18_arm64 = mk(alpine("3_18", arch='aarch64'))
    
    207
    +    alpine3_22 = mk(alpine("3_22"))
    
    208
    +    alpine3_22_arm64 = mk(alpine("3_22", arch='aarch64'))
    
    209
    +    alpine3_22_i386 = mk(alpine("3_22", arch='i386'))
    
    210 210
         deb9 = mk(debian(9, "x86_64"))
    
    211 211
         deb10 = mk(debian(10, "x86_64"))
    
    212 212
         deb11 = mk(debian(11, "x86_64"))
    
    ... ... @@ -247,10 +247,7 @@ def mk_new_yaml(release_mode, version, date, pipeline_type, job_map):
    247 247
               , "Linux_UnknownLinux" : { "unknown_versioning": rocky8 }
    
    248 248
               , "Darwin" : { "unknown_versioning" : darwin_x86 }
    
    249 249
               , "Windows" : { "unknown_versioning" :  windows }
    
    250
    -          , "Linux_Alpine" : { "( >= 3.12 && < 3.20 )": alpine3_12
    
    251
    -                             , ">= 3.20": alpine3_20
    
    252
    -                             , "unknown_versioning": alpine3_12 }
    
    253
    -
    
    250
    +          , "Linux_Alpine" : { "unknown_versioning": alpine3_22 }
    
    254 251
               }
    
    255 252
     
    
    256 253
         a32 = { "Linux_Debian": { "( >= 10 && < 12 )": deb10_i386
    
    ... ... @@ -258,11 +255,12 @@ def mk_new_yaml(release_mode, version, date, pipeline_type, job_map):
    258 255
                                 , "unknown_versioning": deb10_i386 }
    
    259 256
               , "Linux_Ubuntu": { "unknown_versioning": deb10_i386 }
    
    260 257
               , "Linux_Mint" : { "unknown_versioning": deb10_i386 }
    
    258
    +          , "Linux_Alpine" : { "unknown_versioning": alpine3_22_i386 }
    
    261 259
               , "Linux_UnknownLinux" : { "unknown_versioning": deb10_i386 }
    
    262 260
               }
    
    263 261
     
    
    264 262
         arm64 = { "Linux_UnknownLinux": { "unknown_versioning": deb10_arm64 }
    
    265
    -            , "Linux_Alpine" : { "unknown_versioning": alpine3_18_arm64 }
    
    263
    +            , "Linux_Alpine" : { "unknown_versioning": alpine3_22_arm64 }
    
    266 264
                 , "Linux_Debian": { "( >= 10 && < 12 )": deb10_arm64
    
    267 265
                                   , "( >= 12 )": deb12_arm64
    
    268 266
                                   , "unknown_versioning": deb10_arm64