[Git][ghc/ghc][wip/marge_bot_batch_merge_job] 5 commits: haddock: Keep track of warnings/deprecations from dependent packages in `InstalledInterface`
Marge Bot (@marge-bot)
gitlab at gitlab.haskell.org
Wed Jul 17 13:02:31 UTC 2024
Marge Bot pushed to branch wip/marge_bot_batch_merge_job at Glasgow Haskell Compiler / GHC
Commits:
0b4ff9fa by Zubin Duggal at 2024-07-15T12:12:30-04:00
haddock: Keep track of warnings/deprecations from dependent packages in `InstalledInterface`
and use this to propagate these on items re-exported from dependent packages.
Fixes #25037
- - - - -
b8b4b212 by Zubin Duggal at 2024-07-15T12:12:30-04:00
haddock: Keep track of instance source locations in `InstalledInterface` and use this to add
source locations on out of package instances
Fixes #24929
- - - - -
559a7a7c by Matthew Pickering at 2024-07-15T12:13:05-04:00
ci: Refactor job_groups definition, split up by platform
The groups are now split up so it's easier to see which jobs are
generated for each platform
No change in behaviour, just refactoring.
- - - - -
20383006 by Matthew Pickering at 2024-07-16T11:48:25+01:00
ci: Replace debian 10 with debian 12 on validation jobs
Since debian 10 is now EOL we migrate onwards to debian 12 as the basis
for most platform independent validation jobs.
- - - - -
f879c69d by Matthew Pickering at 2024-07-17T09:01:55-04:00
ghcup-metadata: Fix use of arch argument
The arch argument was ignored when making the jobname, which lead to
failures when generating metadata for the alpine_3_18-aarch64 bindist.
Fixes #25089
- - - - -
12 changed files:
- .gitlab-ci.yml
- .gitlab/generate-ci/gen_ci.hs
- .gitlab/jobs.yaml
- .gitlab/rel_eng/fetch-gitlab-artifacts/fetch_gitlab.py
- .gitlab/rel_eng/mk-ghcup-metadata/mk_ghcup_metadata.py
- utils/haddock/haddock-api/src/Haddock.hs
- utils/haddock/haddock-api/src/Haddock/Backends/Hyperlinker/Utils.hs
- utils/haddock/haddock-api/src/Haddock/Interface.hs
- utils/haddock/haddock-api/src/Haddock/Interface/AttachInstances.hs
- utils/haddock/haddock-api/src/Haddock/Interface/Create.hs
- utils/haddock/haddock-api/src/Haddock/InterfaceFile.hs
- utils/haddock/haddock-api/src/Haddock/Types.hs
Changes:
=====================================
.gitlab-ci.yml
=====================================
@@ -2,7 +2,7 @@ variables:
GIT_SSL_NO_VERIFY: "1"
# Commit of ghc/ci-images repository from which to pull Docker images
- DOCKER_REV: be59dc3d30f5acdc97af38e79d8d034b75df8939
+ DOCKER_REV: 486541129a8e7bf77c2cf7cd76ca998f690d5685
# Sequential version number of all cached things.
# Bump to invalidate GitLab CI cache.
@@ -102,9 +102,9 @@ workflow:
.bootstrap_matrix : &bootstrap_matrix
matrix:
- GHC_VERSION: 9.8.1
- DOCKER_IMAGE: "registry.gitlab.haskell.org/ghc/ci-images/x86_64-linux-deb10-ghc9_8:$DOCKER_REV"
+ DOCKER_IMAGE: "registry.gitlab.haskell.org/ghc/ci-images/x86_64-linux-deb12-ghc9_8:$DOCKER_REV"
- GHC_VERSION: 9.10.1
- DOCKER_IMAGE: "registry.gitlab.haskell.org/ghc/ci-images/x86_64-linux-deb10-ghc9_10:$DOCKER_REV"
+ DOCKER_IMAGE: "registry.gitlab.haskell.org/ghc/ci-images/x86_64-linux-deb12-ghc9_10:$DOCKER_REV"
# Allow linters to fail on draft MRs.
# This must be explicitly transcluded in lint jobs which
@@ -216,7 +216,7 @@ include: '.gitlab/jobs.yaml'
ghc-linters:
stage: tool-lint
- image: "registry.gitlab.haskell.org/ghc/ci-images/x86_64-linux-deb10:$DOCKER_REV"
+ image: "registry.gitlab.haskell.org/ghc/ci-images/x86_64-linux-deb12:$DOCKER_REV"
extends: .lint-params
variables:
BUILD_FLAVOUR: default
@@ -256,7 +256,7 @@ typecheck-testsuite:
# accommodate, e.g., haddock changes not yet upstream) but not on `master` or
# Marge jobs.
.lint-submods:
- image: "registry.gitlab.haskell.org/ghc/ci-images/x86_64-linux-deb10:$DOCKER_REV"
+ image: "registry.gitlab.haskell.org/ghc/ci-images/x86_64-linux-deb12:$DOCKER_REV"
extends: .lint-params
variables:
BUILD_FLAVOUR: default
@@ -274,7 +274,7 @@ typecheck-testsuite:
# accommodate, e.g., haddock changes not yet upstream) but not on `master` or
# Marge jobs.
lint-author:
- image: "registry.gitlab.haskell.org/ghc/ci-images/x86_64-linux-deb10:$DOCKER_REV"
+ image: "registry.gitlab.haskell.org/ghc/ci-images/x86_64-linux-deb12:$DOCKER_REV"
extends: .lint-params
variables:
BUILD_FLAVOUR: default
@@ -349,7 +349,7 @@ lint-submods-branch:
.lint-params:
needs: []
- image: "registry.gitlab.haskell.org/ghc/ci-images/x86_64-linux-deb10:$DOCKER_REV"
+ image: "registry.gitlab.haskell.org/ghc/ci-images/x86_64-linux-deb12:$DOCKER_REV"
extends: .lint
before_script:
- export PATH="/opt/toolchain/bin:$PATH"
@@ -390,7 +390,7 @@ hadrian-ghc-in-ghci:
- job: lint-linters
- job: lint-submods
optional: true
- image: "registry.gitlab.haskell.org/ghc/ci-images/x86_64-linux-deb10:$DOCKER_REV"
+ image: "registry.gitlab.haskell.org/ghc/ci-images/x86_64-linux-deb12:$DOCKER_REV"
before_script:
# workaround for docker permissions
- sudo chown ghc:ghc -R .
@@ -541,11 +541,11 @@ abi-test-nightly:
doc-tarball:
stage: packaging
needs:
- - job: x86_64-linux-deb10-numa-slow-validate
+ - job: x86_64-linux-deb12-numa-slow-validate
optional: true
- - job: nightly-x86_64-linux-deb10-validate
+ - job: nightly-x86_64-linux-deb12-validate
optional: true
- - job: release-x86_64-linux-deb10-release
+ - job: release-x86_64-linux-deb12-release
optional: true
- job: x86_64-windows-validate
@@ -557,10 +557,10 @@ doc-tarball:
tags:
- x86_64-linux
- image: "registry.gitlab.haskell.org/ghc/ci-images/x86_64-linux-deb10:$DOCKER_REV"
+ image: "registry.gitlab.haskell.org/ghc/ci-images/x86_64-linux-deb12:$DOCKER_REV"
dependencies: null
variables:
- LINUX_BINDIST: "ghc-x86_64-linux-deb10.tar.xz"
+ LINUX_BINDIST: "ghc-x86_64-linux-deb12.tar.xz"
WINDOWS_BINDIST: "ghc-x86_64-windows.tar.xz"
artifacts:
expose_as: "Documentation Preview"
@@ -576,9 +576,9 @@ doc-tarball:
- users_guide.pdf
script:
- |
- mv "ghc-x86_64-linux-deb10-numa-slow-validate.tar.xz" "$LINUX_BINDIST" \
- || mv "ghc-x86_64-linux-deb10-validate.tar.xz" "$LINUX_BINDIST" \
- || mv "ghc-x86_64-linux-deb10-release.tar.xz" "$LINUX_BINDIST" \
+ mv "ghc-x86_64-linux-deb12-numa-slow-validate.tar.xz" "$LINUX_BINDIST" \
+ || mv "ghc-x86_64-linux-deb12-validate.tar.xz" "$LINUX_BINDIST" \
+ || mv "ghc-x86_64-linux-deb12-release.tar.xz" "$LINUX_BINDIST" \
|| true
mv "ghc-x86_64-windows-validate.tar.xz" "$WINDOWS_BINDIST" \
|| mv "ghc-x86_64-windows-release.tar.xz" "$WINDOWS_BINDIST" \
@@ -606,7 +606,7 @@ hackage-doc-tarball:
- job: source-tarball
tags:
- x86_64-linux
- image: "registry.gitlab.haskell.org/ghc/ci-images/x86_64-linux-deb10:$DOCKER_REV"
+ image: "registry.gitlab.haskell.org/ghc/ci-images/x86_64-linux-deb12:$DOCKER_REV"
dependencies: null
variables:
# Don't clone the git repo..
@@ -634,7 +634,7 @@ source-tarball:
stage: full-build
tags:
- x86_64-linux
- image: "registry.gitlab.haskell.org/ghc/ci-images/x86_64-linux-deb10:$DOCKER_REV"
+ image: "registry.gitlab.haskell.org/ghc/ci-images/x86_64-linux-deb12:$DOCKER_REV"
dependencies: []
artifacts:
paths:
@@ -676,7 +676,7 @@ package-hadrian-bootstrap-sources:
tags:
- x86_64-linux
needs: ["generate-hadrian-bootstrap-sources"]
- image: "registry.gitlab.haskell.org/ghc/ci-images/x86_64-linux-deb10:$DOCKER_REV"
+ image: "registry.gitlab.haskell.org/ghc/ci-images/x86_64-linux-deb12:$DOCKER_REV"
artifacts:
paths:
- hadrian-bootstrap-sources-all.tar.gz
@@ -720,7 +720,7 @@ test-bootstrap:
variables:
# Don't record performance benchmarks
TEST_ENV: ""
- BIN_DIST_NAME: "ghc-x86_64-deb10-linux"
+ BIN_DIST_NAME: "ghc-x86_64-deb12-linux"
BUILD_FLAVOUR: "validate"
NO_BOOT: "1"
rules:
@@ -769,16 +769,16 @@ test-bootstrap:
hackage-lint:
needs:
- - job: x86_64-linux-deb10-numa-slow-validate
+ - job: x86_64-linux-deb12-numa-slow-validate
optional: true
artifacts: false
- - job: nightly-x86_64-linux-deb10-numa-slow-validate
+ - job: nightly-x86_64-linux-deb12-numa-slow-validate
optional: true
artifacts: false
- - job: nightly-aarch64-linux-deb10-validate
+ - job: nightly-aarch64-linux-deb12-validate
optional: true
artifacts: false
- - job: aarch64-linux-deb10-validate
+ - job: aarch64-linux-deb12-validate
optional: true
artifacts: false
extends: .hackage
@@ -793,10 +793,10 @@ hackage-lint:
hackage-label-lint:
needs:
- - job: x86_64-linux-deb10-numa-slow-validate
+ - job: x86_64-linux-deb12-numa-slow-validate
optional: true
artifacts: false
- - job: aarch64-linux-deb10-validate
+ - job: aarch64-linux-deb12-validate
optional: true
artifacts: false
extends: .hackage
@@ -810,10 +810,10 @@ hackage-label-lint:
# affects the total allocation numbers for the simplifier portion significantly.
nightly-hackage-lint:
needs:
- - job: nightly-x86_64-linux-deb10-numa-slow-validate
+ - job: nightly-x86_64-linux-deb12-numa-slow-validate
optional: true
artifacts: false
- - job: nightly-aarch64-linux-deb10-validate
+ - job: nightly-aarch64-linux-deb12-validate
optional: true
artifacts: false
rules:
@@ -830,7 +830,7 @@ nightly-hackage-perf:
- job: nightly-x86_64-linux-fedora33-release
optional: true
artifacts: false
- - job: nightly-aarch64-linux-deb10-validate
+ - job: nightly-aarch64-linux-deb12-validate
optional: true
artifacts: false
rules:
@@ -849,7 +849,7 @@ release-hackage-lint:
- job: release-x86_64-linux-fedora33-release
optional: true
artifacts: false
- - job: release-aarch64-linux-deb10-release+no_split_sections
+ - job: release-aarch64-linux-deb12-release+no_split_sections
optional: true
artifacts: false
rules:
@@ -882,9 +882,9 @@ release-hackage-lint:
.test-primops-validate-template:
needs:
- - job: x86_64-linux-deb10-validate+debug_info
+ - job: x86_64-linux-deb12-validate
artifacts: false
- - job: aarch64-linux-deb10-validate
+ - job: aarch64-linux-deb12-validate
artifacts: false
- job: aarch64-darwin-validate
artifacts: false
@@ -900,9 +900,9 @@ test-primops-label:
test-primops-nightly:
extends: .test-primops
needs:
- - job: nightly-x86_64-linux-deb10-validate
+ - job: nightly-x86_64-linux-deb12-validate
artifacts: false
- - job: nightly-aarch64-linux-deb10-validate
+ - job: nightly-aarch64-linux-deb12-validate
artifacts: false
- job: nightly-aarch64-darwin-validate
artifacts: false
@@ -1086,7 +1086,7 @@ pages:
project-version:
stage: packaging
- image: "registry.gitlab.haskell.org/ghc/ci-images/x86_64-linux-deb10:$DOCKER_REV"
+ image: "registry.gitlab.haskell.org/ghc/ci-images/x86_64-linux-deb12:$DOCKER_REV"
tags:
- x86_64-linux
variables:
@@ -1155,16 +1155,26 @@ ghcup-metadata-nightly:
artifacts: false
- job: nightly-x86_64-linux-alpine3_12-validate
artifacts: false
+ - job: nightly-x86_64-linux-alpine3_20-validate
+ artifacts: false
- job: nightly-x86_64-linux-deb9-validate
artifacts: false
- job: nightly-i386-linux-deb10-validate
artifacts: false
+ - job: nightly-i386-linux-deb12-validate
+ artifacts: false
- job: nightly-x86_64-linux-deb10-validate
artifacts: false
- job: nightly-aarch64-linux-deb10-validate
artifacts: false
- job: nightly-x86_64-linux-deb11-validate
artifacts: false
+ - job: nightly-x86_64-linux-deb12-validate
+ artifacts: false
+ - job: nightly-aarch64-linux-deb12-validate
+ artifacts: false
+ - job: nightly-aarch64-linux-alpine3_18-validate
+ artifacts: false
- job: source-tarball
artifacts: false
- job: project-version
=====================================
.gitlab/generate-ci/gen_ci.hs
=====================================
@@ -975,83 +975,136 @@ flattenNamedJob (NamedJob n i) = (n, i)
jobs :: Map String Job
jobs = Map.fromList $ concatMap (flattenJobGroup) job_groups
-job_groups :: [JobGroup Job]
-job_groups =
- [ disableValidate (standardBuilds Amd64 (Linux Debian10))
- , addValidateRule TestPrimops (standardBuildsWithConfig Amd64 (Linux Debian10) dwarf)
- , validateBuilds Amd64 (Linux Debian10) nativeInt
- , validateBuilds Amd64 (Linux Debian10) unreg
- , fastCI (validateBuilds Amd64 (Linux Debian10) debug)
- , -- More work is needed to address TSAN failures: #22520
- modifyNightlyJobs allowFailure
- (modifyValidateJobs (allowFailure . manual) tsan_jobs)
- , -- Nightly allowed to fail: #22343
- modifyNightlyJobs allowFailure
- (modifyValidateJobs manual (validateBuilds Amd64 (Linux Debian10) noTntc))
- , onlyRule LLVMBackend (validateBuilds Amd64 (Linux Debian12) llvm)
- , disableValidate (standardBuilds Amd64 (Linux Debian11))
- , disableValidate (standardBuilds Amd64 (Linux Debian12))
- -- We still build Deb9 bindists for now due to Ubuntu 18 and Linux Mint 19
- -- not being at EOL until April 2023 and they still need tinfo5.
- , disableValidate (standardBuildsWithConfig Amd64 (Linux Debian9) (splitSectionsBroken vanilla))
- , disableValidate (standardBuilds Amd64 (Linux Ubuntu1804))
- , disableValidate (standardBuilds Amd64 (Linux Ubuntu2004))
- , disableValidate (standardBuilds Amd64 (Linux Rocky8))
- , disableValidate (standardBuildsWithConfig Amd64 (Linux Centos7) (splitSectionsBroken vanilla))
- -- Fedora33 job is always built with perf so there's one job in the normal
- -- validate pipeline which is built with perf.
- , fastCI (standardBuildsWithConfig Amd64 (Linux Fedora33) releaseConfig)
- -- This job is only for generating head.hackage docs
- , hackage_doc_job (disableValidate (standardBuildsWithConfig Amd64 (Linux Fedora33) releaseConfig))
- , disableValidate (standardBuildsWithConfig Amd64 (Linux Fedora33) dwarf)
- , disableValidate (standardBuilds Amd64 (Linux Fedora38))
- , fastCI (standardBuildsWithConfig Amd64 Windows vanilla)
- , disableValidate (standardBuildsWithConfig Amd64 Windows nativeInt)
- , addValidateRule TestPrimops (standardBuilds Amd64 Darwin)
- , fastCI (standardBuilds AArch64 Darwin)
- , fastCI (standardBuildsWithConfig AArch64 (Linux Debian10) (splitSectionsBroken vanilla))
- , disableValidate (standardBuildsWithConfig AArch64 (Linux Debian11) (splitSectionsBroken vanilla))
- , onlyRule LLVMBackend (validateBuilds AArch64 (Linux Debian12) llvm)
- , standardBuildsWithConfig I386 (Linux Debian10) (splitSectionsBroken vanilla)
- -- Fully static build, in theory usable on any linux distribution.
- , fullyStaticBrokenTests (standardBuildsWithConfig Amd64 (Linux Alpine312) (splitSectionsBroken static))
- -- Dynamically linked build, suitable for building your own static executables on alpine
- , disableValidate (standardBuildsWithConfig Amd64 (Linux Alpine312) (splitSectionsBroken vanilla))
- , disableValidate (standardBuildsWithConfig AArch64 (Linux Alpine318) (splitSectionsBroken vanilla))
- , disableValidate (standardBuildsWithConfig Amd64 (Linux Alpine320) (splitSectionsBroken vanilla))
- , fullyStaticBrokenTests (disableValidate (allowFailureGroup (standardBuildsWithConfig Amd64 (Linux Alpine312) staticNativeInt)))
- , validateBuilds Amd64 (Linux Debian11) (crossConfig "aarch64-linux-gnu" (Emulator "qemu-aarch64 -L /usr/aarch64-linux-gnu") Nothing)
-
- , addValidateRule JSBackend (validateBuilds Amd64 (Linux Debian11Js) javascriptConfig)
-
- , make_wasm_jobs wasm_build_config
- , modifyValidateJobs manual $
- make_wasm_jobs wasm_build_config {bignumBackend = Native}
- , modifyValidateJobs manual $
- make_wasm_jobs wasm_build_config {unregisterised = True}
- , onlyRule NonmovingGc (validateBuilds Amd64 (Linux Debian11) vanilla {validateNonmovingGc = True})
- , onlyRule IpeData (validateBuilds Amd64 (Linux Debian10) zstdIpe)
- ]
+debian_x86 :: [JobGroup Job]
+debian_x86 =
+ [ -- Release configurations
+ -- We still build Deb9 bindists for now due to Ubuntu 18 and Linux Mint 19
+ -- not being at EOL until April 2023 and they still need tinfo5.
+ disableValidate (standardBuildsWithConfig Amd64 (Linux Debian9) (splitSectionsBroken vanilla))
+ , disableValidate (standardBuilds Amd64 (Linux Debian10))
+ , disableValidate (standardBuildsWithConfig Amd64 (Linux Debian10) dwarf)
+ , disableValidate (standardBuilds Amd64 (Linux Debian11))
+ , disableValidate (standardBuilds Amd64 (Linux Debian12))
+
+
+ -- Validate only builds
+ , fastCI (validateBuilds Amd64 (Linux validate_debian) debug)
+ , validateBuilds Amd64 (Linux validate_debian) nativeInt
+ , validateBuilds Amd64 (Linux validate_debian) unreg
+ -- More work is needed to address TSAN failures: #22520
+ , modifyNightlyJobs allowFailure (modifyValidateJobs (allowFailure . manual) tsan_jobs)
+ , -- Nightly allowed to fail: #22343
+ modifyNightlyJobs allowFailure (modifyValidateJobs manual (validateBuilds Amd64 (Linux validate_debian) noTntc))
+
+ , onlyRule LLVMBackend (validateBuilds Amd64 (Linux validate_debian) llvm)
+ , addValidateRule TestPrimops (standardBuilds Amd64 (Linux validate_debian))
+
+ , onlyRule NonmovingGc (validateBuilds Amd64 (Linux validate_debian) vanilla {validateNonmovingGc = True})
+ , onlyRule IpeData (validateBuilds Amd64 (Linux validate_debian) zstdIpe)
+ ]
+ where
+ validate_debian = Debian12
+
+ tsan_jobs =
+ modifyJobs
+ ( addVariable "TSAN_OPTIONS" "suppressions=$CI_PROJECT_DIR/rts/.tsan-suppressions"
+ -- Haddock is large enough to make TSAN choke without massive quantities of
+ -- memory.
+ . addVariable "HADRIAN_ARGS" "--docs=none") $
+ validateBuilds Amd64 (Linux validate_debian) tsan
+
+debian_aarch64 :: [JobGroup Job]
+debian_aarch64 =
+ [
+ disableValidate (standardBuildsWithConfig AArch64 (Linux Debian10) (splitSectionsBroken vanilla))
+ , fastCI (standardBuildsWithConfig AArch64 (Linux Debian12) (splitSectionsBroken vanilla))
+ -- LLVM backend bootstrap
+ , onlyRule LLVMBackend (validateBuilds AArch64 (Linux Debian12) llvm)
+ ]
+debian_i386 :: [JobGroup Job]
+debian_i386 =
+ [ disableValidate (standardBuildsWithConfig I386 (Linux Debian10) (splitSectionsBroken vanilla))
+ , standardBuildsWithConfig I386 (Linux Debian12) (splitSectionsBroken vanilla)
+ ]
+
+ubuntu_x86 :: [JobGroup Job]
+ubuntu_x86 =
+ [ disableValidate (standardBuilds Amd64 (Linux Ubuntu1804))
+ , disableValidate (standardBuilds Amd64 (Linux Ubuntu2004))
+ ]
+
+rhel_x86 :: [JobGroup Job]
+rhel_x86 =
+ [ disableValidate (standardBuildsWithConfig Amd64 (Linux Centos7) (splitSectionsBroken vanilla))
+ , disableValidate (standardBuilds Amd64 (Linux Rocky8))
+ ]
+
+fedora_x86 :: [JobGroup Job]
+fedora_x86 =
+ [
+ -- Fedora33 job is always built with perf so there's one job in the normal
+ -- validate pipeline which is built with perf.
+ fastCI (standardBuildsWithConfig Amd64 (Linux Fedora33) releaseConfig)
+ -- This job is only for generating head.hackage docs
+ , hackage_doc_job (disableValidate (standardBuildsWithConfig Amd64 (Linux Fedora33) releaseConfig))
+ , disableValidate (standardBuildsWithConfig Amd64 (Linux Fedora33) dwarf)
+ , disableValidate (standardBuilds Amd64 (Linux Fedora38))
+ ]
where
- javascriptConfig = (crossConfig "javascript-unknown-ghcjs" (Emulator "js-emulator") (Just "emconfigure"))
- { bignumBackend = Native }
+ hackage_doc_job = rename (<> "-hackage") . modifyJobs (addVariable "HADRIAN_ARGS" "--haddock-for-hackage")
+windows_x86 :: [JobGroup Job]
+windows_x86 =
+ [ fastCI (standardBuildsWithConfig Amd64 Windows vanilla)
+ , disableValidate (standardBuildsWithConfig Amd64 Windows nativeInt)
+ ]
+
+darwin :: [JobGroup Job]
+darwin =
+ [ addValidateRule TestPrimops (standardBuilds Amd64 Darwin)
+ , fastCI (standardBuilds AArch64 Darwin)
+ ]
+
+alpine_x86 :: [JobGroup Job]
+alpine_x86 =
+ [ -- Fully static build, in theory usable on any linux distribution.
+ fullyStaticBrokenTests (standardBuildsWithConfig Amd64 (Linux Alpine312) (splitSectionsBroken static))
+ , fullyStaticBrokenTests (disableValidate (allowFailureGroup (standardBuildsWithConfig Amd64 (Linux Alpine312) staticNativeInt)))
+ -- Dynamically linked build, suitable for building your own static executables on alpine
+ , disableValidate (standardBuildsWithConfig Amd64 (Linux Alpine312) (splitSectionsBroken vanilla))
+ , disableValidate (standardBuildsWithConfig Amd64 (Linux Alpine320) (splitSectionsBroken vanilla))
+ ]
+ where
-- ghcilink002 broken due to #17869
--
-- linker_unload_native: due to musl not supporting any means of probing dynlib dependencies
-- (see Note [Object unloading]).
fullyStaticBrokenTests = modifyJobs (addVariable "BROKEN_TESTS" "ghcilink002 linker_unload_native")
- hackage_doc_job = rename (<> "-hackage") . modifyJobs (addVariable "HADRIAN_ARGS" "--haddock-for-hackage")
+alpine_aarch64 :: [JobGroup Job]
+alpine_aarch64 = [
+ disableValidate (standardBuildsWithConfig AArch64 (Linux Alpine318) (splitSectionsBroken vanilla))
+ ]
- tsan_jobs =
- modifyJobs
- ( addVariable "TSAN_OPTIONS" "suppressions=$CI_PROJECT_DIR/rts/.tsan-suppressions"
- -- Haddock is large enough to make TSAN choke without massive quantities of
- -- memory.
- . addVariable "HADRIAN_ARGS" "--docs=none") $
- validateBuilds Amd64 (Linux Debian12) tsan
+cross_jobs :: [JobGroup Job]
+cross_jobs = [
+ -- x86 -> aarch64
+ validateBuilds Amd64 (Linux Debian11) (crossConfig "aarch64-linux-gnu" (Emulator "qemu-aarch64 -L /usr/aarch64-linux-gnu") Nothing)
+
+ -- Javascript
+ , addValidateRule JSBackend (validateBuilds Amd64 (Linux Debian11Js) javascriptConfig)
+
+ -- Wasm
+ , make_wasm_jobs wasm_build_config
+ , modifyValidateJobs manual $
+ make_wasm_jobs wasm_build_config {bignumBackend = Native}
+ , modifyValidateJobs manual $
+ make_wasm_jobs wasm_build_config {unregisterised = True}
+ ]
+ where
+ javascriptConfig = (crossConfig "javascript-unknown-ghcjs" (Emulator "js-emulator") (Just "emconfigure"))
+ { bignumBackend = Native }
make_wasm_jobs cfg =
modifyJobs
@@ -1069,6 +1122,20 @@ job_groups =
, textWithSIMDUTF = True
}
+job_groups :: [JobGroup Job]
+job_groups =
+ debian_x86
+ ++ debian_aarch64
+ ++ debian_i386
+ ++ fedora_x86
+ ++ windows_x86
+ ++ darwin
+ ++ ubuntu_x86
+ ++ rhel_x86
+ ++ alpine_x86
+ ++ alpine_aarch64
+ ++ cross_jobs
+
mkPlatform :: Arch -> Opsys -> String
mkPlatform arch opsys = archName arch <> "-" <> opsysName opsys
@@ -1092,12 +1159,14 @@ platform_mapping = Map.map go combined_result
, "x86_64-linux-fedora33-release"
, "x86_64-linux-deb11-cross_aarch64-linux-gnu-validate"
, "x86_64-windows-validate"
+ , "aarch64-linux-deb12-validate"
, "nightly-x86_64-linux-alpine3_18-wasm-cross_wasm32-wasi-release+fully_static+text_simdutf"
, "nightly-x86_64-linux-deb11-validate"
, "nightly-x86_64-linux-deb12-validate"
, "x86_64-linux-alpine3_18-wasm-cross_wasm32-wasi-release+fully_static+text_simdutf"
, "x86_64-linux-deb12-validate+thread_sanitizer_cmm"
, "nightly-aarch64-linux-deb10-validate"
+ , "nightly-aarch64-linux-deb12-validate"
, "nightly-x86_64-linux-alpine3_12-validate"
, "nightly-x86_64-linux-deb10-validate"
, "nightly-x86_64-linux-fedora33-release"
=====================================
.gitlab/jobs.yaml
=====================================
@@ -66,7 +66,7 @@
"TEST_ENV": "aarch64-darwin-validate"
}
},
- "aarch64-linux-deb10-validate": {
+ "aarch64-linux-deb12-validate": {
"after_script": [
".gitlab/ci.sh save_cache",
".gitlab/ci.sh save_test_output",
@@ -77,7 +77,7 @@
"artifacts": {
"expire_in": "2 weeks",
"paths": [
- "ghc-aarch64-linux-deb10-validate.tar.xz",
+ "ghc-aarch64-linux-deb12-validate.tar.xz",
"junit.xml",
"unexpected-test-output.tar.gz"
],
@@ -87,14 +87,14 @@
"when": "always"
},
"cache": {
- "key": "aarch64-linux-deb10-$CACHE_REV",
+ "key": "aarch64-linux-deb12-$CACHE_REV",
"paths": [
"cabal-cache",
"toolchain"
]
},
"dependencies": [],
- "image": "registry.gitlab.haskell.org/ghc/ci-images/aarch64-linux-deb10:$DOCKER_REV",
+ "image": "registry.gitlab.haskell.org/ghc/ci-images/aarch64-linux-deb12:$DOCKER_REV",
"needs": [
{
"artifacts": false,
@@ -120,12 +120,12 @@
],
"variables": {
"BIGNUM_BACKEND": "gmp",
- "BIN_DIST_NAME": "ghc-aarch64-linux-deb10-validate",
+ "BIN_DIST_NAME": "ghc-aarch64-linux-deb12-validate",
"BUILD_FLAVOUR": "validate",
"CONFIGURE_ARGS": "--enable-strict-ghc-toolchain-check",
"INSTALL_CONFIGURE_ARGS": "--enable-strict-ghc-toolchain-check",
"RUNTEST_ARGS": "",
- "TEST_ENV": "aarch64-linux-deb10-validate"
+ "TEST_ENV": "aarch64-linux-deb12-validate"
}
},
"aarch64-linux-deb12-validate+llvm": {
@@ -190,7 +190,7 @@
"TEST_ENV": "aarch64-linux-deb12-validate+llvm"
}
},
- "i386-linux-deb10-validate": {
+ "i386-linux-deb12-validate": {
"after_script": [
".gitlab/ci.sh save_cache",
".gitlab/ci.sh save_test_output",
@@ -201,7 +201,7 @@
"artifacts": {
"expire_in": "2 weeks",
"paths": [
- "ghc-i386-linux-deb10-validate.tar.xz",
+ "ghc-i386-linux-deb12-validate.tar.xz",
"junit.xml",
"unexpected-test-output.tar.gz"
],
@@ -211,14 +211,14 @@
"when": "always"
},
"cache": {
- "key": "i386-linux-deb10-$CACHE_REV",
+ "key": "i386-linux-deb12-$CACHE_REV",
"paths": [
"cabal-cache",
"toolchain"
]
},
"dependencies": [],
- "image": "registry.gitlab.haskell.org/ghc/ci-images/i386-linux-deb10:$DOCKER_REV",
+ "image": "registry.gitlab.haskell.org/ghc/ci-images/i386-linux-deb12:$DOCKER_REV",
"needs": [
{
"artifacts": false,
@@ -244,12 +244,12 @@
],
"variables": {
"BIGNUM_BACKEND": "gmp",
- "BIN_DIST_NAME": "ghc-i386-linux-deb10-validate",
+ "BIN_DIST_NAME": "ghc-i386-linux-deb12-validate",
"BUILD_FLAVOUR": "validate",
"CONFIGURE_ARGS": "--enable-strict-ghc-toolchain-check",
"INSTALL_CONFIGURE_ARGS": "--enable-strict-ghc-toolchain-check",
"RUNTEST_ARGS": "",
- "TEST_ENV": "i386-linux-deb10-validate"
+ "TEST_ENV": "i386-linux-deb12-validate"
}
},
"nightly-aarch64-darwin-validate": {
@@ -446,7 +446,7 @@
"XZ_OPT": "-9"
}
},
- "nightly-aarch64-linux-deb11-validate": {
+ "nightly-aarch64-linux-deb12-validate": {
"after_script": [
".gitlab/ci.sh save_cache",
".gitlab/ci.sh save_test_output",
@@ -457,7 +457,7 @@
"artifacts": {
"expire_in": "8 weeks",
"paths": [
- "ghc-aarch64-linux-deb11-validate.tar.xz",
+ "ghc-aarch64-linux-deb12-validate.tar.xz",
"junit.xml",
"unexpected-test-output.tar.gz"
],
@@ -467,14 +467,14 @@
"when": "always"
},
"cache": {
- "key": "aarch64-linux-deb11-$CACHE_REV",
+ "key": "aarch64-linux-deb12-$CACHE_REV",
"paths": [
"cabal-cache",
"toolchain"
]
},
"dependencies": [],
- "image": "registry.gitlab.haskell.org/ghc/ci-images/aarch64-linux-deb11:$DOCKER_REV",
+ "image": "registry.gitlab.haskell.org/ghc/ci-images/aarch64-linux-deb12:$DOCKER_REV",
"needs": [
{
"artifacts": false,
@@ -500,12 +500,12 @@
],
"variables": {
"BIGNUM_BACKEND": "gmp",
- "BIN_DIST_NAME": "ghc-aarch64-linux-deb11-validate",
+ "BIN_DIST_NAME": "ghc-aarch64-linux-deb12-validate",
"BUILD_FLAVOUR": "validate",
"CONFIGURE_ARGS": "--enable-strict-ghc-toolchain-check",
"INSTALL_CONFIGURE_ARGS": "--enable-strict-ghc-toolchain-check",
"RUNTEST_ARGS": "",
- "TEST_ENV": "aarch64-linux-deb11-validate",
+ "TEST_ENV": "aarch64-linux-deb12-validate",
"XZ_OPT": "-9"
}
},
@@ -635,6 +635,69 @@
"XZ_OPT": "-9"
}
},
+ "nightly-i386-linux-deb12-validate": {
+ "after_script": [
+ ".gitlab/ci.sh save_cache",
+ ".gitlab/ci.sh save_test_output",
+ ".gitlab/ci.sh clean",
+ "cat ci_timings"
+ ],
+ "allow_failure": false,
+ "artifacts": {
+ "expire_in": "8 weeks",
+ "paths": [
+ "ghc-i386-linux-deb12-validate.tar.xz",
+ "junit.xml",
+ "unexpected-test-output.tar.gz"
+ ],
+ "reports": {
+ "junit": "junit.xml"
+ },
+ "when": "always"
+ },
+ "cache": {
+ "key": "i386-linux-deb12-$CACHE_REV",
+ "paths": [
+ "cabal-cache",
+ "toolchain"
+ ]
+ },
+ "dependencies": [],
+ "image": "registry.gitlab.haskell.org/ghc/ci-images/i386-linux-deb12:$DOCKER_REV",
+ "needs": [
+ {
+ "artifacts": false,
+ "job": "hadrian-ghc-in-ghci"
+ }
+ ],
+ "rules": [
+ {
+ "if": "(\"true\" == \"true\") && ($RELEASE_JOB != \"yes\") && ($NIGHTLY)",
+ "when": "on_success"
+ }
+ ],
+ "script": [
+ "sudo chown ghc:ghc -R .",
+ ".gitlab/ci.sh setup",
+ ".gitlab/ci.sh configure",
+ ".gitlab/ci.sh build_hadrian",
+ ".gitlab/ci.sh test_hadrian"
+ ],
+ "stage": "full-build",
+ "tags": [
+ "x86_64-linux"
+ ],
+ "variables": {
+ "BIGNUM_BACKEND": "gmp",
+ "BIN_DIST_NAME": "ghc-i386-linux-deb12-validate",
+ "BUILD_FLAVOUR": "validate",
+ "CONFIGURE_ARGS": "--enable-strict-ghc-toolchain-check",
+ "INSTALL_CONFIGURE_ARGS": "--enable-strict-ghc-toolchain-check",
+ "RUNTEST_ARGS": "",
+ "TEST_ENV": "i386-linux-deb12-validate",
+ "XZ_OPT": "-9"
+ }
+ },
"nightly-x86_64-darwin-validate": {
"after_script": [
".gitlab/ci.sh save_cache",
@@ -1218,7 +1281,7 @@
"XZ_OPT": "-9"
}
},
- "nightly-x86_64-linux-deb10-int_native-validate": {
+ "nightly-x86_64-linux-deb10-validate": {
"after_script": [
".gitlab/ci.sh save_cache",
".gitlab/ci.sh save_test_output",
@@ -1229,7 +1292,7 @@
"artifacts": {
"expire_in": "8 weeks",
"paths": [
- "ghc-x86_64-linux-deb10-int_native-validate.tar.xz",
+ "ghc-x86_64-linux-deb10-validate.tar.xz",
"junit.xml",
"unexpected-test-output.tar.gz"
],
@@ -1271,28 +1334,28 @@
"x86_64-linux"
],
"variables": {
- "BIGNUM_BACKEND": "native",
- "BIN_DIST_NAME": "ghc-x86_64-linux-deb10-int_native-validate",
+ "BIGNUM_BACKEND": "gmp",
+ "BIN_DIST_NAME": "ghc-x86_64-linux-deb10-validate",
"BUILD_FLAVOUR": "validate",
"CONFIGURE_ARGS": "--enable-strict-ghc-toolchain-check",
"INSTALL_CONFIGURE_ARGS": "--enable-strict-ghc-toolchain-check",
"RUNTEST_ARGS": "",
- "TEST_ENV": "x86_64-linux-deb10-int_native-validate",
+ "TEST_ENV": "x86_64-linux-deb10-validate",
"XZ_OPT": "-9"
}
},
- "nightly-x86_64-linux-deb10-no_tntc-validate": {
+ "nightly-x86_64-linux-deb10-validate+debug_info": {
"after_script": [
".gitlab/ci.sh save_cache",
".gitlab/ci.sh save_test_output",
".gitlab/ci.sh clean",
"cat ci_timings"
],
- "allow_failure": true,
+ "allow_failure": false,
"artifacts": {
"expire_in": "8 weeks",
"paths": [
- "ghc-x86_64-linux-deb10-no_tntc-validate.tar.xz",
+ "ghc-x86_64-linux-deb10-validate+debug_info.tar.xz",
"junit.xml",
"unexpected-test-output.tar.gz"
],
@@ -1335,16 +1398,16 @@
],
"variables": {
"BIGNUM_BACKEND": "gmp",
- "BIN_DIST_NAME": "ghc-x86_64-linux-deb10-no_tntc-validate",
- "BUILD_FLAVOUR": "validate",
- "CONFIGURE_ARGS": "--disable-tables-next-to-code --enable-strict-ghc-toolchain-check",
+ "BIN_DIST_NAME": "ghc-x86_64-linux-deb10-validate+debug_info",
+ "BUILD_FLAVOUR": "validate+debug_info",
+ "CONFIGURE_ARGS": "--enable-strict-ghc-toolchain-check",
"INSTALL_CONFIGURE_ARGS": "--enable-strict-ghc-toolchain-check",
"RUNTEST_ARGS": "",
- "TEST_ENV": "x86_64-linux-deb10-no_tntc-validate",
+ "TEST_ENV": "x86_64-linux-deb10-validate+debug_info",
"XZ_OPT": "-9"
}
},
- "nightly-x86_64-linux-deb10-numa-slow-validate": {
+ "nightly-x86_64-linux-deb11-cross_aarch64-linux-gnu-validate": {
"after_script": [
".gitlab/ci.sh save_cache",
".gitlab/ci.sh save_test_output",
@@ -1355,7 +1418,7 @@
"artifacts": {
"expire_in": "8 weeks",
"paths": [
- "ghc-x86_64-linux-deb10-numa-slow-validate.tar.xz",
+ "ghc-x86_64-linux-deb11-cross_aarch64-linux-gnu-validate.tar.xz",
"junit.xml",
"unexpected-test-output.tar.gz"
],
@@ -1365,14 +1428,14 @@
"when": "always"
},
"cache": {
- "key": "x86_64-linux-deb10-$CACHE_REV",
+ "key": "x86_64-linux-deb11-$CACHE_REV",
"paths": [
"cabal-cache",
"toolchain"
]
},
"dependencies": [],
- "image": "registry.gitlab.haskell.org/ghc/ci-images/x86_64-linux-deb10:$DOCKER_REV",
+ "image": "registry.gitlab.haskell.org/ghc/ci-images/x86_64-linux-deb11:$DOCKER_REV",
"needs": [
{
"artifacts": false,
@@ -1398,17 +1461,18 @@
],
"variables": {
"BIGNUM_BACKEND": "gmp",
- "BIN_DIST_NAME": "ghc-x86_64-linux-deb10-numa-slow-validate",
- "BUILD_FLAVOUR": "slow-validate",
- "CONFIGURE_ARGS": "--enable-strict-ghc-toolchain-check",
- "ENABLE_NUMA": "1",
+ "BIN_DIST_NAME": "ghc-x86_64-linux-deb11-cross_aarch64-linux-gnu-validate",
+ "BUILD_FLAVOUR": "validate",
+ "CONFIGURE_ARGS": "--with-intree-gmp --enable-strict-ghc-toolchain-check",
+ "CROSS_EMULATOR": "qemu-aarch64 -L /usr/aarch64-linux-gnu",
+ "CROSS_TARGET": "aarch64-linux-gnu",
"INSTALL_CONFIGURE_ARGS": "--enable-strict-ghc-toolchain-check",
"RUNTEST_ARGS": "",
- "TEST_ENV": "x86_64-linux-deb10-numa-slow-validate",
+ "TEST_ENV": "x86_64-linux-deb11-cross_aarch64-linux-gnu-validate",
"XZ_OPT": "-9"
}
},
- "nightly-x86_64-linux-deb10-unreg-validate": {
+ "nightly-x86_64-linux-deb11-emsdk-closure-int_native-cross_javascript-unknown-ghcjs-validate": {
"after_script": [
".gitlab/ci.sh save_cache",
".gitlab/ci.sh save_test_output",
@@ -1419,7 +1483,7 @@
"artifacts": {
"expire_in": "8 weeks",
"paths": [
- "ghc-x86_64-linux-deb10-unreg-validate.tar.xz",
+ "ghc-x86_64-linux-deb11-emsdk-closure-int_native-cross_javascript-unknown-ghcjs-validate.tar.xz",
"junit.xml",
"unexpected-test-output.tar.gz"
],
@@ -1429,14 +1493,14 @@
"when": "always"
},
"cache": {
- "key": "x86_64-linux-deb10-$CACHE_REV",
+ "key": "x86_64-linux-deb11-emsdk-closure-$CACHE_REV",
"paths": [
"cabal-cache",
"toolchain"
]
},
"dependencies": [],
- "image": "registry.gitlab.haskell.org/ghc/ci-images/x86_64-linux-deb10:$DOCKER_REV",
+ "image": "registry.gitlab.haskell.org/ghc/ci-images/x86_64-linux-deb11-emsdk-closure:$DOCKER_REV",
"needs": [
{
"artifacts": false,
@@ -1461,17 +1525,20 @@
"x86_64-linux"
],
"variables": {
- "BIGNUM_BACKEND": "gmp",
- "BIN_DIST_NAME": "ghc-x86_64-linux-deb10-unreg-validate",
+ "BIGNUM_BACKEND": "native",
+ "BIN_DIST_NAME": "ghc-x86_64-linux-deb11-emsdk-closure-int_native-cross_javascript-unknown-ghcjs-validate",
"BUILD_FLAVOUR": "validate",
- "CONFIGURE_ARGS": "--enable-unregisterised --enable-strict-ghc-toolchain-check",
+ "CONFIGURE_ARGS": "--with-intree-gmp --enable-strict-ghc-toolchain-check",
+ "CONFIGURE_WRAPPER": "emconfigure",
+ "CROSS_EMULATOR": "js-emulator",
+ "CROSS_TARGET": "javascript-unknown-ghcjs",
"INSTALL_CONFIGURE_ARGS": "--enable-strict-ghc-toolchain-check",
"RUNTEST_ARGS": "",
- "TEST_ENV": "x86_64-linux-deb10-unreg-validate",
+ "TEST_ENV": "x86_64-linux-deb11-emsdk-closure-int_native-cross_javascript-unknown-ghcjs-validate",
"XZ_OPT": "-9"
}
},
- "nightly-x86_64-linux-deb10-validate": {
+ "nightly-x86_64-linux-deb11-validate": {
"after_script": [
".gitlab/ci.sh save_cache",
".gitlab/ci.sh save_test_output",
@@ -1482,7 +1549,7 @@
"artifacts": {
"expire_in": "8 weeks",
"paths": [
- "ghc-x86_64-linux-deb10-validate.tar.xz",
+ "ghc-x86_64-linux-deb11-validate.tar.xz",
"junit.xml",
"unexpected-test-output.tar.gz"
],
@@ -1492,14 +1559,14 @@
"when": "always"
},
"cache": {
- "key": "x86_64-linux-deb10-$CACHE_REV",
+ "key": "x86_64-linux-deb11-$CACHE_REV",
"paths": [
"cabal-cache",
"toolchain"
]
},
"dependencies": [],
- "image": "registry.gitlab.haskell.org/ghc/ci-images/x86_64-linux-deb10:$DOCKER_REV",
+ "image": "registry.gitlab.haskell.org/ghc/ci-images/x86_64-linux-deb11:$DOCKER_REV",
"needs": [
{
"artifacts": false,
@@ -1525,16 +1592,16 @@
],
"variables": {
"BIGNUM_BACKEND": "gmp",
- "BIN_DIST_NAME": "ghc-x86_64-linux-deb10-validate",
+ "BIN_DIST_NAME": "ghc-x86_64-linux-deb11-validate",
"BUILD_FLAVOUR": "validate",
"CONFIGURE_ARGS": "--enable-strict-ghc-toolchain-check",
"INSTALL_CONFIGURE_ARGS": "--enable-strict-ghc-toolchain-check",
"RUNTEST_ARGS": "",
- "TEST_ENV": "x86_64-linux-deb10-validate",
+ "TEST_ENV": "x86_64-linux-deb11-validate",
"XZ_OPT": "-9"
}
},
- "nightly-x86_64-linux-deb10-validate+debug_info": {
+ "nightly-x86_64-linux-deb12-int_native-validate": {
"after_script": [
".gitlab/ci.sh save_cache",
".gitlab/ci.sh save_test_output",
@@ -1545,7 +1612,7 @@
"artifacts": {
"expire_in": "8 weeks",
"paths": [
- "ghc-x86_64-linux-deb10-validate+debug_info.tar.xz",
+ "ghc-x86_64-linux-deb12-int_native-validate.tar.xz",
"junit.xml",
"unexpected-test-output.tar.gz"
],
@@ -1555,14 +1622,14 @@
"when": "always"
},
"cache": {
- "key": "x86_64-linux-deb10-$CACHE_REV",
+ "key": "x86_64-linux-deb12-$CACHE_REV",
"paths": [
"cabal-cache",
"toolchain"
]
},
"dependencies": [],
- "image": "registry.gitlab.haskell.org/ghc/ci-images/x86_64-linux-deb10:$DOCKER_REV",
+ "image": "registry.gitlab.haskell.org/ghc/ci-images/x86_64-linux-deb12:$DOCKER_REV",
"needs": [
{
"artifacts": false,
@@ -1587,28 +1654,28 @@
"x86_64-linux"
],
"variables": {
- "BIGNUM_BACKEND": "gmp",
- "BIN_DIST_NAME": "ghc-x86_64-linux-deb10-validate+debug_info",
- "BUILD_FLAVOUR": "validate+debug_info",
+ "BIGNUM_BACKEND": "native",
+ "BIN_DIST_NAME": "ghc-x86_64-linux-deb12-int_native-validate",
+ "BUILD_FLAVOUR": "validate",
"CONFIGURE_ARGS": "--enable-strict-ghc-toolchain-check",
"INSTALL_CONFIGURE_ARGS": "--enable-strict-ghc-toolchain-check",
"RUNTEST_ARGS": "",
- "TEST_ENV": "x86_64-linux-deb10-validate+debug_info",
+ "TEST_ENV": "x86_64-linux-deb12-int_native-validate",
"XZ_OPT": "-9"
}
},
- "nightly-x86_64-linux-deb10-zstd-validate": {
+ "nightly-x86_64-linux-deb12-no_tntc-validate": {
"after_script": [
".gitlab/ci.sh save_cache",
".gitlab/ci.sh save_test_output",
".gitlab/ci.sh clean",
"cat ci_timings"
],
- "allow_failure": false,
+ "allow_failure": true,
"artifacts": {
"expire_in": "8 weeks",
"paths": [
- "ghc-x86_64-linux-deb10-zstd-validate.tar.xz",
+ "ghc-x86_64-linux-deb12-no_tntc-validate.tar.xz",
"junit.xml",
"unexpected-test-output.tar.gz"
],
@@ -1618,14 +1685,14 @@
"when": "always"
},
"cache": {
- "key": "x86_64-linux-deb10-$CACHE_REV",
+ "key": "x86_64-linux-deb12-$CACHE_REV",
"paths": [
"cabal-cache",
"toolchain"
]
},
"dependencies": [],
- "image": "registry.gitlab.haskell.org/ghc/ci-images/x86_64-linux-deb10:$DOCKER_REV",
+ "image": "registry.gitlab.haskell.org/ghc/ci-images/x86_64-linux-deb12:$DOCKER_REV",
"needs": [
{
"artifacts": false,
@@ -1651,16 +1718,16 @@
],
"variables": {
"BIGNUM_BACKEND": "gmp",
- "BIN_DIST_NAME": "ghc-x86_64-linux-deb10-zstd-validate",
+ "BIN_DIST_NAME": "ghc-x86_64-linux-deb12-no_tntc-validate",
"BUILD_FLAVOUR": "validate",
- "CONFIGURE_ARGS": "--enable-ipe-data-compression --enable-strict-ghc-toolchain-check",
+ "CONFIGURE_ARGS": "--disable-tables-next-to-code --enable-strict-ghc-toolchain-check",
"INSTALL_CONFIGURE_ARGS": "--enable-strict-ghc-toolchain-check",
"RUNTEST_ARGS": "",
- "TEST_ENV": "x86_64-linux-deb10-zstd-validate",
+ "TEST_ENV": "x86_64-linux-deb12-no_tntc-validate",
"XZ_OPT": "-9"
}
},
- "nightly-x86_64-linux-deb11-cross_aarch64-linux-gnu-validate": {
+ "nightly-x86_64-linux-deb12-numa-slow-validate": {
"after_script": [
".gitlab/ci.sh save_cache",
".gitlab/ci.sh save_test_output",
@@ -1671,7 +1738,7 @@
"artifacts": {
"expire_in": "8 weeks",
"paths": [
- "ghc-x86_64-linux-deb11-cross_aarch64-linux-gnu-validate.tar.xz",
+ "ghc-x86_64-linux-deb12-numa-slow-validate.tar.xz",
"junit.xml",
"unexpected-test-output.tar.gz"
],
@@ -1681,14 +1748,14 @@
"when": "always"
},
"cache": {
- "key": "x86_64-linux-deb11-$CACHE_REV",
+ "key": "x86_64-linux-deb12-$CACHE_REV",
"paths": [
"cabal-cache",
"toolchain"
]
},
"dependencies": [],
- "image": "registry.gitlab.haskell.org/ghc/ci-images/x86_64-linux-deb11:$DOCKER_REV",
+ "image": "registry.gitlab.haskell.org/ghc/ci-images/x86_64-linux-deb12:$DOCKER_REV",
"needs": [
{
"artifacts": false,
@@ -1714,18 +1781,17 @@
],
"variables": {
"BIGNUM_BACKEND": "gmp",
- "BIN_DIST_NAME": "ghc-x86_64-linux-deb11-cross_aarch64-linux-gnu-validate",
- "BUILD_FLAVOUR": "validate",
- "CONFIGURE_ARGS": "--with-intree-gmp --enable-strict-ghc-toolchain-check",
- "CROSS_EMULATOR": "qemu-aarch64 -L /usr/aarch64-linux-gnu",
- "CROSS_TARGET": "aarch64-linux-gnu",
+ "BIN_DIST_NAME": "ghc-x86_64-linux-deb12-numa-slow-validate",
+ "BUILD_FLAVOUR": "slow-validate",
+ "CONFIGURE_ARGS": "--enable-strict-ghc-toolchain-check",
+ "ENABLE_NUMA": "1",
"INSTALL_CONFIGURE_ARGS": "--enable-strict-ghc-toolchain-check",
"RUNTEST_ARGS": "",
- "TEST_ENV": "x86_64-linux-deb11-cross_aarch64-linux-gnu-validate",
+ "TEST_ENV": "x86_64-linux-deb12-numa-slow-validate",
"XZ_OPT": "-9"
}
},
- "nightly-x86_64-linux-deb11-emsdk-closure-int_native-cross_javascript-unknown-ghcjs-validate": {
+ "nightly-x86_64-linux-deb12-unreg-validate": {
"after_script": [
".gitlab/ci.sh save_cache",
".gitlab/ci.sh save_test_output",
@@ -1736,7 +1802,7 @@
"artifacts": {
"expire_in": "8 weeks",
"paths": [
- "ghc-x86_64-linux-deb11-emsdk-closure-int_native-cross_javascript-unknown-ghcjs-validate.tar.xz",
+ "ghc-x86_64-linux-deb12-unreg-validate.tar.xz",
"junit.xml",
"unexpected-test-output.tar.gz"
],
@@ -1746,14 +1812,14 @@
"when": "always"
},
"cache": {
- "key": "x86_64-linux-deb11-emsdk-closure-$CACHE_REV",
+ "key": "x86_64-linux-deb12-$CACHE_REV",
"paths": [
"cabal-cache",
"toolchain"
]
},
"dependencies": [],
- "image": "registry.gitlab.haskell.org/ghc/ci-images/x86_64-linux-deb11-emsdk-closure:$DOCKER_REV",
+ "image": "registry.gitlab.haskell.org/ghc/ci-images/x86_64-linux-deb12:$DOCKER_REV",
"needs": [
{
"artifacts": false,
@@ -1778,20 +1844,17 @@
"x86_64-linux"
],
"variables": {
- "BIGNUM_BACKEND": "native",
- "BIN_DIST_NAME": "ghc-x86_64-linux-deb11-emsdk-closure-int_native-cross_javascript-unknown-ghcjs-validate",
+ "BIGNUM_BACKEND": "gmp",
+ "BIN_DIST_NAME": "ghc-x86_64-linux-deb12-unreg-validate",
"BUILD_FLAVOUR": "validate",
- "CONFIGURE_ARGS": "--with-intree-gmp --enable-strict-ghc-toolchain-check",
- "CONFIGURE_WRAPPER": "emconfigure",
- "CROSS_EMULATOR": "js-emulator",
- "CROSS_TARGET": "javascript-unknown-ghcjs",
+ "CONFIGURE_ARGS": "--enable-unregisterised --enable-strict-ghc-toolchain-check",
"INSTALL_CONFIGURE_ARGS": "--enable-strict-ghc-toolchain-check",
"RUNTEST_ARGS": "",
- "TEST_ENV": "x86_64-linux-deb11-emsdk-closure-int_native-cross_javascript-unknown-ghcjs-validate",
+ "TEST_ENV": "x86_64-linux-deb12-unreg-validate",
"XZ_OPT": "-9"
}
},
- "nightly-x86_64-linux-deb11-validate": {
+ "nightly-x86_64-linux-deb12-validate": {
"after_script": [
".gitlab/ci.sh save_cache",
".gitlab/ci.sh save_test_output",
@@ -1802,7 +1865,7 @@
"artifacts": {
"expire_in": "8 weeks",
"paths": [
- "ghc-x86_64-linux-deb11-validate.tar.xz",
+ "ghc-x86_64-linux-deb12-validate.tar.xz",
"junit.xml",
"unexpected-test-output.tar.gz"
],
@@ -1812,14 +1875,14 @@
"when": "always"
},
"cache": {
- "key": "x86_64-linux-deb11-$CACHE_REV",
+ "key": "x86_64-linux-deb12-$CACHE_REV",
"paths": [
"cabal-cache",
"toolchain"
]
},
"dependencies": [],
- "image": "registry.gitlab.haskell.org/ghc/ci-images/x86_64-linux-deb11:$DOCKER_REV",
+ "image": "registry.gitlab.haskell.org/ghc/ci-images/x86_64-linux-deb12:$DOCKER_REV",
"needs": [
{
"artifacts": false,
@@ -1845,16 +1908,16 @@
],
"variables": {
"BIGNUM_BACKEND": "gmp",
- "BIN_DIST_NAME": "ghc-x86_64-linux-deb11-validate",
+ "BIN_DIST_NAME": "ghc-x86_64-linux-deb12-validate",
"BUILD_FLAVOUR": "validate",
"CONFIGURE_ARGS": "--enable-strict-ghc-toolchain-check",
"INSTALL_CONFIGURE_ARGS": "--enable-strict-ghc-toolchain-check",
"RUNTEST_ARGS": "",
- "TEST_ENV": "x86_64-linux-deb11-validate",
+ "TEST_ENV": "x86_64-linux-deb12-validate",
"XZ_OPT": "-9"
}
},
- "nightly-x86_64-linux-deb11-validate+boot_nonmoving_gc": {
+ "nightly-x86_64-linux-deb12-validate+boot_nonmoving_gc": {
"after_script": [
".gitlab/ci.sh save_cache",
".gitlab/ci.sh save_test_output",
@@ -1865,7 +1928,7 @@
"artifacts": {
"expire_in": "8 weeks",
"paths": [
- "ghc-x86_64-linux-deb11-validate+boot_nonmoving_gc.tar.xz",
+ "ghc-x86_64-linux-deb12-validate+boot_nonmoving_gc.tar.xz",
"junit.xml",
"unexpected-test-output.tar.gz"
],
@@ -1875,14 +1938,14 @@
"when": "always"
},
"cache": {
- "key": "x86_64-linux-deb11-$CACHE_REV",
+ "key": "x86_64-linux-deb12-$CACHE_REV",
"paths": [
"cabal-cache",
"toolchain"
]
},
"dependencies": [],
- "image": "registry.gitlab.haskell.org/ghc/ci-images/x86_64-linux-deb11:$DOCKER_REV",
+ "image": "registry.gitlab.haskell.org/ghc/ci-images/x86_64-linux-deb12:$DOCKER_REV",
"needs": [
{
"artifacts": false,
@@ -1908,16 +1971,16 @@
],
"variables": {
"BIGNUM_BACKEND": "gmp",
- "BIN_DIST_NAME": "ghc-x86_64-linux-deb11-validate+boot_nonmoving_gc",
+ "BIN_DIST_NAME": "ghc-x86_64-linux-deb12-validate+boot_nonmoving_gc",
"BUILD_FLAVOUR": "validate+boot_nonmoving_gc",
"CONFIGURE_ARGS": "--enable-strict-ghc-toolchain-check",
"INSTALL_CONFIGURE_ARGS": "--enable-strict-ghc-toolchain-check",
"RUNTEST_ARGS": "--way=nonmoving --way=nonmoving_thr --way=nonmoving_thr_sanity",
- "TEST_ENV": "x86_64-linux-deb11-validate+boot_nonmoving_gc",
+ "TEST_ENV": "x86_64-linux-deb12-validate+boot_nonmoving_gc",
"XZ_OPT": "-9"
}
},
- "nightly-x86_64-linux-deb12-validate": {
+ "nightly-x86_64-linux-deb12-validate+llvm": {
"after_script": [
".gitlab/ci.sh save_cache",
".gitlab/ci.sh save_test_output",
@@ -1928,7 +1991,7 @@
"artifacts": {
"expire_in": "8 weeks",
"paths": [
- "ghc-x86_64-linux-deb12-validate.tar.xz",
+ "ghc-x86_64-linux-deb12-validate+llvm.tar.xz",
"junit.xml",
"unexpected-test-output.tar.gz"
],
@@ -1971,27 +2034,27 @@
],
"variables": {
"BIGNUM_BACKEND": "gmp",
- "BIN_DIST_NAME": "ghc-x86_64-linux-deb12-validate",
- "BUILD_FLAVOUR": "validate",
+ "BIN_DIST_NAME": "ghc-x86_64-linux-deb12-validate+llvm",
+ "BUILD_FLAVOUR": "validate+llvm",
"CONFIGURE_ARGS": "--enable-strict-ghc-toolchain-check",
"INSTALL_CONFIGURE_ARGS": "--enable-strict-ghc-toolchain-check",
"RUNTEST_ARGS": "",
- "TEST_ENV": "x86_64-linux-deb12-validate",
+ "TEST_ENV": "x86_64-linux-deb12-validate+llvm",
"XZ_OPT": "-9"
}
},
- "nightly-x86_64-linux-deb12-validate+llvm": {
+ "nightly-x86_64-linux-deb12-validate+thread_sanitizer_cmm": {
"after_script": [
".gitlab/ci.sh save_cache",
".gitlab/ci.sh save_test_output",
".gitlab/ci.sh clean",
"cat ci_timings"
],
- "allow_failure": false,
+ "allow_failure": true,
"artifacts": {
"expire_in": "8 weeks",
"paths": [
- "ghc-x86_64-linux-deb12-validate+llvm.tar.xz",
+ "ghc-x86_64-linux-deb12-validate+thread_sanitizer_cmm.tar.xz",
"junit.xml",
"unexpected-test-output.tar.gz"
],
@@ -2034,27 +2097,29 @@
],
"variables": {
"BIGNUM_BACKEND": "gmp",
- "BIN_DIST_NAME": "ghc-x86_64-linux-deb12-validate+llvm",
- "BUILD_FLAVOUR": "validate+llvm",
+ "BIN_DIST_NAME": "ghc-x86_64-linux-deb12-validate+thread_sanitizer_cmm",
+ "BUILD_FLAVOUR": "validate+thread_sanitizer_cmm",
"CONFIGURE_ARGS": "--enable-strict-ghc-toolchain-check",
+ "HADRIAN_ARGS": "--docs=none",
"INSTALL_CONFIGURE_ARGS": "--enable-strict-ghc-toolchain-check",
"RUNTEST_ARGS": "",
- "TEST_ENV": "x86_64-linux-deb12-validate+llvm",
+ "TEST_ENV": "x86_64-linux-deb12-validate+thread_sanitizer_cmm",
+ "TSAN_OPTIONS": "suppressions=$CI_PROJECT_DIR/rts/.tsan-suppressions",
"XZ_OPT": "-9"
}
},
- "nightly-x86_64-linux-deb12-validate+thread_sanitizer_cmm": {
+ "nightly-x86_64-linux-deb12-zstd-validate": {
"after_script": [
".gitlab/ci.sh save_cache",
".gitlab/ci.sh save_test_output",
".gitlab/ci.sh clean",
"cat ci_timings"
],
- "allow_failure": true,
+ "allow_failure": false,
"artifacts": {
"expire_in": "8 weeks",
"paths": [
- "ghc-x86_64-linux-deb12-validate+thread_sanitizer_cmm.tar.xz",
+ "ghc-x86_64-linux-deb12-zstd-validate.tar.xz",
"junit.xml",
"unexpected-test-output.tar.gz"
],
@@ -2097,14 +2162,12 @@
],
"variables": {
"BIGNUM_BACKEND": "gmp",
- "BIN_DIST_NAME": "ghc-x86_64-linux-deb12-validate+thread_sanitizer_cmm",
- "BUILD_FLAVOUR": "validate+thread_sanitizer_cmm",
- "CONFIGURE_ARGS": "--enable-strict-ghc-toolchain-check",
- "HADRIAN_ARGS": "--docs=none",
+ "BIN_DIST_NAME": "ghc-x86_64-linux-deb12-zstd-validate",
+ "BUILD_FLAVOUR": "validate",
+ "CONFIGURE_ARGS": "--enable-ipe-data-compression --enable-strict-ghc-toolchain-check",
"INSTALL_CONFIGURE_ARGS": "--enable-strict-ghc-toolchain-check",
"RUNTEST_ARGS": "",
- "TEST_ENV": "x86_64-linux-deb12-validate+thread_sanitizer_cmm",
- "TSAN_OPTIONS": "suppressions=$CI_PROJECT_DIR/rts/.tsan-suppressions",
+ "TEST_ENV": "x86_64-linux-deb12-zstd-validate",
"XZ_OPT": "-9"
}
},
@@ -2944,7 +3007,7 @@
"XZ_OPT": "-9"
}
},
- "release-aarch64-linux-deb11-release+no_split_sections": {
+ "release-aarch64-linux-deb12-release+no_split_sections": {
"after_script": [
".gitlab/ci.sh save_cache",
".gitlab/ci.sh save_test_output",
@@ -2955,7 +3018,7 @@
"artifacts": {
"expire_in": "1 year",
"paths": [
- "ghc-aarch64-linux-deb11-release+no_split_sections.tar.xz",
+ "ghc-aarch64-linux-deb12-release+no_split_sections.tar.xz",
"junit.xml",
"unexpected-test-output.tar.gz"
],
@@ -2965,14 +3028,14 @@
"when": "always"
},
"cache": {
- "key": "aarch64-linux-deb11-$CACHE_REV",
+ "key": "aarch64-linux-deb12-$CACHE_REV",
"paths": [
"cabal-cache",
"toolchain"
]
},
"dependencies": [],
- "image": "registry.gitlab.haskell.org/ghc/ci-images/aarch64-linux-deb11:$DOCKER_REV",
+ "image": "registry.gitlab.haskell.org/ghc/ci-images/aarch64-linux-deb12:$DOCKER_REV",
"needs": [
{
"artifacts": false,
@@ -2998,14 +3061,14 @@
],
"variables": {
"BIGNUM_BACKEND": "gmp",
- "BIN_DIST_NAME": "ghc-aarch64-linux-deb11-release+no_split_sections",
+ "BIN_DIST_NAME": "ghc-aarch64-linux-deb12-release+no_split_sections",
"BUILD_FLAVOUR": "release+no_split_sections",
"CONFIGURE_ARGS": "--enable-strict-ghc-toolchain-check",
"HADRIAN_ARGS": "--hash-unit-ids",
"IGNORE_PERF_FAILURES": "all",
"INSTALL_CONFIGURE_ARGS": "--enable-strict-ghc-toolchain-check",
"RUNTEST_ARGS": "",
- "TEST_ENV": "aarch64-linux-deb11-release+no_split_sections",
+ "TEST_ENV": "aarch64-linux-deb12-release+no_split_sections",
"XZ_OPT": "-9"
}
},
@@ -3074,6 +3137,71 @@
"XZ_OPT": "-9"
}
},
+ "release-i386-linux-deb12-release+no_split_sections": {
+ "after_script": [
+ ".gitlab/ci.sh save_cache",
+ ".gitlab/ci.sh save_test_output",
+ ".gitlab/ci.sh clean",
+ "cat ci_timings"
+ ],
+ "allow_failure": false,
+ "artifacts": {
+ "expire_in": "1 year",
+ "paths": [
+ "ghc-i386-linux-deb12-release+no_split_sections.tar.xz",
+ "junit.xml",
+ "unexpected-test-output.tar.gz"
+ ],
+ "reports": {
+ "junit": "junit.xml"
+ },
+ "when": "always"
+ },
+ "cache": {
+ "key": "i386-linux-deb12-$CACHE_REV",
+ "paths": [
+ "cabal-cache",
+ "toolchain"
+ ]
+ },
+ "dependencies": [],
+ "image": "registry.gitlab.haskell.org/ghc/ci-images/i386-linux-deb12:$DOCKER_REV",
+ "needs": [
+ {
+ "artifacts": false,
+ "job": "hadrian-ghc-in-ghci"
+ }
+ ],
+ "rules": [
+ {
+ "if": "(\"true\" == \"true\") && ($RELEASE_JOB == \"yes\") && ($NIGHTLY == null)",
+ "when": "on_success"
+ }
+ ],
+ "script": [
+ "sudo chown ghc:ghc -R .",
+ ".gitlab/ci.sh setup",
+ ".gitlab/ci.sh configure",
+ ".gitlab/ci.sh build_hadrian",
+ ".gitlab/ci.sh test_hadrian"
+ ],
+ "stage": "full-build",
+ "tags": [
+ "x86_64-linux"
+ ],
+ "variables": {
+ "BIGNUM_BACKEND": "gmp",
+ "BIN_DIST_NAME": "ghc-i386-linux-deb12-release+no_split_sections",
+ "BUILD_FLAVOUR": "release+no_split_sections",
+ "CONFIGURE_ARGS": "--enable-strict-ghc-toolchain-check",
+ "HADRIAN_ARGS": "--hash-unit-ids",
+ "IGNORE_PERF_FAILURES": "all",
+ "INSTALL_CONFIGURE_ARGS": "--enable-strict-ghc-toolchain-check",
+ "RUNTEST_ARGS": "",
+ "TEST_ENV": "i386-linux-deb12-release+no_split_sections",
+ "XZ_OPT": "-9"
+ }
+ },
"release-x86_64-darwin-release": {
"after_script": [
".gitlab/ci.sh save_cache",
@@ -4712,7 +4840,7 @@
"TEST_ENV": "x86_64-linux-alpine3_18-wasm-unreg-cross_wasm32-wasi-release+fully_static+text_simdutf"
}
},
- "x86_64-linux-deb10-int_native-validate": {
+ "x86_64-linux-deb11-cross_aarch64-linux-gnu-validate": {
"after_script": [
".gitlab/ci.sh save_cache",
".gitlab/ci.sh save_test_output",
@@ -4723,7 +4851,7 @@
"artifacts": {
"expire_in": "2 weeks",
"paths": [
- "ghc-x86_64-linux-deb10-int_native-validate.tar.xz",
+ "ghc-x86_64-linux-deb11-cross_aarch64-linux-gnu-validate.tar.xz",
"junit.xml",
"unexpected-test-output.tar.gz"
],
@@ -4733,14 +4861,14 @@
"when": "always"
},
"cache": {
- "key": "x86_64-linux-deb10-$CACHE_REV",
+ "key": "x86_64-linux-deb11-$CACHE_REV",
"paths": [
"cabal-cache",
"toolchain"
]
},
"dependencies": [],
- "image": "registry.gitlab.haskell.org/ghc/ci-images/x86_64-linux-deb10:$DOCKER_REV",
+ "image": "registry.gitlab.haskell.org/ghc/ci-images/x86_64-linux-deb11:$DOCKER_REV",
"needs": [
{
"artifacts": false,
@@ -4765,16 +4893,18 @@
"x86_64-linux"
],
"variables": {
- "BIGNUM_BACKEND": "native",
- "BIN_DIST_NAME": "ghc-x86_64-linux-deb10-int_native-validate",
+ "BIGNUM_BACKEND": "gmp",
+ "BIN_DIST_NAME": "ghc-x86_64-linux-deb11-cross_aarch64-linux-gnu-validate",
"BUILD_FLAVOUR": "validate",
- "CONFIGURE_ARGS": "--enable-strict-ghc-toolchain-check",
+ "CONFIGURE_ARGS": "--with-intree-gmp --enable-strict-ghc-toolchain-check",
+ "CROSS_EMULATOR": "qemu-aarch64 -L /usr/aarch64-linux-gnu",
+ "CROSS_TARGET": "aarch64-linux-gnu",
"INSTALL_CONFIGURE_ARGS": "--enable-strict-ghc-toolchain-check",
"RUNTEST_ARGS": "",
- "TEST_ENV": "x86_64-linux-deb10-int_native-validate"
+ "TEST_ENV": "x86_64-linux-deb11-cross_aarch64-linux-gnu-validate"
}
},
- "x86_64-linux-deb10-no_tntc-validate": {
+ "x86_64-linux-deb11-emsdk-closure-int_native-cross_javascript-unknown-ghcjs-validate": {
"after_script": [
".gitlab/ci.sh save_cache",
".gitlab/ci.sh save_test_output",
@@ -4785,7 +4915,7 @@
"artifacts": {
"expire_in": "2 weeks",
"paths": [
- "ghc-x86_64-linux-deb10-no_tntc-validate.tar.xz",
+ "ghc-x86_64-linux-deb11-emsdk-closure-int_native-cross_javascript-unknown-ghcjs-validate.tar.xz",
"junit.xml",
"unexpected-test-output.tar.gz"
],
@@ -4795,14 +4925,14 @@
"when": "always"
},
"cache": {
- "key": "x86_64-linux-deb10-$CACHE_REV",
+ "key": "x86_64-linux-deb11-emsdk-closure-$CACHE_REV",
"paths": [
"cabal-cache",
"toolchain"
]
},
"dependencies": [],
- "image": "registry.gitlab.haskell.org/ghc/ci-images/x86_64-linux-deb10:$DOCKER_REV",
+ "image": "registry.gitlab.haskell.org/ghc/ci-images/x86_64-linux-deb11-emsdk-closure:$DOCKER_REV",
"needs": [
{
"artifacts": false,
@@ -4811,9 +4941,8 @@
],
"rules": [
{
- "allow_failure": true,
- "if": "((($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)",
- "when": "manual"
+ "if": "((($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 =~ /.*javascript.*/)) && ($RELEASE_JOB != \"yes\") && ($NIGHTLY == null)",
+ "when": "on_success"
}
],
"script": [
@@ -4828,16 +4957,19 @@
"x86_64-linux"
],
"variables": {
- "BIGNUM_BACKEND": "gmp",
- "BIN_DIST_NAME": "ghc-x86_64-linux-deb10-no_tntc-validate",
+ "BIGNUM_BACKEND": "native",
+ "BIN_DIST_NAME": "ghc-x86_64-linux-deb11-emsdk-closure-int_native-cross_javascript-unknown-ghcjs-validate",
"BUILD_FLAVOUR": "validate",
- "CONFIGURE_ARGS": "--disable-tables-next-to-code --enable-strict-ghc-toolchain-check",
+ "CONFIGURE_ARGS": "--with-intree-gmp --enable-strict-ghc-toolchain-check",
+ "CONFIGURE_WRAPPER": "emconfigure",
+ "CROSS_EMULATOR": "js-emulator",
+ "CROSS_TARGET": "javascript-unknown-ghcjs",
"INSTALL_CONFIGURE_ARGS": "--enable-strict-ghc-toolchain-check",
"RUNTEST_ARGS": "",
- "TEST_ENV": "x86_64-linux-deb10-no_tntc-validate"
+ "TEST_ENV": "x86_64-linux-deb11-emsdk-closure-int_native-cross_javascript-unknown-ghcjs-validate"
}
},
- "x86_64-linux-deb10-numa-slow-validate": {
+ "x86_64-linux-deb12-int_native-validate": {
"after_script": [
".gitlab/ci.sh save_cache",
".gitlab/ci.sh save_test_output",
@@ -4848,7 +4980,7 @@
"artifacts": {
"expire_in": "2 weeks",
"paths": [
- "ghc-x86_64-linux-deb10-numa-slow-validate.tar.xz",
+ "ghc-x86_64-linux-deb12-int_native-validate.tar.xz",
"junit.xml",
"unexpected-test-output.tar.gz"
],
@@ -4858,14 +4990,14 @@
"when": "always"
},
"cache": {
- "key": "x86_64-linux-deb10-$CACHE_REV",
+ "key": "x86_64-linux-deb12-$CACHE_REV",
"paths": [
"cabal-cache",
"toolchain"
]
},
"dependencies": [],
- "image": "registry.gitlab.haskell.org/ghc/ci-images/x86_64-linux-deb10:$DOCKER_REV",
+ "image": "registry.gitlab.haskell.org/ghc/ci-images/x86_64-linux-deb12:$DOCKER_REV",
"needs": [
{
"artifacts": false,
@@ -4874,7 +5006,7 @@
],
"rules": [
{
- "if": "(\"true\" == \"true\") && ($RELEASE_JOB != \"yes\") && ($NIGHTLY == null)",
+ "if": "((($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)",
"when": "on_success"
}
],
@@ -4890,17 +5022,16 @@
"x86_64-linux"
],
"variables": {
- "BIGNUM_BACKEND": "gmp",
- "BIN_DIST_NAME": "ghc-x86_64-linux-deb10-numa-slow-validate",
- "BUILD_FLAVOUR": "slow-validate",
+ "BIGNUM_BACKEND": "native",
+ "BIN_DIST_NAME": "ghc-x86_64-linux-deb12-int_native-validate",
+ "BUILD_FLAVOUR": "validate",
"CONFIGURE_ARGS": "--enable-strict-ghc-toolchain-check",
- "ENABLE_NUMA": "1",
"INSTALL_CONFIGURE_ARGS": "--enable-strict-ghc-toolchain-check",
"RUNTEST_ARGS": "",
- "TEST_ENV": "x86_64-linux-deb10-numa-slow-validate"
+ "TEST_ENV": "x86_64-linux-deb12-int_native-validate"
}
},
- "x86_64-linux-deb10-unreg-validate": {
+ "x86_64-linux-deb12-no_tntc-validate": {
"after_script": [
".gitlab/ci.sh save_cache",
".gitlab/ci.sh save_test_output",
@@ -4911,7 +5042,7 @@
"artifacts": {
"expire_in": "2 weeks",
"paths": [
- "ghc-x86_64-linux-deb10-unreg-validate.tar.xz",
+ "ghc-x86_64-linux-deb12-no_tntc-validate.tar.xz",
"junit.xml",
"unexpected-test-output.tar.gz"
],
@@ -4921,14 +5052,14 @@
"when": "always"
},
"cache": {
- "key": "x86_64-linux-deb10-$CACHE_REV",
+ "key": "x86_64-linux-deb12-$CACHE_REV",
"paths": [
"cabal-cache",
"toolchain"
]
},
"dependencies": [],
- "image": "registry.gitlab.haskell.org/ghc/ci-images/x86_64-linux-deb10:$DOCKER_REV",
+ "image": "registry.gitlab.haskell.org/ghc/ci-images/x86_64-linux-deb12:$DOCKER_REV",
"needs": [
{
"artifacts": false,
@@ -4937,8 +5068,9 @@
],
"rules": [
{
+ "allow_failure": true,
"if": "((($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)",
- "when": "on_success"
+ "when": "manual"
}
],
"script": [
@@ -4954,15 +5086,15 @@
],
"variables": {
"BIGNUM_BACKEND": "gmp",
- "BIN_DIST_NAME": "ghc-x86_64-linux-deb10-unreg-validate",
+ "BIN_DIST_NAME": "ghc-x86_64-linux-deb12-no_tntc-validate",
"BUILD_FLAVOUR": "validate",
- "CONFIGURE_ARGS": "--enable-unregisterised --enable-strict-ghc-toolchain-check",
+ "CONFIGURE_ARGS": "--disable-tables-next-to-code --enable-strict-ghc-toolchain-check",
"INSTALL_CONFIGURE_ARGS": "--enable-strict-ghc-toolchain-check",
"RUNTEST_ARGS": "",
- "TEST_ENV": "x86_64-linux-deb10-unreg-validate"
+ "TEST_ENV": "x86_64-linux-deb12-no_tntc-validate"
}
},
- "x86_64-linux-deb10-validate+debug_info": {
+ "x86_64-linux-deb12-numa-slow-validate": {
"after_script": [
".gitlab/ci.sh save_cache",
".gitlab/ci.sh save_test_output",
@@ -4973,7 +5105,7 @@
"artifacts": {
"expire_in": "2 weeks",
"paths": [
- "ghc-x86_64-linux-deb10-validate+debug_info.tar.xz",
+ "ghc-x86_64-linux-deb12-numa-slow-validate.tar.xz",
"junit.xml",
"unexpected-test-output.tar.gz"
],
@@ -4983,14 +5115,14 @@
"when": "always"
},
"cache": {
- "key": "x86_64-linux-deb10-$CACHE_REV",
+ "key": "x86_64-linux-deb12-$CACHE_REV",
"paths": [
"cabal-cache",
"toolchain"
]
},
"dependencies": [],
- "image": "registry.gitlab.haskell.org/ghc/ci-images/x86_64-linux-deb10:$DOCKER_REV",
+ "image": "registry.gitlab.haskell.org/ghc/ci-images/x86_64-linux-deb12:$DOCKER_REV",
"needs": [
{
"artifacts": false,
@@ -4999,7 +5131,7 @@
],
"rules": [
{
- "if": "((($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 =~ /.*test-primops.*/)) && ($RELEASE_JOB != \"yes\") && ($NIGHTLY == null)",
+ "if": "(\"true\" == \"true\") && ($RELEASE_JOB != \"yes\") && ($NIGHTLY == null)",
"when": "on_success"
}
],
@@ -5016,15 +5148,16 @@
],
"variables": {
"BIGNUM_BACKEND": "gmp",
- "BIN_DIST_NAME": "ghc-x86_64-linux-deb10-validate+debug_info",
- "BUILD_FLAVOUR": "validate+debug_info",
+ "BIN_DIST_NAME": "ghc-x86_64-linux-deb12-numa-slow-validate",
+ "BUILD_FLAVOUR": "slow-validate",
"CONFIGURE_ARGS": "--enable-strict-ghc-toolchain-check",
+ "ENABLE_NUMA": "1",
"INSTALL_CONFIGURE_ARGS": "--enable-strict-ghc-toolchain-check",
"RUNTEST_ARGS": "",
- "TEST_ENV": "x86_64-linux-deb10-validate+debug_info"
+ "TEST_ENV": "x86_64-linux-deb12-numa-slow-validate"
}
},
- "x86_64-linux-deb10-zstd-validate": {
+ "x86_64-linux-deb12-unreg-validate": {
"after_script": [
".gitlab/ci.sh save_cache",
".gitlab/ci.sh save_test_output",
@@ -5035,7 +5168,7 @@
"artifacts": {
"expire_in": "2 weeks",
"paths": [
- "ghc-x86_64-linux-deb10-zstd-validate.tar.xz",
+ "ghc-x86_64-linux-deb12-unreg-validate.tar.xz",
"junit.xml",
"unexpected-test-output.tar.gz"
],
@@ -5045,14 +5178,14 @@
"when": "always"
},
"cache": {
- "key": "x86_64-linux-deb10-$CACHE_REV",
+ "key": "x86_64-linux-deb12-$CACHE_REV",
"paths": [
"cabal-cache",
"toolchain"
]
},
"dependencies": [],
- "image": "registry.gitlab.haskell.org/ghc/ci-images/x86_64-linux-deb10:$DOCKER_REV",
+ "image": "registry.gitlab.haskell.org/ghc/ci-images/x86_64-linux-deb12:$DOCKER_REV",
"needs": [
{
"artifacts": false,
@@ -5061,7 +5194,7 @@
],
"rules": [
{
- "if": "(($CI_MERGE_REQUEST_LABELS =~ /.*IPE.*/)) && ($RELEASE_JOB != \"yes\") && ($NIGHTLY == null)",
+ "if": "((($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)",
"when": "on_success"
}
],
@@ -5078,15 +5211,15 @@
],
"variables": {
"BIGNUM_BACKEND": "gmp",
- "BIN_DIST_NAME": "ghc-x86_64-linux-deb10-zstd-validate",
+ "BIN_DIST_NAME": "ghc-x86_64-linux-deb12-unreg-validate",
"BUILD_FLAVOUR": "validate",
- "CONFIGURE_ARGS": "--enable-ipe-data-compression --enable-strict-ghc-toolchain-check",
+ "CONFIGURE_ARGS": "--enable-unregisterised --enable-strict-ghc-toolchain-check",
"INSTALL_CONFIGURE_ARGS": "--enable-strict-ghc-toolchain-check",
"RUNTEST_ARGS": "",
- "TEST_ENV": "x86_64-linux-deb10-zstd-validate"
+ "TEST_ENV": "x86_64-linux-deb12-unreg-validate"
}
},
- "x86_64-linux-deb11-cross_aarch64-linux-gnu-validate": {
+ "x86_64-linux-deb12-validate": {
"after_script": [
".gitlab/ci.sh save_cache",
".gitlab/ci.sh save_test_output",
@@ -5097,7 +5230,7 @@
"artifacts": {
"expire_in": "2 weeks",
"paths": [
- "ghc-x86_64-linux-deb11-cross_aarch64-linux-gnu-validate.tar.xz",
+ "ghc-x86_64-linux-deb12-validate.tar.xz",
"junit.xml",
"unexpected-test-output.tar.gz"
],
@@ -5107,14 +5240,14 @@
"when": "always"
},
"cache": {
- "key": "x86_64-linux-deb11-$CACHE_REV",
+ "key": "x86_64-linux-deb12-$CACHE_REV",
"paths": [
"cabal-cache",
"toolchain"
]
},
"dependencies": [],
- "image": "registry.gitlab.haskell.org/ghc/ci-images/x86_64-linux-deb11:$DOCKER_REV",
+ "image": "registry.gitlab.haskell.org/ghc/ci-images/x86_64-linux-deb12:$DOCKER_REV",
"needs": [
{
"artifacts": false,
@@ -5123,7 +5256,7 @@
],
"rules": [
{
- "if": "((($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)",
+ "if": "((($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 =~ /.*test-primops.*/)) && ($RELEASE_JOB != \"yes\") && ($NIGHTLY == null)",
"when": "on_success"
}
],
@@ -5140,17 +5273,15 @@
],
"variables": {
"BIGNUM_BACKEND": "gmp",
- "BIN_DIST_NAME": "ghc-x86_64-linux-deb11-cross_aarch64-linux-gnu-validate",
+ "BIN_DIST_NAME": "ghc-x86_64-linux-deb12-validate",
"BUILD_FLAVOUR": "validate",
- "CONFIGURE_ARGS": "--with-intree-gmp --enable-strict-ghc-toolchain-check",
- "CROSS_EMULATOR": "qemu-aarch64 -L /usr/aarch64-linux-gnu",
- "CROSS_TARGET": "aarch64-linux-gnu",
+ "CONFIGURE_ARGS": "--enable-strict-ghc-toolchain-check",
"INSTALL_CONFIGURE_ARGS": "--enable-strict-ghc-toolchain-check",
"RUNTEST_ARGS": "",
- "TEST_ENV": "x86_64-linux-deb11-cross_aarch64-linux-gnu-validate"
+ "TEST_ENV": "x86_64-linux-deb12-validate"
}
},
- "x86_64-linux-deb11-emsdk-closure-int_native-cross_javascript-unknown-ghcjs-validate": {
+ "x86_64-linux-deb12-validate+boot_nonmoving_gc": {
"after_script": [
".gitlab/ci.sh save_cache",
".gitlab/ci.sh save_test_output",
@@ -5161,7 +5292,7 @@
"artifacts": {
"expire_in": "2 weeks",
"paths": [
- "ghc-x86_64-linux-deb11-emsdk-closure-int_native-cross_javascript-unknown-ghcjs-validate.tar.xz",
+ "ghc-x86_64-linux-deb12-validate+boot_nonmoving_gc.tar.xz",
"junit.xml",
"unexpected-test-output.tar.gz"
],
@@ -5171,14 +5302,14 @@
"when": "always"
},
"cache": {
- "key": "x86_64-linux-deb11-emsdk-closure-$CACHE_REV",
+ "key": "x86_64-linux-deb12-$CACHE_REV",
"paths": [
"cabal-cache",
"toolchain"
]
},
"dependencies": [],
- "image": "registry.gitlab.haskell.org/ghc/ci-images/x86_64-linux-deb11-emsdk-closure:$DOCKER_REV",
+ "image": "registry.gitlab.haskell.org/ghc/ci-images/x86_64-linux-deb12:$DOCKER_REV",
"needs": [
{
"artifacts": false,
@@ -5187,7 +5318,7 @@
],
"rules": [
{
- "if": "((($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 =~ /.*javascript.*/)) && ($RELEASE_JOB != \"yes\") && ($NIGHTLY == null)",
+ "if": "(($CI_MERGE_REQUEST_LABELS =~ /.*non-moving GC.*/)) && ($RELEASE_JOB != \"yes\") && ($NIGHTLY == null)",
"when": "on_success"
}
],
@@ -5203,19 +5334,16 @@
"x86_64-linux"
],
"variables": {
- "BIGNUM_BACKEND": "native",
- "BIN_DIST_NAME": "ghc-x86_64-linux-deb11-emsdk-closure-int_native-cross_javascript-unknown-ghcjs-validate",
- "BUILD_FLAVOUR": "validate",
- "CONFIGURE_ARGS": "--with-intree-gmp --enable-strict-ghc-toolchain-check",
- "CONFIGURE_WRAPPER": "emconfigure",
- "CROSS_EMULATOR": "js-emulator",
- "CROSS_TARGET": "javascript-unknown-ghcjs",
+ "BIGNUM_BACKEND": "gmp",
+ "BIN_DIST_NAME": "ghc-x86_64-linux-deb12-validate+boot_nonmoving_gc",
+ "BUILD_FLAVOUR": "validate+boot_nonmoving_gc",
+ "CONFIGURE_ARGS": "--enable-strict-ghc-toolchain-check",
"INSTALL_CONFIGURE_ARGS": "--enable-strict-ghc-toolchain-check",
- "RUNTEST_ARGS": "",
- "TEST_ENV": "x86_64-linux-deb11-emsdk-closure-int_native-cross_javascript-unknown-ghcjs-validate"
+ "RUNTEST_ARGS": "--way=nonmoving --way=nonmoving_thr --way=nonmoving_thr_sanity",
+ "TEST_ENV": "x86_64-linux-deb12-validate+boot_nonmoving_gc"
}
},
- "x86_64-linux-deb11-validate+boot_nonmoving_gc": {
+ "x86_64-linux-deb12-validate+llvm": {
"after_script": [
".gitlab/ci.sh save_cache",
".gitlab/ci.sh save_test_output",
@@ -5226,7 +5354,7 @@
"artifacts": {
"expire_in": "2 weeks",
"paths": [
- "ghc-x86_64-linux-deb11-validate+boot_nonmoving_gc.tar.xz",
+ "ghc-x86_64-linux-deb12-validate+llvm.tar.xz",
"junit.xml",
"unexpected-test-output.tar.gz"
],
@@ -5236,14 +5364,14 @@
"when": "always"
},
"cache": {
- "key": "x86_64-linux-deb11-$CACHE_REV",
+ "key": "x86_64-linux-deb12-$CACHE_REV",
"paths": [
"cabal-cache",
"toolchain"
]
},
"dependencies": [],
- "image": "registry.gitlab.haskell.org/ghc/ci-images/x86_64-linux-deb11:$DOCKER_REV",
+ "image": "registry.gitlab.haskell.org/ghc/ci-images/x86_64-linux-deb12:$DOCKER_REV",
"needs": [
{
"artifacts": false,
@@ -5252,7 +5380,7 @@
],
"rules": [
{
- "if": "(($CI_MERGE_REQUEST_LABELS =~ /.*non-moving GC.*/)) && ($RELEASE_JOB != \"yes\") && ($NIGHTLY == null)",
+ "if": "(($CI_MERGE_REQUEST_LABELS =~ /.*LLVM backend.*/)) && ($RELEASE_JOB != \"yes\") && ($NIGHTLY == null)",
"when": "on_success"
}
],
@@ -5269,26 +5397,26 @@
],
"variables": {
"BIGNUM_BACKEND": "gmp",
- "BIN_DIST_NAME": "ghc-x86_64-linux-deb11-validate+boot_nonmoving_gc",
- "BUILD_FLAVOUR": "validate+boot_nonmoving_gc",
+ "BIN_DIST_NAME": "ghc-x86_64-linux-deb12-validate+llvm",
+ "BUILD_FLAVOUR": "validate+llvm",
"CONFIGURE_ARGS": "--enable-strict-ghc-toolchain-check",
"INSTALL_CONFIGURE_ARGS": "--enable-strict-ghc-toolchain-check",
- "RUNTEST_ARGS": "--way=nonmoving --way=nonmoving_thr --way=nonmoving_thr_sanity",
- "TEST_ENV": "x86_64-linux-deb11-validate+boot_nonmoving_gc"
+ "RUNTEST_ARGS": "",
+ "TEST_ENV": "x86_64-linux-deb12-validate+llvm"
}
},
- "x86_64-linux-deb12-validate+llvm": {
+ "x86_64-linux-deb12-validate+thread_sanitizer_cmm": {
"after_script": [
".gitlab/ci.sh save_cache",
".gitlab/ci.sh save_test_output",
".gitlab/ci.sh clean",
"cat ci_timings"
],
- "allow_failure": false,
+ "allow_failure": true,
"artifacts": {
"expire_in": "2 weeks",
"paths": [
- "ghc-x86_64-linux-deb12-validate+llvm.tar.xz",
+ "ghc-x86_64-linux-deb12-validate+thread_sanitizer_cmm.tar.xz",
"junit.xml",
"unexpected-test-output.tar.gz"
],
@@ -5314,8 +5442,9 @@
],
"rules": [
{
- "if": "(($CI_MERGE_REQUEST_LABELS =~ /.*LLVM backend.*/)) && ($RELEASE_JOB != \"yes\") && ($NIGHTLY == null)",
- "when": "on_success"
+ "allow_failure": true,
+ "if": "((($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)",
+ "when": "manual"
}
],
"script": [
@@ -5331,26 +5460,28 @@
],
"variables": {
"BIGNUM_BACKEND": "gmp",
- "BIN_DIST_NAME": "ghc-x86_64-linux-deb12-validate+llvm",
- "BUILD_FLAVOUR": "validate+llvm",
+ "BIN_DIST_NAME": "ghc-x86_64-linux-deb12-validate+thread_sanitizer_cmm",
+ "BUILD_FLAVOUR": "validate+thread_sanitizer_cmm",
"CONFIGURE_ARGS": "--enable-strict-ghc-toolchain-check",
+ "HADRIAN_ARGS": "--docs=none",
"INSTALL_CONFIGURE_ARGS": "--enable-strict-ghc-toolchain-check",
"RUNTEST_ARGS": "",
- "TEST_ENV": "x86_64-linux-deb12-validate+llvm"
+ "TEST_ENV": "x86_64-linux-deb12-validate+thread_sanitizer_cmm",
+ "TSAN_OPTIONS": "suppressions=$CI_PROJECT_DIR/rts/.tsan-suppressions"
}
},
- "x86_64-linux-deb12-validate+thread_sanitizer_cmm": {
+ "x86_64-linux-deb12-zstd-validate": {
"after_script": [
".gitlab/ci.sh save_cache",
".gitlab/ci.sh save_test_output",
".gitlab/ci.sh clean",
"cat ci_timings"
],
- "allow_failure": true,
+ "allow_failure": false,
"artifacts": {
"expire_in": "2 weeks",
"paths": [
- "ghc-x86_64-linux-deb12-validate+thread_sanitizer_cmm.tar.xz",
+ "ghc-x86_64-linux-deb12-zstd-validate.tar.xz",
"junit.xml",
"unexpected-test-output.tar.gz"
],
@@ -5376,9 +5507,8 @@
],
"rules": [
{
- "allow_failure": true,
- "if": "((($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)",
- "when": "manual"
+ "if": "(($CI_MERGE_REQUEST_LABELS =~ /.*IPE.*/)) && ($RELEASE_JOB != \"yes\") && ($NIGHTLY == null)",
+ "when": "on_success"
}
],
"script": [
@@ -5394,14 +5524,12 @@
],
"variables": {
"BIGNUM_BACKEND": "gmp",
- "BIN_DIST_NAME": "ghc-x86_64-linux-deb12-validate+thread_sanitizer_cmm",
- "BUILD_FLAVOUR": "validate+thread_sanitizer_cmm",
- "CONFIGURE_ARGS": "--enable-strict-ghc-toolchain-check",
- "HADRIAN_ARGS": "--docs=none",
+ "BIN_DIST_NAME": "ghc-x86_64-linux-deb12-zstd-validate",
+ "BUILD_FLAVOUR": "validate",
+ "CONFIGURE_ARGS": "--enable-ipe-data-compression --enable-strict-ghc-toolchain-check",
"INSTALL_CONFIGURE_ARGS": "--enable-strict-ghc-toolchain-check",
"RUNTEST_ARGS": "",
- "TEST_ENV": "x86_64-linux-deb12-validate+thread_sanitizer_cmm",
- "TSAN_OPTIONS": "suppressions=$CI_PROJECT_DIR/rts/.tsan-suppressions"
+ "TEST_ENV": "x86_64-linux-deb12-zstd-validate"
}
},
"x86_64-linux-fedora33-release": {
=====================================
.gitlab/rel_eng/fetch-gitlab-artifacts/fetch_gitlab.py
=====================================
@@ -21,12 +21,12 @@ def job_triple(job_name):
'release-x86_64-linux-rocky8-release': 'x86_64-rocky8-linux',
'release-x86_64-linux-ubuntu20_04-release': 'x86_64-ubuntu20_04-linux',
'release-x86_64-linux-ubuntu18_04-release': 'x86_64-ubuntu18_04-linux',
+ 'release-x86_64-linux-fedora38-release': 'x86_64-fedora38-linux',
'release-x86_64-linux-fedora33-release+debug_info': 'x86_64-fedora33-linux-dwarf',
'release-x86_64-linux-fedora33-release': 'x86_64-fedora33-linux',
- 'release-x86_64-linux-fedora38-release': 'x86_64-fedora38-linux',
'release-x86_64-linux-fedora27-release': 'x86_64-fedora27-linux',
- 'release-x86_64-linux-deb11-release': 'x86_64-deb11-linux',
'release-x86_64-linux-deb12-release': 'x86_64-deb12-linux',
+ 'release-x86_64-linux-deb11-release': 'x86_64-deb11-linux',
'release-x86_64-linux-deb10-release+debug_info': 'x86_64-deb10-linux-dwarf',
'release-x86_64-linux-deb10-release': 'x86_64-deb10-linux',
'release-x86_64-linux-deb9-release': 'x86_64-deb9-linux',
@@ -36,11 +36,13 @@ def job_triple(job_name):
'release-x86_64-linux-alpine3_12-int_native-release+fully_static': 'x86_64-alpine3_12-linux-static-int_native',
'release-x86_64-linux-alpine3_20-release': 'x86_64-alpine3_20-linux',
'release-x86_64-darwin-release': 'x86_64-apple-darwin',
- 'release-i386-linux-deb9-release': 'i386-deb9-linux',
+ 'release-i386-linux-deb12-release': 'i386-deb12-linux',
'release-i386-linux-deb10-release': 'i386-deb10-linux',
+ 'release-i386-linux-deb9-release': 'i386-deb9-linux',
'release-armv7-linux-deb10-release': 'armv7-deb10-linux',
'release-aarch64-linux-deb10-release': 'aarch64-deb10-linux',
'release-aarch64-linux-deb11-release': 'aarch64-deb11-linux',
+ 'release-aarch64-linux-deb12-release': 'aarch64-deb12-linux',
'release-aarch64-linux-alpine3_18-release+no_split_sections': 'aarch64-alpine3_18-linux',
'release-aarch64-darwin-release': 'aarch64-apple-darwin',
=====================================
.gitlab/rel_eng/mk-ghcup-metadata/mk_ghcup_metadata.py
=====================================
@@ -94,19 +94,19 @@ windowsArtifact = PlatformSpec ( 'x86_64-windows'
, 'ghc-{version}-x86_64-unknown-mingw32' )
def centos(n, arch='x86_64'):
- return linux_platform(arch, "x86_64-linux-centos{n}".format(n=n))
+ return linux_platform(arch, "{arch}-linux-centos{n}".format(n=n,arch=arch))
def fedora(n, arch='x86_64'):
- return linux_platform(arch, "x86_64-linux-fedora{n}".format(n=n))
+ return linux_platform(arch, "{arch}-linux-fedora{n}".format(n=n,arch=arch))
def alpine(n, arch='x86_64'):
- return linux_platform(arch, "x86_64-linux-alpine{n}".format(n=n))
+ return linux_platform(arch, "{arch}-linux-alpine{n}".format(n=n,arch=arch))
def rocky(n, arch='x86_64'):
- return linux_platform(arch, "x86_64-linux-rocky{n}".format(n=n))
+ return linux_platform(arch, "{arch}-linux-rocky{n}".format(n=n,arch=arch))
def ubuntu(n, arch='x86_64'):
- return linux_platform(arch, "x86_64-linux-ubuntu{n}".format(n=n))
+ return linux_platform(arch, "{arch}-linux-ubuntu{n}".format(n=n,arch=arch))
def linux_platform(arch, opsys):
return PlatformSpec( opsys, 'ghc-{version}-{arch}-unknown-linux'.format(version="{version}", arch=arch) )
@@ -206,7 +206,9 @@ def mk_new_yaml(release_mode, version, date, pipeline_type, job_map):
deb12 = mk(debian(12, "x86_64"))
deb10_arm64 = mk(debian(10, "aarch64"))
deb11_arm64 = mk(debian(11, "aarch64"))
+ deb12_arm64 = mk(debian(12, "aarch64"))
deb10_i386 = mk(debian(10, "i386"))
+ deb12_i386 = mk(debian(12, "i386"))
source = mk_one_metadata(release_mode, version, job_map, source_artifact)
test = mk_one_metadata(release_mode, version, job_map, test_artifact)
@@ -239,7 +241,9 @@ def mk_new_yaml(release_mode, version, date, pipeline_type, job_map):
}
- a32 = { "Linux_Debian": { "unknown_versioning": deb10_i386 }
+ a32 = { "Linux_Debian": { "( >= 10 && < 12 )": deb10_i386
+ , ">= 12": deb12_i386
+ , "unknown versioning": deb10_i386 }}
, "Linux_Ubuntu": { "unknown_versioning": deb10_i386 }
, "Linux_Mint" : { "unknown_versioning": deb10_i386 }
, "Linux_UnknownLinux" : { "unknown_versioning": deb10_i386 }
@@ -249,6 +253,7 @@ def mk_new_yaml(release_mode, version, date, pipeline_type, job_map):
, "Linux_Alpine" : { "unknown_versioning": alpine3_18_arm64 }
, "Linux_Debian": { "( >= 10 && < 11 )": deb10_arm64
, "( >= 11 && < 12 )": deb11_arm64
+ , "( >= 12 )": deb12_arm64
, "unknown_versioning": deb10_arm64
}
, "Darwin": { "unknown_versioning": darwin_arm64 }
=====================================
utils/haddock/haddock-api/src/Haddock.hs
=====================================
@@ -438,16 +438,17 @@ render dflags languagesAndExtensions parserOpts logger unit_state flags sinceQua
= Map.insert k srcNameUrl pkgSrcMap
| otherwise = pkgSrcMap
+ pkgSrcLMap = Map.map (hypSrcModuleUrlToLineFormat . hypSrcPkgUrlToModuleFormat)
+ $ Map.mapKeys moduleUnit extSrcMap
-- These urls have a template for the module %M and the line %L
- -- TODO: Get these from the interface files as with srcMap
pkgSrcLMap'
| Flag_HyperlinkedSource `elem` flags
, Just k <- pkgKey
- = Map.singleton k hypSrcModuleLineUrlFormat
+ = Map.insert k hypSrcModuleLineUrlFormat pkgSrcLMap
| Just path <- srcLEntity
, Just k <- pkgKey
- = Map.singleton k path
- | otherwise = Map.empty
+ = Map.insert k path pkgSrcLMap
+ | otherwise = pkgSrcLMap
sourceUrls' = (srcBase, srcModule', pkgSrcMap', pkgSrcLMap')
=====================================
utils/haddock/haddock-api/src/Haddock/Backends/Hyperlinker/Utils.hs
=====================================
@@ -14,6 +14,7 @@ module Haddock.Backends.Hyperlinker.Utils
, hypSrcModuleNameUrlFormat
, hypSrcModuleLineUrlFormat
, hypSrcModuleUrlToNameFormat
+ , hypSrcModuleUrlToLineFormat
, hypSrcPkgUrlToModuleFormat
, spliceURL
, spliceURL'
@@ -86,6 +87,9 @@ hypSrcModuleLineUrlFormat = hypSrcModuleUrlFormat ++ "#" ++ lineFormat
hypSrcModuleUrlToNameFormat :: String -> String
hypSrcModuleUrlToNameFormat url = url ++ "#" ++ nameFormat
+hypSrcModuleUrlToLineFormat :: String -> String
+hypSrcModuleUrlToLineFormat url = url ++ "#" ++ lineFormat
+
hypSrcPkgUrlToModuleFormat :: String -> String
hypSrcPkgUrlToModuleFormat url = url </> moduleFormat
=====================================
utils/haddock/haddock-api/src/Haddock/Interface.hs
=====================================
@@ -240,25 +240,28 @@ createIfaces verbosity modules flags instIfaceMap = do
-- Visit modules in that order
sortedMods = concatMap go $ topSortModuleGraph False modGraph Nothing
out verbosity normal "Haddock coverage:"
- (ifaces, _) <- foldM f ([], Map.empty) sortedMods
+ let inst_warning_map = Map.unions $ map instWarningMap (Map.elems instIfaceMap)
+ (ifaces, _, _) <- foldM f ([], Map.empty, inst_warning_map) sortedMods
return (reverse ifaces)
where
- f (ifaces, ifaceMap) modSummary = do
+ f (ifaces, ifaceMap, warningMap) modSummary = do
x <- {-# SCC processModule #-}
withTimingM "processModule" (const ()) $ do
- processModule verbosity modSummary flags ifaceMap instIfaceMap
+ processModule verbosity modSummary flags ifaceMap instIfaceMap warningMap
return $ case x of
Just iface -> ( iface:ifaces
- , Map.insert (ifaceMod iface) iface ifaceMap )
+ , Map.insert (ifaceMod iface) iface ifaceMap
+ , Map.union (ifaceWarningMap iface) warningMap)
Nothing -> ( ifaces
- , ifaceMap ) -- Boot modules don't generate ifaces.
+ , ifaceMap
+ , warningMap ) -- Boot modules don't generate ifaces.
dropErr :: MaybeErr e a -> Maybe a
dropErr (Succeeded a) = Just a
dropErr (Failed _) = Nothing
-processModule :: Verbosity -> ModSummary -> [Flag] -> IfaceMap -> InstIfaceMap -> Ghc (Maybe Interface)
-processModule verbosity modSummary flags ifaceMap instIfaceMap = do
+processModule :: Verbosity -> ModSummary -> [Flag] -> IfaceMap -> InstIfaceMap -> WarningMap -> Ghc (Maybe Interface)
+processModule verbosity modSummary flags ifaceMap instIfaceMap warningMap = do
out verbosity verbose $ "Checking module " ++ moduleString (ms_mod modSummary) ++ "..."
hsc_env <- getSession
@@ -281,7 +284,7 @@ processModule verbosity modSummary flags ifaceMap instIfaceMap = do
{-# SCC createInterface #-}
withTiming logger "createInterface" (const ()) $
runIfM (liftIO . fmap dropErr . lookupGlobal_maybe hsc_env) $
- createInterface1 flags unit_state modSummary mod_iface ifaceMap instIfaceMap insts
+ createInterface1 flags unit_state modSummary mod_iface ifaceMap instIfaceMap insts warningMap
let
(haddockable, haddocked) =
@@ -387,13 +390,13 @@ createOneShotIface verbosity flags instIfaceMap moduleNameStr = do
let hieFilePath = case res of
Found ml _ -> ml_hie_file ml
_ -> throwE "createOneShotIface: module not found"
-
+ let inst_warning_map = Map.unions $ map instWarningMap (Map.elems instIfaceMap)
!interface <- do
logger <- getLogger
{-# SCC createInterface #-}
withTiming logger "createInterface" (const ()) $
runIfM (liftIO . fmap dropErr . lookupGlobal_maybe hsc_env) $
- createInterface1' flags (hsc_units hsc_env) dflags' hieFilePath iface mempty instIfaceMap insts
+ createInterface1' flags (hsc_units hsc_env) dflags' hieFilePath iface mempty instIfaceMap insts inst_warning_map
pure [interface]
=====================================
utils/haddock/haddock-api/src/Haddock/Interface/AttachInstances.hs
=====================================
@@ -143,10 +143,11 @@ attachInstances expInfo ifaces instIfaceMap isOneShot = do
attach (cls_insts, fam_insts, inst_map) iface = do
let getInstDoc = findInstDoc iface ifaceMap instIfaceMap
getFixity = findFixity iface ifaceMap instIfaceMap
+ getInstLocIface name = Map.lookup name . instInstanceLocMap =<< Map.lookup (nameModule name) instIfaceMap
newItems <-
mapM
- (attachToExportItem cls_insts fam_insts inst_map expInfo getInstDoc getFixity)
+ (attachToExportItem cls_insts fam_insts inst_map expInfo getInstDoc getFixity getInstLocIface)
(ifaceExportItems iface)
let orphanInstances = attachOrphanInstances expInfo getInstDoc (ifaceInstances iface) fam_insts
return $
@@ -184,9 +185,11 @@ attachToExportItem
-- ^ how to lookup the doc of an instance
-> (Name -> Maybe Fixity)
-- ^ how to lookup a fixity
+ -> (Name -> Maybe RealSrcSpan)
+ -- ^ how to lookup definition spans for instances
-> ExportItem GhcRn
-> Ghc (ExportItem GhcRn)
-attachToExportItem cls_index fam_index index expInfo getInstDoc getFixity export =
+attachToExportItem cls_index fam_index index expInfo getInstDoc getFixity getInstLocIface export =
case attachFixities export of
ExportDecl e@(ExportD{expDDecl = L eSpan (TyClD _ d)}) -> do
insts <-
@@ -267,12 +270,17 @@ attachToExportItem cls_index fam_index index expInfo getInstDoc getFixity export
-- spanName: attach the location to the name that is the same file as the instance location
spanName s (InstHead{ihdClsName = clsn}) (L instL instn) =
- let s1 = getSrcSpan s
+ let s1 = let orig_span = getSrcSpan s
+ in if isGoodSrcSpan orig_span
+ then orig_span
+ else case getInstLocIface s of
+ Nothing -> orig_span
+ Just rs -> RealSrcSpan rs mempty
sn =
if srcSpanFileName_maybe s1 == srcSpanFileName_maybe instL
then instn
else clsn
- in L (getSrcSpan s) sn
+ in L s1 sn
-- spanName on Either
spanNameE s (Left e) _ = L (getSrcSpan s) (Left e)
spanNameE s (Right ok) linst =
=====================================
utils/haddock/haddock-api/src/Haddock/Interface/Create.hs
=====================================
@@ -83,8 +83,9 @@ createInterface1
-> IfaceMap
-> InstIfaceMap
-> ([ClsInst], [FamInst])
+ -> WarningMap
-> IfM m Interface
-createInterface1 flags unit_state mod_sum mod_iface ifaces inst_ifaces (instances, fam_instances) =
+createInterface1 flags unit_state mod_sum mod_iface ifaces inst_ifaces (instances, fam_instances) depWarnings =
let
ModSummary
{ -- Cached flags from OPTIONS, INCLUDE and LANGUAGE
@@ -94,7 +95,7 @@ createInterface1 flags unit_state mod_sum mod_iface ifaces inst_ifaces (instance
, ms_location = modl
} = mod_sum
in
- createInterface1' flags unit_state ms_hspp_opts (ml_hie_file modl) mod_iface ifaces inst_ifaces (instances, fam_instances)
+ createInterface1' flags unit_state ms_hspp_opts (ml_hie_file modl) mod_iface ifaces inst_ifaces (instances, fam_instances) depWarnings
createInterface1'
:: MonadIO m
@@ -106,8 +107,9 @@ createInterface1'
-> IfaceMap
-> InstIfaceMap
-> ([ClsInst], [FamInst])
+ -> WarningMap
-> IfM m Interface
-createInterface1' flags unit_state dflags hie_file mod_iface ifaces inst_ifaces (instances, fam_instances) = do
+createInterface1' flags unit_state dflags hie_file mod_iface ifaces inst_ifaces (instances, fam_instances) depWarnings = do
let
sDocContext = DynFlags.initSDocContext dflags Outputable.defaultUserStyle
mLanguage = language dflags
@@ -205,7 +207,7 @@ createInterface1' flags unit_state dflags hie_file mod_iface ifaces inst_ifaces
let
-- Warnings in this module and transitive warnings from dependent modules
transitiveWarnings :: Map Name (Doc Name)
- transitiveWarnings = Map.unions (warningMap : map ifaceWarningMap (Map.elems ifaces))
+ transitiveWarnings = Map.union warningMap depWarnings
export_items <-
mkExportItems
=====================================
utils/haddock/haddock-api/src/Haddock/InterfaceFile.hs
=====================================
@@ -36,6 +36,7 @@ module Haddock.InterfaceFile
, binaryInterfaceVersionCompatibility
) where
+import Data.Coerce (coerce)
import Data.Function ((&))
import Data.IORef
import Data.Map (Map)
@@ -366,6 +367,8 @@ instance Binary InstalledInterface where
visExps
opts
fixMap
+ warnMap
+ locMap
) = do
put_ bh modu
put_ bh is_sig
@@ -376,6 +379,8 @@ instance Binary InstalledInterface where
put_ bh visExps
put_ bh opts
put_ bh fixMap
+ put_ bh warnMap
+ put_ bh (coerce @_ @(Map Name BinSpan) locMap)
get bh = do
modu <- get bh
@@ -387,6 +392,8 @@ instance Binary InstalledInterface where
visExps <- get bh
opts <- get bh
fixMap <- get bh
+ warnMap <- get bh
+ locMap <- get bh
return
( InstalledInterface
modu
@@ -399,6 +406,8 @@ instance Binary InstalledInterface where
visExps
opts
fixMap
+ warnMap
+ (coerce @(Map Name BinSpan) locMap)
)
instance Binary DocOption where
=====================================
utils/haddock/haddock-api/src/Haddock/Types.hs
=====================================
@@ -48,16 +48,18 @@ import Control.Monad.Catch
import Control.Monad.State.Strict
import Data.Data (Data)
import Data.Map (Map)
+import qualified Data.Map as Map
import qualified Data.Set as Set
import GHC
import qualified GHC.Data.Strict as Strict
import GHC.Driver.Session (Language)
import qualified GHC.LanguageExtensions as LangExt
+import GHC.Core.InstEnv (is_dfun_name)
import GHC.Types.Fixity (Fixity (..))
import GHC.Types.Name (stableNameCmp)
import GHC.Types.Name.Occurrence
import GHC.Types.Name.Reader (RdrName (..))
-import GHC.Types.SrcLoc (BufPos (..), BufSpan (..))
+import GHC.Types.SrcLoc (BufPos (..), BufSpan (..), srcSpanToRealSrcSpan)
import GHC.Types.Var (Specificity)
import GHC.Utils.Outputable
@@ -166,6 +168,8 @@ data InstalledInterface = InstalledInterface
, instOptions :: [DocOption]
-- ^ Haddock options for this module (prune, ignore-exports, etc).
, instFixMap :: Map Name Fixity
+ , instWarningMap :: WarningMap
+ , instInstanceLocMap :: Map Name RealSrcSpan
}
-- | Convert an 'Interface' to an 'InstalledInterface'
@@ -182,6 +186,8 @@ toInstalledIface interface =
, instOptions = interface.ifaceOptions
, instFixMap = interface.ifaceFixMap
, instDefMeths = interface.ifaceDefMeths
+ , instWarningMap = interface.ifaceWarningMap
+ , instInstanceLocMap = Map.fromList [(inst_name, loc) | i <- interface.ifaceInstances, let inst_name = is_dfun_name i, Just loc <- [srcSpanToRealSrcSpan (nameSrcSpan inst_name)]]
}
-- | A monad in which we create Haddock interfaces. Not to be confused with
View it on GitLab: https://gitlab.haskell.org/ghc/ghc/-/compare/be9c116f88f0d6e66bf7901da8a5329f491d69cb...f879c69daa1fe76932558c2f20e5bd1f12a0f09b
--
View it on GitLab: https://gitlab.haskell.org/ghc/ghc/-/compare/be9c116f88f0d6e66bf7901da8a5329f491d69cb...f879c69daa1fe76932558c2f20e5bd1f12a0f09b
You're receiving this email because of your account on gitlab.haskell.org.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.haskell.org/pipermail/ghc-commits/attachments/20240717/baa6ed17/attachment-0001.html>
More information about the ghc-commits
mailing list