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: be4ac2cd18f38e63b263e2a27c76a7c279385796
    
    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
    ... ... @@ -126,8 +126,7 @@ data LinuxDistro
    126 126
       | Ubuntu2004
    
    127 127
       | Ubuntu1804
    
    128 128
       | Alpine312
    
    129
    -  | Alpine318
    
    130
    -  | Alpine320
    
    129
    +  | Alpine322
    
    131 130
       | AlpineWasm
    
    132 131
       | Rocky8
    
    133 132
       deriving (Eq)
    
    ... ... @@ -328,9 +327,8 @@ distroName Ubuntu2004 = "ubuntu20_04"
    328 327
     distroName Ubuntu2204    = "ubuntu22_04"
    
    329 328
     distroName Ubuntu2404    = "ubuntu24_04"
    
    330 329
     distroName Alpine312     = "alpine3_12"
    
    331
    -distroName Alpine318     = "alpine3_18"
    
    332
    -distroName Alpine320     = "alpine3_20"
    
    333
    -distroName AlpineWasm    = "alpine3_20-wasm"
    
    330
    +distroName Alpine322     = "alpine3_22"
    
    331
    +distroName AlpineWasm    = "alpine3_22-wasm"
    
    334 332
     distroName Rocky8        = "rocky8"
    
    335 333
     
    
    336 334
     opsysName :: Opsys -> String
    
    ... ... @@ -502,8 +500,7 @@ alpineVariables arch = mconcat $
    502 500
     
    
    503 501
     distroVariables :: Arch -> LinuxDistro -> Variables
    
    504 502
     distroVariables arch Alpine312 = alpineVariables arch
    
    505
    -distroVariables arch Alpine318 = alpineVariables arch
    
    506
    -distroVariables arch Alpine320 = alpineVariables arch
    
    503
    +distroVariables arch Alpine322 = alpineVariables arch
    
    507 504
     distroVariables _    Fedora33  = mconcat
    
    508 505
       -- LLC/OPT do not work for some reason in our fedora images
    
    509 506
       -- These tests fail with this error: T11649 T5681 T7571 T8131b
    
    ... ... @@ -1244,9 +1241,8 @@ alpine_x86 =
    1244 1241
         fullyStaticBrokenTests (standardBuildsWithConfig Amd64 (Linux Alpine312) (splitSectionsBroken static))
    
    1245 1242
       , fullyStaticBrokenTests (disableValidate (allowFailureGroup (standardBuildsWithConfig Amd64 (Linux Alpine312) staticNativeInt)))
    
    1246 1243
         -- 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))
    
    1244
    +  , disableValidate (standardBuildsWithConfig Amd64 (Linux Alpine322) (splitSectionsBroken vanilla))
    
    1245
    +  , allowFailureGroup (standardBuildsWithConfig I386 (Linux Alpine322) (splitSectionsBroken vanilla))
    
    1250 1246
       ]
    
    1251 1247
       where
    
    1252 1248
         -- ghcilink002 broken due to #17869
    
    ... ... @@ -1257,7 +1253,7 @@ alpine_x86 =
    1257 1253
     
    
    1258 1254
     alpine_aarch64 :: [JobGroup Job]
    
    1259 1255
     alpine_aarch64 = [
    
    1260
    -  disableValidate (standardBuildsWithConfig AArch64 (Linux Alpine318) (splitSectionsBroken vanilla))
    
    1256
    +  disableValidate (standardBuildsWithConfig AArch64 (Linux Alpine322) (splitSectionsBroken vanilla))
    
    1261 1257
       ]
    
    1262 1258
     
    
    1263 1259
     cross_jobs :: [JobGroup Job]
    
    ... ... @@ -1375,7 +1371,7 @@ mkPlatform arch opsys = archName arch <> "-" <> opsysName opsys
    1375 1371
     platform_mapping :: Map String (JobGroup BindistInfo)
    
    1376 1372
     platform_mapping = Map.map go combined_result
    
    1377 1373
       where
    
    1378
    -    whitelist = [ "x86_64-linux-alpine3_12-validate"
    
    1374
    +    whitelist = [ "x86_64-linux-alpine3_12-validate+fully_static"
    
    1379 1375
                     , "x86_64-linux-deb11-validate"
    
    1380 1376
                     , "x86_64-linux-deb12-validate"
    
    1381 1377
                     , "x86_64-linux-deb10-validate+debug_info"
    
    ... ... @@ -1384,19 +1380,19 @@ platform_mapping = Map.map go combined_result
    1384 1380
                     , "x86_64-windows-validate"
    
    1385 1381
                     , "aarch64-linux-deb12-validate"
    
    1386 1382
                     , "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"
    
    1383
    +                , "nightly-x86_64-linux-alpine3_22-wasm-cross_wasm32-wasi-release+host_fully_static+text_simdutf"
    
    1388 1384
                     , "nightly-x86_64-linux-deb11-validate"
    
    1389 1385
                     , "nightly-x86_64-linux-deb12-validate"
    
    1390
    -                , "x86_64-linux-alpine3_20-wasm-cross_wasm32-wasi-release+host_fully_static+text_simdutf"
    
    1386
    +                , "x86_64-linux-alpine3_22-wasm-cross_wasm32-wasi-release+host_fully_static+text_simdutf"
    
    1391 1387
                     , "x86_64-linux-deb12-validate+thread_sanitizer_cmm"
    
    1392 1388
                     , "nightly-aarch64-linux-deb10-validate"
    
    1393 1389
                     , "nightly-aarch64-linux-deb12-validate"
    
    1394 1390
                     , "nightly-aarch64-linux-deb12-wine-int_native-cross_aarch64-unknown-mingw32-validate"
    
    1395
    -                , "nightly-x86_64-linux-alpine3_12-validate"
    
    1391
    +                , "nightly-x86_64-linux-alpine3_12-validate+fully_static"
    
    1396 1392
                     , "nightly-x86_64-linux-deb10-validate"
    
    1397 1393
                     , "nightly-x86_64-linux-fedora33-release"
    
    1398 1394
                     , "nightly-x86_64-windows-validate"
    
    1399
    -                , "release-x86_64-linux-alpine3_12-release+no_split_sections"
    
    1395
    +                , "release-x86_64-linux-alpine3_12-release+fully_static+no_split_sections"
    
    1400 1396
                     , "release-x86_64-linux-deb10-release"
    
    1401 1397
                     , "release-x86_64-linux-deb11-release"
    
    1402 1398
                     , "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
       },
    
    ... ... @@ -1538,70 +1538,6 @@
    1538 1538
           "XZ_OPT": "-9"
    
    1539 1539
         }
    
    1540 1540
       },
    
    1541
    -  "nightly-x86_64-linux-alpine3_12-validate": {
    
    1542
    -    "after_script": [
    
    1543
    -      ".gitlab/ci.sh save_cache",
    
    1544
    -      ".gitlab/ci.sh save_test_output",
    
    1545
    -      ".gitlab/ci.sh clean",
    
    1546
    -      "cat ci_timings.txt"
    
    1547
    -    ],
    
    1548
    -    "allow_failure": false,
    
    1549
    -    "artifacts": {
    
    1550
    -      "expire_in": "8 weeks",
    
    1551
    -      "paths": [
    
    1552
    -        "ghc-x86_64-linux-alpine3_12-validate.tar.xz",
    
    1553
    -        "junit.xml",
    
    1554
    -        "unexpected-test-output.tar.gz"
    
    1555
    -      ],
    
    1556
    -      "reports": {
    
    1557
    -        "junit": "junit.xml"
    
    1558
    -      },
    
    1559
    -      "when": "always"
    
    1560
    -    },
    
    1561
    -    "cache": {
    
    1562
    -      "key": "x86_64-linux-alpine3_12-$CACHE_REV",
    
    1563
    -      "paths": [
    
    1564
    -        "cabal-cache",
    
    1565
    -        "toolchain"
    
    1566
    -      ]
    
    1567
    -    },
    
    1568
    -    "dependencies": [],
    
    1569
    -    "image": "registry.gitlab.haskell.org/ghc/ci-images/x86_64-linux-alpine3_12:$DOCKER_REV",
    
    1570
    -    "needs": [
    
    1571
    -      {
    
    1572
    -        "artifacts": false,
    
    1573
    -        "job": "hadrian-ghc-in-ghci"
    
    1574
    -      }
    
    1575
    -    ],
    
    1576
    -    "rules": [
    
    1577
    -      {
    
    1578
    -        "if": "(\"true\" == \"true\") && ($RELEASE_JOB != \"yes\") && ($NIGHTLY)",
    
    1579
    -        "when": "on_success"
    
    1580
    -      }
    
    1581
    -    ],
    
    1582
    -    "script": [
    
    1583
    -      "sudo chown ghc:ghc -R .",
    
    1584
    -      ".gitlab/ci.sh setup",
    
    1585
    -      ".gitlab/ci.sh configure",
    
    1586
    -      ".gitlab/ci.sh build_hadrian",
    
    1587
    -      ".gitlab/ci.sh test_hadrian"
    
    1588
    -    ],
    
    1589
    -    "stage": "full-build",
    
    1590
    -    "tags": [
    
    1591
    -      "x86_64-linux"
    
    1592
    -    ],
    
    1593
    -    "variables": {
    
    1594
    -      "BIGNUM_BACKEND": "gmp",
    
    1595
    -      "BIN_DIST_NAME": "ghc-x86_64-linux-alpine3_12-validate",
    
    1596
    -      "BROKEN_TESTS": "encoding004 T10458",
    
    1597
    -      "BUILD_FLAVOUR": "validate",
    
    1598
    -      "CONFIGURE_ARGS": "--disable-ld-override --enable-strict-ghc-toolchain-check",
    
    1599
    -      "INSTALL_CONFIGURE_ARGS": "--disable-ld-override --enable-strict-ghc-toolchain-check",
    
    1600
    -      "RUNTEST_ARGS": "",
    
    1601
    -      "TEST_ENV": "x86_64-linux-alpine3_12-validate",
    
    1602
    -      "XZ_OPT": "-9"
    
    1603
    -    }
    
    1604
    -  },
    
    1605 1541
       "nightly-x86_64-linux-alpine3_12-validate+fully_static": {
    
    1606 1542
         "after_script": [
    
    1607 1543
           ".gitlab/ci.sh save_cache",
    
    ... ... @@ -1666,7 +1602,7 @@
    1666 1602
           "XZ_OPT": "-9"
    
    1667 1603
         }
    
    1668 1604
       },
    
    1669
    -  "nightly-x86_64-linux-alpine3_20-validate": {
    
    1605
    +  "nightly-x86_64-linux-alpine3_22-validate": {
    
    1670 1606
         "after_script": [
    
    1671 1607
           ".gitlab/ci.sh save_cache",
    
    1672 1608
           ".gitlab/ci.sh save_test_output",
    
    ... ... @@ -1677,7 +1613,7 @@
    1677 1613
         "artifacts": {
    
    1678 1614
           "expire_in": "8 weeks",
    
    1679 1615
           "paths": [
    
    1680
    -        "ghc-x86_64-linux-alpine3_20-validate.tar.xz",
    
    1616
    +        "ghc-x86_64-linux-alpine3_22-validate.tar.xz",
    
    1681 1617
             "junit.xml",
    
    1682 1618
             "unexpected-test-output.tar.gz"
    
    1683 1619
           ],
    
    ... ... @@ -1687,14 +1623,14 @@
    1687 1623
           "when": "always"
    
    1688 1624
         },
    
    1689 1625
         "cache": {
    
    1690
    -      "key": "x86_64-linux-alpine3_20-$CACHE_REV",
    
    1626
    +      "key": "x86_64-linux-alpine3_22-$CACHE_REV",
    
    1691 1627
           "paths": [
    
    1692 1628
             "cabal-cache",
    
    1693 1629
             "toolchain"
    
    1694 1630
           ]
    
    1695 1631
         },
    
    1696 1632
         "dependencies": [],
    
    1697
    -    "image": "registry.gitlab.haskell.org/ghc/ci-images/x86_64-linux-alpine3_20:$DOCKER_REV",
    
    1633
    +    "image": "registry.gitlab.haskell.org/ghc/ci-images/x86_64-linux-alpine3_22:$DOCKER_REV",
    
    1698 1634
         "needs": [
    
    1699 1635
           {
    
    1700 1636
             "artifacts": false,
    
    ... ... @@ -1720,17 +1656,17 @@
    1720 1656
         ],
    
    1721 1657
         "variables": {
    
    1722 1658
           "BIGNUM_BACKEND": "gmp",
    
    1723
    -      "BIN_DIST_NAME": "ghc-x86_64-linux-alpine3_20-validate",
    
    1659
    +      "BIN_DIST_NAME": "ghc-x86_64-linux-alpine3_22-validate",
    
    1724 1660
           "BROKEN_TESTS": "encoding004 T10458",
    
    1725 1661
           "BUILD_FLAVOUR": "validate",
    
    1726 1662
           "CONFIGURE_ARGS": "--disable-ld-override --enable-strict-ghc-toolchain-check",
    
    1727 1663
           "INSTALL_CONFIGURE_ARGS": "--disable-ld-override --enable-strict-ghc-toolchain-check",
    
    1728 1664
           "RUNTEST_ARGS": "",
    
    1729
    -      "TEST_ENV": "x86_64-linux-alpine3_20-validate",
    
    1665
    +      "TEST_ENV": "x86_64-linux-alpine3_22-validate",
    
    1730 1666
           "XZ_OPT": "-9"
    
    1731 1667
         }
    
    1732 1668
       },
    
    1733
    -  "nightly-x86_64-linux-alpine3_20-wasm-cross_wasm32-wasi-release+host_fully_static+text_simdutf": {
    
    1669
    +  "nightly-x86_64-linux-alpine3_22-wasm-cross_wasm32-wasi-release+host_fully_static+text_simdutf": {
    
    1734 1670
         "after_script": [
    
    1735 1671
           ".gitlab/ci.sh save_cache",
    
    1736 1672
           ".gitlab/ci.sh save_test_output",
    
    ... ... @@ -1741,7 +1677,7 @@
    1741 1677
         "artifacts": {
    
    1742 1678
           "expire_in": "8 weeks",
    
    1743 1679
           "paths": [
    
    1744
    -        "ghc-x86_64-linux-alpine3_20-wasm-cross_wasm32-wasi-release+host_fully_static+text_simdutf.tar.xz",
    
    1680
    +        "ghc-x86_64-linux-alpine3_22-wasm-cross_wasm32-wasi-release+host_fully_static+text_simdutf.tar.xz",
    
    1745 1681
             "junit.xml",
    
    1746 1682
             "unexpected-test-output.tar.gz"
    
    1747 1683
           ],
    
    ... ... @@ -1751,14 +1687,14 @@
    1751 1687
           "when": "always"
    
    1752 1688
         },
    
    1753 1689
         "cache": {
    
    1754
    -      "key": "x86_64-linux-alpine3_20-wasm-$CACHE_REV",
    
    1690
    +      "key": "x86_64-linux-alpine3_22-wasm-$CACHE_REV",
    
    1755 1691
           "paths": [
    
    1756 1692
             "cabal-cache",
    
    1757 1693
             "toolchain"
    
    1758 1694
           ]
    
    1759 1695
         },
    
    1760 1696
         "dependencies": [],
    
    1761
    -    "image": "registry.gitlab.haskell.org/ghc/ci-images/x86_64-linux-alpine3_20-wasm:$DOCKER_REV",
    
    1697
    +    "image": "registry.gitlab.haskell.org/ghc/ci-images/x86_64-linux-alpine3_22-wasm:$DOCKER_REV",
    
    1762 1698
         "needs": [
    
    1763 1699
           {
    
    1764 1700
             "artifacts": false,
    
    ... ... @@ -1784,18 +1720,18 @@
    1784 1720
         ],
    
    1785 1721
         "variables": {
    
    1786 1722
           "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
       },
    
    ... ... @@ -4493,7 +4429,7 @@
    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
       },
    
    ... ... @@ -5851,69 +5722,6 @@
    5851 5722
           "TEST_ENV": "x86_64-linux-alpine3_12-int_native-validate+fully_static"
    
    5852 5723
         }
    
    5853 5724
       },
    
    5854
    -  "x86_64-linux-alpine3_12-validate": {
    
    5855
    -    "after_script": [
    
    5856
    -      ".gitlab/ci.sh save_cache",
    
    5857
    -      ".gitlab/ci.sh save_test_output",
    
    5858
    -      ".gitlab/ci.sh clean",
    
    5859
    -      "cat ci_timings.txt"
    
    5860
    -    ],
    
    5861
    -    "allow_failure": false,
    
    5862
    -    "artifacts": {
    
    5863
    -      "expire_in": "2 weeks",
    
    5864
    -      "paths": [
    
    5865
    -        "ghc-x86_64-linux-alpine3_12-validate.tar.xz",
    
    5866
    -        "junit.xml",
    
    5867
    -        "unexpected-test-output.tar.gz"
    
    5868
    -      ],
    
    5869
    -      "reports": {
    
    5870
    -        "junit": "junit.xml"
    
    5871
    -      },
    
    5872
    -      "when": "always"
    
    5873
    -    },
    
    5874
    -    "cache": {
    
    5875
    -      "key": "x86_64-linux-alpine3_12-$CACHE_REV",
    
    5876
    -      "paths": [
    
    5877
    -        "cabal-cache",
    
    5878
    -        "toolchain"
    
    5879
    -      ]
    
    5880
    -    },
    
    5881
    -    "dependencies": [],
    
    5882
    -    "image": "registry.gitlab.haskell.org/ghc/ci-images/x86_64-linux-alpine3_12:$DOCKER_REV",
    
    5883
    -    "needs": [
    
    5884
    -      {
    
    5885
    -        "artifacts": false,
    
    5886
    -        "job": "hadrian-ghc-in-ghci"
    
    5887
    -      }
    
    5888
    -    ],
    
    5889
    -    "rules": [
    
    5890
    -      {
    
    5891
    -        "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\bx86_64-linux-alpine3_12-validate(\\s|$).*/)) || (($ONLY_JOBS == null) && (\"disabled\" != \"disabled\"))) && ($RELEASE_JOB != \"yes\") && ($NIGHTLY == null)",
    
    5892
    -        "when": "on_success"
    
    5893
    -      }
    
    5894
    -    ],
    
    5895
    -    "script": [
    
    5896
    -      "sudo chown ghc:ghc -R .",
    
    5897
    -      ".gitlab/ci.sh setup",
    
    5898
    -      ".gitlab/ci.sh configure",
    
    5899
    -      ".gitlab/ci.sh build_hadrian",
    
    5900
    -      ".gitlab/ci.sh test_hadrian"
    
    5901
    -    ],
    
    5902
    -    "stage": "full-build",
    
    5903
    -    "tags": [
    
    5904
    -      "x86_64-linux"
    
    5905
    -    ],
    
    5906
    -    "variables": {
    
    5907
    -      "BIGNUM_BACKEND": "gmp",
    
    5908
    -      "BIN_DIST_NAME": "ghc-x86_64-linux-alpine3_12-validate",
    
    5909
    -      "BROKEN_TESTS": "encoding004 T10458",
    
    5910
    -      "BUILD_FLAVOUR": "validate",
    
    5911
    -      "CONFIGURE_ARGS": "--disable-ld-override --enable-strict-ghc-toolchain-check",
    
    5912
    -      "INSTALL_CONFIGURE_ARGS": "--disable-ld-override --enable-strict-ghc-toolchain-check",
    
    5913
    -      "RUNTEST_ARGS": "",
    
    5914
    -      "TEST_ENV": "x86_64-linux-alpine3_12-validate"
    
    5915
    -    }
    
    5916
    -  },
    
    5917 5725
       "x86_64-linux-alpine3_12-validate+fully_static": {
    
    5918 5726
         "after_script": [
    
    5919 5727
           ".gitlab/ci.sh save_cache",
    
    ... ... @@ -5977,7 +5785,7 @@
    5977 5785
           "TEST_ENV": "x86_64-linux-alpine3_12-validate+fully_static"
    
    5978 5786
         }
    
    5979 5787
       },
    
    5980
    -  "x86_64-linux-alpine3_20-validate": {
    
    5788
    +  "x86_64-linux-alpine3_22-validate": {
    
    5981 5789
         "after_script": [
    
    5982 5790
           ".gitlab/ci.sh save_cache",
    
    5983 5791
           ".gitlab/ci.sh save_test_output",
    
    ... ... @@ -5988,7 +5796,7 @@
    5988 5796
         "artifacts": {
    
    5989 5797
           "expire_in": "2 weeks",
    
    5990 5798
           "paths": [
    
    5991
    -        "ghc-x86_64-linux-alpine3_20-validate.tar.xz",
    
    5799
    +        "ghc-x86_64-linux-alpine3_22-validate.tar.xz",
    
    5992 5800
             "junit.xml",
    
    5993 5801
             "unexpected-test-output.tar.gz"
    
    5994 5802
           ],
    
    ... ... @@ -5998,14 +5806,14 @@
    5998 5806
           "when": "always"
    
    5999 5807
         },
    
    6000 5808
         "cache": {
    
    6001
    -      "key": "x86_64-linux-alpine3_20-$CACHE_REV",
    
    5809
    +      "key": "x86_64-linux-alpine3_22-$CACHE_REV",
    
    6002 5810
           "paths": [
    
    6003 5811
             "cabal-cache",
    
    6004 5812
             "toolchain"
    
    6005 5813
           ]
    
    6006 5814
         },
    
    6007 5815
         "dependencies": [],
    
    6008
    -    "image": "registry.gitlab.haskell.org/ghc/ci-images/x86_64-linux-alpine3_20:$DOCKER_REV",
    
    5816
    +    "image": "registry.gitlab.haskell.org/ghc/ci-images/x86_64-linux-alpine3_22:$DOCKER_REV",
    
    6009 5817
         "needs": [
    
    6010 5818
           {
    
    6011 5819
             "artifacts": false,
    
    ... ... @@ -6014,7 +5822,7 @@
    6014 5822
         ],
    
    6015 5823
         "rules": [
    
    6016 5824
           {
    
    6017
    -        "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\bx86_64-linux-alpine3_20-validate(\\s|$).*/)) || (($ONLY_JOBS == null) && (\"disabled\" != \"disabled\"))) && ($RELEASE_JOB != \"yes\") && ($NIGHTLY == null)",
    
    5825
    +        "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\bx86_64-linux-alpine3_22-validate(\\s|$).*/)) || (($ONLY_JOBS == null) && (\"disabled\" != \"disabled\"))) && ($RELEASE_JOB != \"yes\") && ($NIGHTLY == null)",
    
    6018 5826
             "when": "on_success"
    
    6019 5827
           }
    
    6020 5828
         ],
    
    ... ... @@ -6031,16 +5839,16 @@
    6031 5839
         ],
    
    6032 5840
         "variables": {
    
    6033 5841
           "BIGNUM_BACKEND": "gmp",
    
    6034
    -      "BIN_DIST_NAME": "ghc-x86_64-linux-alpine3_20-validate",
    
    5842
    +      "BIN_DIST_NAME": "ghc-x86_64-linux-alpine3_22-validate",
    
    6035 5843
           "BROKEN_TESTS": "encoding004 T10458",
    
    6036 5844
           "BUILD_FLAVOUR": "validate",
    
    6037 5845
           "CONFIGURE_ARGS": "--disable-ld-override --enable-strict-ghc-toolchain-check",
    
    6038 5846
           "INSTALL_CONFIGURE_ARGS": "--disable-ld-override --enable-strict-ghc-toolchain-check",
    
    6039 5847
           "RUNTEST_ARGS": "",
    
    6040
    -      "TEST_ENV": "x86_64-linux-alpine3_20-validate"
    
    5848
    +      "TEST_ENV": "x86_64-linux-alpine3_22-validate"
    
    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',
    
    35
    +        'release-x86_64-linux-alpine3_12-release+fully_static+no_split_sections': 'x86_64-alpine3_12-linux-static',
    
    36
    +        'release-x86_64-linux-alpine3_22-release+no_split_sections': 'x86_64-alpine3_22-linux',
    
    37 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',
    
    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