[Git][ghc/ghc][wip/jeltsch/stability-risk-1-and-2-module-deprecation] Deprecate some `base` modules with stability risks 1 and 2
by Wolfgang Jeltsch (@jeltsch) 25 Jan '26
by Wolfgang Jeltsch (@jeltsch) 25 Jan '26
25 Jan '26
Wolfgang Jeltsch pushed to branch wip/jeltsch/stability-risk-1-and-2-module-deprecation at Glasgow Haskell Compiler / GHC
Commits:
2650c524 by Wolfgang Jeltsch at 2026-01-25T17:29:03+02:00
Deprecate some `base` modules with stability risks 1 and 2
- - - - -
15 changed files:
- libraries/base/src/GHC/Arr.hs
- libraries/base/src/GHC/ArrayArray.hs
- libraries/base/src/GHC/Conc/IO.hs
- libraries/base/src/GHC/Encoding/UTF8.hs
- libraries/base/src/GHC/Exception.hs
- libraries/base/src/GHC/Exception/Type.hs
- libraries/base/src/GHC/Fingerprint/Type.hs
- libraries/base/src/GHC/IO/Buffer.hs
- libraries/base/src/GHC/IO/Device.hs
- libraries/base/src/GHC/IO/Encoding.hs
- libraries/base/src/GHC/IO/Exception.hs
- libraries/base/src/GHC/IO/Handle/Text.hs
- libraries/base/src/GHC/InfoProv.hs
- libraries/base/src/GHC/Stack/Types.hs
- libraries/base/src/GHC/TopHandler.hs
Changes:
=====================================
libraries/base/src/GHC/Arr.hs
=====================================
@@ -7,7 +7,7 @@
-- License : see libraries/base/LICENSE
--
-- Maintainer : ghc-devs(a)haskell.org
--- Stability : internal
+-- Stability : deprecated (<https://github.com/haskell/core-libraries-committee/issues/393>)
-- Portability : non-portable (GHC extensions)
--
-- GHC\'s array implementation.
@@ -18,7 +18,12 @@
-- change rapidly without much warning.
--
+#if __GLASGOW_HASKELL__ >= 1002
+#error "GHC.Arr should be removed in GHC 10.02."
+#endif
+
module GHC.Arr
+ {-# DEPRECATED ["GHC.Arr is deprecated and will be removed in GHC 10.02. Please use the array package."] #-}
(Ix(..),
Array(..),
STArray(..),
=====================================
libraries/base/src/GHC/ArrayArray.hs
=====================================
@@ -8,7 +8,7 @@
-- License : see libraries/base/LICENSE
--
-- Maintainer : ghc-devs(a)haskell.org
--- Stability : internal
+-- Stability : deprecated (<https://github.com/haskell/core-libraries-committee/issues/393>)
-- Portability : non-portable (GHC Extensions)
--
-- Legacy interface for arrays of arrays.
@@ -18,7 +18,12 @@
-- Use GHC.Exts instead of importing this module directly.
--
+#if __GLASGOW_HASKELL__ >= 1002
+#error "GHC.ArrayArray should be removed in GHC 10.02."
+#endif
+
module GHC.ArrayArray
+ {-# DEPRECATED ["GHC.ArrayArray is deprecated and will be removed in GHC 10.02. Please use GHC.Exts."] #-}
(ArrayArray#(..),
MutableArrayArray#(..),
newArrayArray#,
=====================================
libraries/base/src/GHC/Conc/IO.hs
=====================================
@@ -7,7 +7,7 @@
-- License : see libraries/base/LICENSE
--
-- Maintainer : ghc-devs(a)haskell.org
--- Stability : internal
+-- Stability : deprecated (<https://github.com/haskell/core-libraries-committee/issues/393>)
-- Portability : non-portable (GHC extensions)
--
-- Basic concurrency stuff.
@@ -18,7 +18,12 @@
-- change rapidly without much warning.
--
+#if __GLASGOW_HASKELL__ >= 1002
+#error "GHC.Conc.IO should be removed in GHC 10.02."
+#endif
+
module GHC.Conc.IO
+ {-# DEPRECATED ["GHC.Conc.IO is deprecated and will be removed in GHC 10.02. Please use GHC.Conc where possible and the ghc-internal package otherwise."] #-}
(ensureIOManagerIsRunning,
ioManagerCapabilitiesChanged,
interruptIOManager,
=====================================
libraries/base/src/GHC/Encoding/UTF8.hs
=====================================
@@ -7,7 +7,7 @@
-- License : see libraries/base/LICENSE
--
-- Maintainer : ghc-devs(a)haskell.org
--- Stability : internal
+-- Stability : deprecated (<https://github.com/haskell/core-libraries-committee/issues/393>)
-- Portability : non-portable (GHC extensions)
--
-- /The API of this module is unstable and not meant to be consumed by the general public./
@@ -24,7 +24,12 @@
-- overview.
--
+#if __GLASGOW_HASKELL__ >= 1002
+#error "GHC.Encoding.UTF8 should be removed in GHC 10.02."
+#endif
+
module GHC.Encoding.UTF8
+ {-# DEPRECATED ["GHC.Encoding.UTF8 is deprecated and will be removed in GHC 10.02. Please use the text package."] #-}
(-- * Decoding single characters
utf8DecodeCharAddr#,
utf8DecodeCharPtr,
=====================================
libraries/base/src/GHC/Exception.hs
=====================================
@@ -8,7 +8,7 @@
-- License : see libraries/base/LICENSE
--
-- Maintainer : ghc-devs(a)haskell.org
--- Stability : internal
+-- Stability : deprecated (<https://github.com/haskell/core-libraries-committee/issues/393>)
-- Portability : non-portable (GHC extensions)
--
-- Exceptions and exception-handling functions.
@@ -19,7 +19,12 @@
-- change rapidly without much warning.
--
+#if __GLASGOW_HASKELL__ >= 1002
+#error "GHC.Exception should be removed in GHC 10.02."
+#endif
+
module GHC.Exception
+ {-# DEPRECATED ["GHC.Exception is deprecated and will be removed in GHC 10.02. Please use Control.Exception where possible and the ghc-internal package otherwise."] #-}
( -- * 'Exception' class
Exception(..)
=====================================
libraries/base/src/GHC/Exception/Type.hs
=====================================
@@ -7,13 +7,18 @@
-- License : see libraries/base/LICENSE
--
-- Maintainer : cvs-ghc(a)haskell.org
--- Stability : internal
+-- Stability : deprecated (<https://github.com/haskell/core-libraries-committee/issues/393>)
-- Portability : non-portable (GHC extensions)
--
-- Exceptions and exception-handling functions.
--
+#if __GLASGOW_HASKELL__ >= 1002
+#error "GHC.Exception.Type should be removed in GHC 10.02."
+#endif
+
module GHC.Exception.Type
+ {-# DEPRECATED ["GHC.Exception.Type is deprecated and will be removed in GHC 10.02. Please use Control.Exception where possible and the ghc-internal package otherwise."] #-}
( Exception(..) -- Class
, SomeException(..), ArithException(..)
, divZeroException, overflowException, ratioZeroDenomException
=====================================
libraries/base/src/GHC/Fingerprint/Type.hs
=====================================
@@ -7,7 +7,7 @@
-- License : see libraries/base/LICENSE
--
-- Maintainer : ghc-devs(a)haskell.org
--- Stability : internal
+-- Stability : deprecated (<https://github.com/haskell/core-libraries-committee/issues/393>)
-- Portability : non-portable (GHC extensions)
--
-- Fingerprints for recompilation checking and ABI versioning, and
@@ -18,7 +18,12 @@
-- bound, e.g., @base < 4.X@ rather than @base < 5@, because the interface can
-- change rapidly without much warning.
+#if __GLASGOW_HASKELL__ >= 1002
+#error "GHC.Fingerprint.Type should be removed in GHC 10.02."
+#endif
+
module GHC.Fingerprint.Type
+ {-# DEPRECATED ["GHC.Fingerprint.Type is deprecated and will be removed in GHC 10.02. Please use GHC.Fingerprint."] #-}
(Fingerprint(..)
) where
=====================================
libraries/base/src/GHC/IO/Buffer.hs
=====================================
@@ -7,7 +7,7 @@
-- License : see libraries/base/LICENSE
--
-- Maintainer : ghc-devs(a)haskell.org
--- Stability : internal
+-- Stability : deprecated (<https://github.com/haskell/core-libraries-committee/issues/393>)
-- Portability : non-portable (GHC Extensions)
--
-- Buffers used in the IO system
@@ -18,7 +18,12 @@
-- change rapidly without much warning.
--
+#if __GLASGOW_HASKELL__ >= 1002
+#error "GHC.IO.Buffer should be removed in GHC 10.02."
+#endif
+
module GHC.IO.Buffer
+ {-# DEPRECATED ["GHC.IO.Buffer is deprecated and will be removed in GHC 10.02. Please use the ghc-internal package."] #-}
(-- * Buffers of any element
Buffer(..),
BufferState(..),
=====================================
libraries/base/src/GHC/IO/Device.hs
=====================================
@@ -6,7 +6,7 @@
-- License : see libraries/base/LICENSE
--
-- Maintainer : libraries(a)haskell.org
--- Stability : internal
+-- Stability : deprecated (<https://github.com/haskell/core-libraries-committee/issues/393>)
-- Portability : non-portable
--
-- Type classes for I/O providers.
@@ -17,7 +17,12 @@
-- change rapidly without much warning.
--
+#if __GLASGOW_HASKELL__ >= 1002
+#error "GHC.IO.Device should be removed in GHC 10.02."
+#endif
+
module GHC.IO.Device (
+ {-# DEPRECATED ["GHC.IO.Device is deprecated and will be removed in GHC 10.02. Please use the ghc-internal package."] #-}
RawIO(..),
IODevice(..),
IODeviceType(..),
=====================================
libraries/base/src/GHC/IO/Encoding.hs
=====================================
@@ -7,7 +7,7 @@
-- License : see libraries/base/LICENSE
--
-- Maintainer : libraries(a)haskell.org
--- Stability : internal
+-- Stability : deprecated (<https://github.com/haskell/core-libraries-committee/issues/393>)
-- Portability : non-portable
--
-- Text codecs for I/O
@@ -18,7 +18,12 @@
-- change rapidly without much warning.
--
+#if __GLASGOW_HASKELL__ >= 1002
+#error "GHC.IO.Encoding should be removed in GHC 10.02."
+#endif
+
module GHC.IO.Encoding
+ {-# DEPRECATED ["GHC.IO.Encoding is deprecated and will be removed in GHC 10.02. Please use the ghc-internal package."] #-}
(BufferCodec(..),
TextEncoding(..),
TextEncoder,
=====================================
libraries/base/src/GHC/IO/Exception.hs
=====================================
@@ -7,7 +7,7 @@
-- License : see libraries/base/LICENSE
--
-- Maintainer : libraries(a)haskell.org
--- Stability : internal
+-- Stability : deprecated (<https://github.com/haskell/core-libraries-committee/issues/393>)
-- Portability : non-portable
--
-- IO-related Exception types and functions
@@ -18,7 +18,12 @@
-- change rapidly without much warning.
--
+#if __GLASGOW_HASKELL__ >= 1002
+#error "GHC.IO.Exception should be removed in GHC 10.02."
+#endif
+
module GHC.IO.Exception (
+ {-# DEPRECATED ["GHC.IO.Exception is deprecated and will be removed in GHC 10.02. Please use the ghc-internal package."] #-}
BlockedIndefinitelyOnMVar(..), blockedIndefinitelyOnMVar,
BlockedIndefinitelyOnSTM(..), blockedIndefinitelyOnSTM,
Deadlock(..),
=====================================
libraries/base/src/GHC/IO/Handle/Text.hs
=====================================
@@ -7,7 +7,7 @@
-- License : see libraries/base/LICENSE
--
-- Maintainer : libraries(a)haskell.org
--- Stability : internal
+-- Stability : deprecated (<https://github.com/haskell/core-libraries-committee/issues/393>)
-- Portability : non-portable
--
-- String I\/O functions
@@ -18,7 +18,12 @@
-- change rapidly without much warning.
--
+#if __GLASGOW_HASKELL__ >= 1002
+#error "GHC.IO.Handle.Text should be removed in GHC 10.02."
+#endif
+
module GHC.IO.Handle.Text (
+ {-# DEPRECATED ["GHC.IO.Handle.Text is deprecated and will be removed in GHC 10.02. Please use the ghc-internal package."] #-}
hWaitForInput, hGetChar, hGetLine, hGetContents, hPutChar, hPutStr,
commitBuffer', -- hack, see below
hGetBuf, hGetBufSome, hGetBufNonBlocking, hPutBuf, hPutBufNonBlocking,
=====================================
libraries/base/src/GHC/InfoProv.hs
=====================================
@@ -6,7 +6,7 @@
-- License : see libraries/base/LICENSE
--
-- Maintainer : ghc-devs(a)haskell.org
--- Stability : internal
+-- Stability : deprecated (<https://github.com/haskell/core-libraries-committee/issues/393>)
-- Portability : non-portable (GHC Extensions)
--
-- Access to GHC's info-table provenance metadata.
@@ -19,7 +19,12 @@
-- @since 4.18.0.0
--
+#if __GLASGOW_HASKELL__ >= 1002
+#error "GHC.InfoProv should be removed in GHC 10.02."
+#endif
+
module GHC.InfoProv
+ {-# DEPRECATED ["GHC.InfoProv is deprecated and will be removed in GHC 10.02. Please use the ghc-internal package."] #-}
( InfoProv(..)
, ipLoc
, ipeProv
=====================================
libraries/base/src/GHC/Stack/Types.hs
=====================================
@@ -8,7 +8,7 @@
-- License : see libraries/ghc-prim/LICENSE
--
-- Maintainer : ghc-devs(a)haskell.org
--- Stability : internal
+-- Stability : deprecated (<https://github.com/haskell/core-libraries-committee/issues/393>)
-- Portability : non-portable (GHC Extensions)
--
-- Type definitions for implicit call-stacks.
@@ -21,7 +21,12 @@
-- change rapidly without much warning.
--
+#if __GLASGOW_HASKELL__ >= 1002
+#error "GHC.Stack.Types should be removed in GHC 10.02."
+#endif
+
module GHC.Stack.Types
+ {-# DEPRECATED ["GHC.Stack.Types is deprecated and will be removed in GHC 10.02. Please use GHC.Stack."] #-}
(-- * Implicit call stacks
CallStack(..),
HasCallStack,
=====================================
libraries/base/src/GHC/TopHandler.hs
=====================================
@@ -8,7 +8,7 @@
-- License : see libraries/base/LICENSE
--
-- Maintainer : ghc-devs(a)haskell.org
--- Stability : internal
+-- Stability : deprecated (<https://github.com/haskell/core-libraries-committee/issues/393>)
-- Portability : non-portable (GHC Extensions)
--
-- Support for catching exceptions raised during top-level computations
@@ -20,7 +20,12 @@
-- change rapidly without much warning.
--
+#if __GLASGOW_HASKELL__ >= 1002
+#error "GHC.TopHandler should be removed in GHC 10.02."
+#endif
+
module GHC.TopHandler
+ {-# DEPRECATED ["GHC.TopHandler is deprecated and will be removed in GHC 10.02. Please use GHC.Conc where possible and the ghc-internal package otherwise."] #-}
(runMainIO,
runIO,
runIOFastExit,
View it on GitLab: https://gitlab.haskell.org/ghc/ghc/-/commit/2650c5247f251801c3bd856f4397989…
--
View it on GitLab: https://gitlab.haskell.org/ghc/ghc/-/commit/2650c5247f251801c3bd856f4397989…
You're receiving this email because of your account on gitlab.haskell.org.
1
0
[Git][ghc/ghc] Pushed new branch wip/jeltsch/stability-risk-1-and-2-module-deprecation
by Wolfgang Jeltsch (@jeltsch) 25 Jan '26
by Wolfgang Jeltsch (@jeltsch) 25 Jan '26
25 Jan '26
Wolfgang Jeltsch pushed new branch wip/jeltsch/stability-risk-1-and-2-module-deprecation at Glasgow Haskell Compiler / GHC
--
View it on GitLab: https://gitlab.haskell.org/ghc/ghc/-/tree/wip/jeltsch/stability-risk-1-and-…
You're receiving this email because of your account on gitlab.haskell.org.
1
0
[Git][ghc/ghc][wip/testing-use-deb] ci: use debian validate bindists instead of fedora release bindists in testing stage
by Cheng Shao (@TerrorJack) 25 Jan '26
by Cheng Shao (@TerrorJack) 25 Jan '26
25 Jan '26
Cheng Shao pushed to branch wip/testing-use-deb at Glasgow Haskell Compiler / GHC
Commits:
8e29e5d4 by Cheng Shao at 2026-01-25T14:53:58+01:00
ci: use debian validate bindists instead of fedora release bindists in testing stage
This patch changes the `abi-test`, `hadrian-multi` and `perf` jobs in
the full-ci pipeline testing stage to use debian validate bindists
instead of fedora release bindists, to increase pipeline level
parallelism and allow full-ci pipelines to complete earlier. Closes #26818.
- - - - -
1 changed file:
- .gitlab-ci.yml
Changes:
=====================================
.gitlab-ci.yml
=====================================
@@ -444,14 +444,14 @@ hadrian-ghc-in-ghci:
hadrian-multi:
stage: testing
needs:
- - job: x86_64-linux-fedora43-release
+ - job: x86_64-linux-deb12-validate
optional: true
- - job: nightly-x86_64-linux-fedora43-release
+ - job: nightly-x86_64-linux-deb12-validate
optional: true
- - job: release-x86_64-linux-fedora43-release
+ - job: release-x86_64-linux-deb12-release
optional: true
dependencies: null
- image: "registry.gitlab.haskell.org/ghc/ci-images/x86_64-linux-fedora43:$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 .
@@ -471,7 +471,8 @@ hadrian-multi:
- ls
- |
mkdir tmp
- tar -xf ghc-x86_64-linux-fedora43-release.tar.xz -C tmp
+ tar -xf ghc-x86_64-linux-deb12-validate.tar.xz -C tmp \
+ || tar -xf ghc-x86_64-linux-deb12-release.tar.xz -C tmp
pushd tmp/ghc-*/
./configure --prefix=$root
make install
@@ -1001,14 +1002,14 @@ perf-nofib:
perf:
stage: testing
needs:
- - job: x86_64-linux-fedora43-release
+ - job: x86_64-linux-deb12-validate
optional: true
- - job: nightly-x86_64-linux-fedora43-release
+ - job: nightly-x86_64-linux-deb12-validate
optional: true
- - job: release-x86_64-linux-fedora43-release
+ - job: release-x86_64-linux-deb12-release
optional: true
dependencies: null
- image: "registry.gitlab.haskell.org/ghc/ci-images/x86_64-linux-fedora43:$DOCKER_REV"
+ image: "registry.gitlab.haskell.org/ghc/ci-images/x86_64-linux-deb12:$DOCKER_REV"
tags:
- x86_64-linux-perf
before_script:
@@ -1018,7 +1019,8 @@ perf:
- root=$(pwd)/ghc
- |
mkdir tmp
- tar -xf ghc-x86_64-linux-fedora43-release.tar.xz -C tmp
+ tar -xf ghc-x86_64-linux-deb12-validate.tar.xz -C tmp \
+ || tar -xf ghc-x86_64-linux-deb12-release.tar.xz -C tmp
pushd tmp/ghc-*/
./configure --prefix=$root
make install
@@ -1042,21 +1044,22 @@ perf:
abi-test:
stage: testing
needs:
- - job: x86_64-linux-fedora43-release
+ - job: x86_64-linux-deb12-validate
optional: true
- - job: nightly-x86_64-linux-fedora43-release
+ - job: nightly-x86_64-linux-deb12-validate
optional: true
- - job: release-x86_64-linux-fedora43-release
+ - job: release-x86_64-linux-deb12-release
optional: true
dependencies: null
- image: "registry.gitlab.haskell.org/ghc/ci-images/x86_64-linux-fedora43:$DOCKER_REV"
+ image: "registry.gitlab.haskell.org/ghc/ci-images/x86_64-linux-deb12:$DOCKER_REV"
tags:
- x86_64-linux
script:
- root=$(pwd)/ghc
- |
mkdir tmp
- tar -xf ghc-x86_64-linux-fedora43-release.tar.xz -C tmp
+ tar -xf ghc-x86_64-linux-deb12-validate.tar.xz -C tmp \
+ || tar -xf ghc-x86_64-linux-deb12-release.tar.xz -C tmp
pushd tmp/ghc-*/
./configure --prefix=$root
make install
View it on GitLab: https://gitlab.haskell.org/ghc/ghc/-/commit/8e29e5d4684e6a3b0c8639a217d248e…
--
View it on GitLab: https://gitlab.haskell.org/ghc/ghc/-/commit/8e29e5d4684e6a3b0c8639a217d248e…
You're receiving this email because of your account on gitlab.haskell.org.
1
0
[Git][ghc/ghc][wip/testing-use-deb] 4 commits: ci: remove duplicate keys in .gitlab-ci.yml
by Cheng Shao (@TerrorJack) 25 Jan '26
by Cheng Shao (@TerrorJack) 25 Jan '26
25 Jan '26
Cheng Shao pushed to branch wip/testing-use-deb at Glasgow Haskell Compiler / GHC
Commits:
414b9593 by Cheng Shao at 2026-01-24T07:11:51-05:00
ci: remove duplicate keys in .gitlab-ci.yml
This patch removes accidentally duplicate keys in `.gitlab-ci.yml`.
The YAML spec doesn't allow duplicate keys in the first place, and
according to GitLab docs
(https://docs.gitlab.com/ci/yaml/yaml_optimization/#anchors) the
latest key overrides the earlier entries.
- - - - -
e5cb5491 by Cheng Shao at 2026-01-24T07:12:34-05:00
hadrian: drop obsolete configure/make builder logic for libffi
This patch drops obsolete hadrian logic around `Configure
libffiPath`/`Make libffiPath` builders, they are no longer needed
after libffi-clib has landed. Closes #26815.
- - - - -
2d160222 by Simon Hengel at 2026-01-24T07:13:17-05:00
Fix typo in roles.rst
- - - - -
d69fdfff by Cheng Shao at 2026-01-25T14:32:54+01:00
ci: use debian validate bindists instead of fedora release bindists in testing stage
This patch changes the `abi-test`, `hadrian-multi` and `perf` jobs in
the full-ci pipeline testing stage to use debian validate bindists
instead of fedora release bindists, to increase pipeline level
parallelism and allow full-ci pipelines to complete earlier. Closes #26818.
- - - - -
5 changed files:
- .gitlab-ci.yml
- docs/users_guide/exts/roles.rst
- hadrian/src/Context.hs
- hadrian/src/Settings/Builders/Configure.hs
- hadrian/src/Settings/Builders/Make.hs
Changes:
=====================================
.gitlab-ci.yml
=====================================
@@ -444,14 +444,14 @@ hadrian-ghc-in-ghci:
hadrian-multi:
stage: testing
needs:
- - job: x86_64-linux-fedora43-release
+ - job: x86_64-linux-deb12-numa-slow-validate
optional: true
- - job: nightly-x86_64-linux-fedora43-release
+ - job: nightly-x86_64-linux-deb12-validate
optional: true
- - job: release-x86_64-linux-fedora43-release
+ - job: release-x86_64-linux-deb12-release
optional: true
dependencies: null
- image: "registry.gitlab.haskell.org/ghc/ci-images/x86_64-linux-fedora43:$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 .
@@ -471,7 +471,9 @@ hadrian-multi:
- ls
- |
mkdir tmp
- tar -xf ghc-x86_64-linux-fedora43-release.tar.xz -C tmp
+ tar -xf ghc-x86_64-linux-deb12-numa-slow-validate.tar.xz -C tmp \
+ || tar -xf ghc-x86_64-linux-deb12-validate.tar.xz -C tmp \
+ || tar -xf ghc-x86_64-linux-deb12-release.tar.xz -C tmp
pushd tmp/ghc-*/
./configure --prefix=$root
make install
@@ -1001,14 +1003,14 @@ perf-nofib:
perf:
stage: testing
needs:
- - job: x86_64-linux-fedora43-release
+ - job: x86_64-linux-deb12-numa-slow-validate
optional: true
- - job: nightly-x86_64-linux-fedora43-release
+ - job: nightly-x86_64-linux-deb12-validate
optional: true
- - job: release-x86_64-linux-fedora43-release
+ - job: release-x86_64-linux-deb12-release
optional: true
dependencies: null
- image: "registry.gitlab.haskell.org/ghc/ci-images/x86_64-linux-fedora43:$DOCKER_REV"
+ image: "registry.gitlab.haskell.org/ghc/ci-images/x86_64-linux-deb12:$DOCKER_REV"
tags:
- x86_64-linux-perf
before_script:
@@ -1018,7 +1020,9 @@ perf:
- root=$(pwd)/ghc
- |
mkdir tmp
- tar -xf ghc-x86_64-linux-fedora43-release.tar.xz -C tmp
+ tar -xf ghc-x86_64-linux-deb12-numa-slow-validate.tar.xz -C tmp \
+ || tar -xf ghc-x86_64-linux-deb12-validate.tar.xz -C tmp \
+ || tar -xf ghc-x86_64-linux-deb12-release.tar.xz -C tmp
pushd tmp/ghc-*/
./configure --prefix=$root
make install
@@ -1042,25 +1046,23 @@ perf:
abi-test:
stage: testing
needs:
- - job: x86_64-linux-fedora43-release
+ - job: x86_64-linux-deb12-numa-slow-validate
optional: true
- - job: nightly-x86_64-linux-fedora43-release
+ - job: nightly-x86_64-linux-deb12-validate
optional: true
- - job: release-x86_64-linux-fedora43-release
+ - job: release-x86_64-linux-deb12-release
optional: true
dependencies: null
- image: "registry.gitlab.haskell.org/ghc/ci-images/x86_64-linux-fedora43:$DOCKER_REV"
- rules:
- - if: $CI_MERGE_REQUEST_ID
- - if: '$CI_COMMIT_BRANCH == "master"'
- - if: '$CI_COMMIT_BRANCH =~ /ghc-[0.9]+\.[0-9]+/'
+ image: "registry.gitlab.haskell.org/ghc/ci-images/x86_64-linux-deb12:$DOCKER_REV"
tags:
- x86_64-linux
script:
- root=$(pwd)/ghc
- |
mkdir tmp
- tar -xf ghc-x86_64-linux-fedora43-release.tar.xz -C tmp
+ tar -xf ghc-x86_64-linux-deb12-numa-slow-validate.tar.xz -C tmp \
+ || tar -xf ghc-x86_64-linux-deb12-validate.tar.xz -C tmp \
+ || tar -xf ghc-x86_64-linux-deb12-release.tar.xz -C tmp
pushd tmp/ghc-*/
./configure --prefix=$root
make install
=====================================
docs/users_guide/exts/roles.rst
=====================================
@@ -38,7 +38,7 @@ trouble.
The way to identify such situations is to have *roles* assigned to type
variables of datatypes, classes, and type synonyms.
-Roles as implemented in GHC are a from a simplified version of the work
+Roles as implemented in GHC are based on a simplified version of the work
described in `Generative type abstraction and type-level
computation <https://www.seas.upenn.edu/~sweirich/papers/popl163af-weirich.pdf>`__,
published at POPL 2011.
=====================================
hadrian/src/Context.hs
=====================================
@@ -11,7 +11,7 @@ module Context (
pkgLibraryFile,
pkgConfFile, pkgStampFile, resourcePath, objectPath, contextPath, getContextPath, libPath, distDir,
distDynDir,
- haddockStatsFilesDir, ensureConfigured, autogenPath, rtsContext, rtsBuildPath, libffiBuildPath
+ haddockStatsFilesDir, ensureConfigured, autogenPath, rtsContext, rtsBuildPath
) where
import Base
@@ -93,14 +93,6 @@ rtsContext stage = vanillaContext stage rts
rtsBuildPath :: Stage -> Action FilePath
rtsBuildPath stage = buildPath (rtsContext stage)
--- | Build directory for in-tree 'libffi' library.
-libffiBuildPath :: Stage -> Action FilePath
-libffiBuildPath stage = buildPath $ Context
- stage
- libffi
- (error "libffiBuildPath: way not set.")
- (error "libffiBuildPath: inplace not set.")
-
pkgFileName :: Context -> Package -> String -> String -> Action FilePath
pkgFileName context package prefix suffix = do
pid <- pkgUnitId (stage context) package
=====================================
hadrian/src/Settings/Builders/Configure.hs
=====================================
@@ -8,8 +8,7 @@ configureBuilderArgs :: Args
configureBuilderArgs = do
stage <- getStage
gmpPath <- expr (gmpBuildPath stage)
- libffiPath <- expr (libffiBuildPath stage)
- mconcat [ builder (Configure gmpPath) ? do
+ builder (Configure gmpPath) ? do
targetArch <- queryTarget queryArch
targetPlatform <- queryTarget targetPlatformTriple
buildPlatform <- queryBuild targetPlatformTriple
@@ -28,16 +27,3 @@ configureBuilderArgs = do
-- option.
<> [ "--enable-alloca=malloc-notreentrant" | targetArch == "wasm32" ]
<> [ "--with-pic=yes" ]
-
- , builder (Configure libffiPath) ? do
- top <- expr topDirectory
- targetPlatform <- queryTarget targetPlatformTriple
- way <- getWay
- pure [ "--prefix=" ++ top -/- libffiPath -/- "inst"
- , "--libdir=" ++ top -/- libffiPath -/- "inst/lib"
- , "--enable-static=yes"
- , "--enable-shared="
- ++ (if wayUnit Dynamic way
- then "yes"
- else "no")
- , "--host=" ++ targetPlatform ] ]
=====================================
hadrian/src/Settings/Builders/Make.hs
=====================================
@@ -12,12 +12,8 @@ makeBuilderArgs = do
threads <- shakeThreads <$> expr getShakeOptions
stage <- getStage
gmpPath <- expr (gmpBuildPath stage)
- libffiPaths <- forM [Stage1, Stage2, Stage3 ] $ \s -> expr (libffiBuildPath s)
let t = show $ max 4 (threads - 2) -- Don't use all Shake's threads
- mconcat $
- (builder (Make gmpPath ) ? pure ["MAKEFLAGS=-j" ++ t]) :
- [ builder (Make libffiPath) ? pure ["MAKEFLAGS=-j" ++ t, "install"]
- | libffiPath <- libffiPaths ]
+ builder (Make gmpPath) ? pure ["MAKEFLAGS=-j" ++ t]
validateBuilderArgs :: Args
validateBuilderArgs = builder (Make "testsuite/tests") ? do
View it on GitLab: https://gitlab.haskell.org/ghc/ghc/-/compare/8a1c1af973aa74d18b9e9d58ab1904…
--
View it on GitLab: https://gitlab.haskell.org/ghc/ghc/-/compare/8a1c1af973aa74d18b9e9d58ab1904…
You're receiving this email because of your account on gitlab.haskell.org.
1
0
[Git][ghc/ghc][wip/supersven/hadrian-cross-stage3] Generated cross stage 3 CI jobs
by Sven Tennie (@supersven) 25 Jan '26
by Sven Tennie (@supersven) 25 Jan '26
25 Jan '26
Sven Tennie pushed to branch wip/supersven/hadrian-cross-stage3 at Glasgow Haskell Compiler / GHC
Commits:
251862dc by Sven Tennie at 2026-01-25T10:48:55+01:00
Generated cross stage 3 CI jobs
- - - - -
2 changed files:
- .gitlab/generate-ci/gen_ci.hs
- .gitlab/jobs.yaml
Changes:
=====================================
.gitlab/generate-ci/gen_ci.hs
=====================================
@@ -283,6 +283,18 @@ crossConfig triple emulator configure_wrapper =
, configureWrapper = configure_wrapper
}
+-- | cross-compiled compilers (build /= host/target)
+stage3CrossConfig :: String -- ^ target triple
+ -> CrossEmulator -- ^ emulator for testing
+ -> Maybe String -- ^ Configure wrapper
+ -> BuildConfig
+stage3CrossConfig triple emulator configure_wrapper =
+ vanilla { crossTarget = Just triple
+ , crossStage = Just 3
+ , crossEmulator = emulator
+ , configureWrapper = configure_wrapper
+ }
+
llvm :: BuildConfig
llvm = vanilla { llvmBootstrap = True }
@@ -370,6 +382,8 @@ testEnv arch opsys bc =
, ["zstd" | withZstd bc ]
, ["no_tntc" | not (tablesNextToCode bc) ]
, ["cross_"++triple | Just triple <- pure $ crossTarget bc ]
+ -- TODO: Is there something better than `show` for this?
+ , ["stage_" ++ show stage | Just stage <- pure (crossStage bc), Just triple <- pure (crossTarget bc), "riscv" `isInfixOf` triple ]
, [flavourString (mkJobFlavour bc)]
]
@@ -1290,9 +1304,12 @@ cross_jobs = [
-- x86 -> aarch64
validateBuilds Amd64 (Linux Debian11) (crossConfig "aarch64-linux-gnu" (Emulator "qemu-aarch64 -L /usr/aarch64-linux-gnu") Nothing)
- -- x86_64 -> riscv
+ -- x86_64 (build/host) -> riscv (target)
, addValidateRule RiscV (validateBuilds Amd64 (Linux Debian12Riscv) (crossConfig "riscv64-linux-gnu" (Emulator "qemu-riscv64 -L /usr/riscv64-linux-gnu") Nothing))
+ -- x86_64 (build) -> riscv (host/target)
+ , addValidateRule RiscV (validateBuilds Amd64 (Linux Debian12Riscv) (stage3CrossConfig "riscv64-linux-gnu" (Emulator "qemu-riscv64 -L /usr/riscv64-linux-gnu") Nothing))
+
-- x86_64 -> loongarch64
, addValidateRule LoongArch64 (validateBuilds Amd64 (Linux Ubuntu2404LoongArch64) (crossConfig "loongarch64-linux-gnu" (Emulator "qemu-loongarch64 -L /usr/loongarch64-linux-gnu") Nothing))
=====================================
.gitlab/jobs.yaml
=====================================
@@ -2442,7 +2442,7 @@
"XZ_OPT": "-9"
}
},
- "nightly-x86_64-linux-deb12-riscv-cross_riscv64-linux-gnu-validate": {
+ "nightly-x86_64-linux-deb12-riscv-cross_riscv64-linux-gnu-stage_2-validate": {
"after_script": [
".gitlab/ci.sh save_cache",
".gitlab/ci.sh save_test_output",
@@ -2453,7 +2453,7 @@
"artifacts": {
"expire_in": "8 weeks",
"paths": [
- "ghc-x86_64-linux-deb12-riscv-cross_riscv64-linux-gnu-validate.tar.xz",
+ "ghc-x86_64-linux-deb12-riscv-cross_riscv64-linux-gnu-stage_2-validate.tar.xz",
"junit.xml",
"unexpected-test-output.tar.gz"
],
@@ -2496,7 +2496,7 @@
],
"variables": {
"BIGNUM_BACKEND": "gmp",
- "BIN_DIST_NAME": "ghc-x86_64-linux-deb12-riscv-cross_riscv64-linux-gnu-validate",
+ "BIN_DIST_NAME": "ghc-x86_64-linux-deb12-riscv-cross_riscv64-linux-gnu-stage_2-validate",
"BUILD_FLAVOUR": "validate",
"CONFIGURE_ARGS": "--with-intree-gmp --enable-strict-ghc-toolchain-check",
"CROSS_EMULATOR": "qemu-riscv64 -L /usr/riscv64-linux-gnu",
@@ -2504,7 +2504,73 @@
"CROSS_TARGET": "riscv64-linux-gnu",
"INSTALL_CONFIGURE_ARGS": "--enable-strict-ghc-toolchain-check",
"RUNTEST_ARGS": "-e config.timeout=900",
- "TEST_ENV": "x86_64-linux-deb12-riscv-cross_riscv64-linux-gnu-validate",
+ "TEST_ENV": "x86_64-linux-deb12-riscv-cross_riscv64-linux-gnu-stage_2-validate",
+ "XZ_OPT": "-9"
+ }
+ },
+ "nightly-x86_64-linux-deb12-riscv-cross_riscv64-linux-gnu-stage_3-validate": {
+ "after_script": [
+ ".gitlab/ci.sh save_cache",
+ ".gitlab/ci.sh save_test_output",
+ ".gitlab/ci.sh clean",
+ "cat ci_timings.txt"
+ ],
+ "allow_failure": false,
+ "artifacts": {
+ "expire_in": "8 weeks",
+ "paths": [
+ "ghc-x86_64-linux-deb12-riscv-cross_riscv64-linux-gnu-stage_3-validate.tar.xz",
+ "junit.xml",
+ "unexpected-test-output.tar.gz"
+ ],
+ "reports": {
+ "junit": "junit.xml"
+ },
+ "when": "always"
+ },
+ "cache": {
+ "key": "x86_64-linux-deb12-riscv-$CACHE_REV",
+ "paths": [
+ "cabal-cache",
+ "toolchain"
+ ]
+ },
+ "dependencies": [],
+ "image": "registry.gitlab.haskell.org/ghc/ci-images/x86_64-linux-deb12-riscv:$DOCKER_…",
+ "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-x86_64-linux-deb12-riscv-cross_riscv64-linux-gnu-stage_3-validate",
+ "BUILD_FLAVOUR": "validate",
+ "CONFIGURE_ARGS": "--with-intree-gmp --enable-strict-ghc-toolchain-check",
+ "CROSS_EMULATOR": "qemu-riscv64 -L /usr/riscv64-linux-gnu",
+ "CROSS_STAGE": "3",
+ "CROSS_TARGET": "riscv64-linux-gnu",
+ "INSTALL_CONFIGURE_ARGS": "--enable-strict-ghc-toolchain-check",
+ "RUNTEST_ARGS": "-e config.timeout=900",
+ "TEST_ENV": "x86_64-linux-deb12-riscv-cross_riscv64-linux-gnu-stage_3-validate",
"XZ_OPT": "-9"
}
},
@@ -6610,7 +6676,7 @@
"TEST_ENV": "x86_64-linux-deb12-release"
}
},
- "x86_64-linux-deb12-riscv-cross_riscv64-linux-gnu-validate": {
+ "x86_64-linux-deb12-riscv-cross_riscv64-linux-gnu-stage_2-validate": {
"after_script": [
".gitlab/ci.sh save_cache",
".gitlab/ci.sh save_test_output",
@@ -6621,7 +6687,7 @@
"artifacts": {
"expire_in": "2 weeks",
"paths": [
- "ghc-x86_64-linux-deb12-riscv-cross_riscv64-linux-gnu-validate.tar.xz",
+ "ghc-x86_64-linux-deb12-riscv-cross_riscv64-linux-gnu-stage_2-validate.tar.xz",
"junit.xml",
"unexpected-test-output.tar.gz"
],
@@ -6647,7 +6713,7 @@
],
"rules": [
{
- "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\bx86_64-linux-deb12-riscv-cross_riscv64-linux-gnu-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]+/)) || ($CI_MERGE_REQUEST_LABELS =~ /.*RISC-V.*/)))) && ($RELEASE_JOB != \"yes\") && ($NIGHTLY == null)",
+ "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\bx86_64-linux-deb12-riscv-cross_riscv64-linux-gnu-stage_2-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]+/)) || ($CI_MERGE_REQUEST_LABELS =~ /.*RISC-V.*/)))) && ($RELEASE_JOB != \"yes\") && ($NIGHTLY == null)",
"when": "on_success"
}
],
@@ -6664,7 +6730,7 @@
],
"variables": {
"BIGNUM_BACKEND": "gmp",
- "BIN_DIST_NAME": "ghc-x86_64-linux-deb12-riscv-cross_riscv64-linux-gnu-validate",
+ "BIN_DIST_NAME": "ghc-x86_64-linux-deb12-riscv-cross_riscv64-linux-gnu-stage_2-validate",
"BUILD_FLAVOUR": "validate",
"CONFIGURE_ARGS": "--with-intree-gmp --enable-strict-ghc-toolchain-check",
"CROSS_EMULATOR": "qemu-riscv64 -L /usr/riscv64-linux-gnu",
@@ -6672,7 +6738,72 @@
"CROSS_TARGET": "riscv64-linux-gnu",
"INSTALL_CONFIGURE_ARGS": "--enable-strict-ghc-toolchain-check",
"RUNTEST_ARGS": "-e config.timeout=900",
- "TEST_ENV": "x86_64-linux-deb12-riscv-cross_riscv64-linux-gnu-validate"
+ "TEST_ENV": "x86_64-linux-deb12-riscv-cross_riscv64-linux-gnu-stage_2-validate"
+ }
+ },
+ "x86_64-linux-deb12-riscv-cross_riscv64-linux-gnu-stage_3-validate": {
+ "after_script": [
+ ".gitlab/ci.sh save_cache",
+ ".gitlab/ci.sh save_test_output",
+ ".gitlab/ci.sh clean",
+ "cat ci_timings.txt"
+ ],
+ "allow_failure": false,
+ "artifacts": {
+ "expire_in": "2 weeks",
+ "paths": [
+ "ghc-x86_64-linux-deb12-riscv-cross_riscv64-linux-gnu-stage_3-validate.tar.xz",
+ "junit.xml",
+ "unexpected-test-output.tar.gz"
+ ],
+ "reports": {
+ "junit": "junit.xml"
+ },
+ "when": "always"
+ },
+ "cache": {
+ "key": "x86_64-linux-deb12-riscv-$CACHE_REV",
+ "paths": [
+ "cabal-cache",
+ "toolchain"
+ ]
+ },
+ "dependencies": [],
+ "image": "registry.gitlab.haskell.org/ghc/ci-images/x86_64-linux-deb12-riscv:$DOCKER_…",
+ "needs": [
+ {
+ "artifacts": false,
+ "job": "hadrian-ghc-in-ghci"
+ }
+ ],
+ "rules": [
+ {
+ "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\bx86_64-linux-deb12-riscv-cross_riscv64-linux-gnu-stage_3-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]+/)) || ($CI_MERGE_REQUEST_LABELS =~ /.*RISC-V.*/)))) && ($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-x86_64-linux-deb12-riscv-cross_riscv64-linux-gnu-stage_3-validate",
+ "BUILD_FLAVOUR": "validate",
+ "CONFIGURE_ARGS": "--with-intree-gmp --enable-strict-ghc-toolchain-check",
+ "CROSS_EMULATOR": "qemu-riscv64 -L /usr/riscv64-linux-gnu",
+ "CROSS_STAGE": "3",
+ "CROSS_TARGET": "riscv64-linux-gnu",
+ "INSTALL_CONFIGURE_ARGS": "--enable-strict-ghc-toolchain-check",
+ "RUNTEST_ARGS": "-e config.timeout=900",
+ "TEST_ENV": "x86_64-linux-deb12-riscv-cross_riscv64-linux-gnu-stage_3-validate"
}
},
"x86_64-linux-deb12-unreg-validate": {
View it on GitLab: https://gitlab.haskell.org/ghc/ghc/-/commit/251862dcf6e7ad8ace5a7626bd0d3cd…
--
View it on GitLab: https://gitlab.haskell.org/ghc/ghc/-/commit/251862dcf6e7ad8ace5a7626bd0d3cd…
You're receiving this email because of your account on gitlab.haskell.org.
1
0
[Git][ghc/ghc][wip/supersven/hadrian-cross-stage3] Generated cross stage 3 CI jobs
by Sven Tennie (@supersven) 24 Jan '26
by Sven Tennie (@supersven) 24 Jan '26
24 Jan '26
Sven Tennie pushed to branch wip/supersven/hadrian-cross-stage3 at Glasgow Haskell Compiler / GHC
Commits:
421e6526 by Sven Tennie at 2026-01-24T20:03:21+01:00
Generated cross stage 3 CI jobs
- - - - -
2 changed files:
- .gitlab/generate-ci/gen_ci.hs
- .gitlab/jobs.yaml
Changes:
=====================================
.gitlab/generate-ci/gen_ci.hs
=====================================
@@ -283,6 +283,18 @@ crossConfig triple emulator configure_wrapper =
, configureWrapper = configure_wrapper
}
+-- | cross-compiled compilers (build /= host/target)
+stage3CrossConfig :: String -- ^ target triple
+ -> CrossEmulator -- ^ emulator for testing
+ -> Maybe String -- ^ Configure wrapper
+ -> BuildConfig
+stage3CrossConfig triple emulator configure_wrapper =
+ vanilla { crossTarget = Just triple
+ , crossStage = Just 3
+ , crossEmulator = emulator
+ , configureWrapper = configure_wrapper
+ }
+
llvm :: BuildConfig
llvm = vanilla { llvmBootstrap = True }
@@ -370,6 +382,8 @@ testEnv arch opsys bc =
, ["zstd" | withZstd bc ]
, ["no_tntc" | not (tablesNextToCode bc) ]
, ["cross_"++triple | Just triple <- pure $ crossTarget bc ]
+ -- TODO: Is there something better than `show` for this?
+ , ["stage_" ++ show stage | Just stage <- pure $ crossStage bc ]
, [flavourString (mkJobFlavour bc)]
]
@@ -1290,9 +1304,12 @@ cross_jobs = [
-- x86 -> aarch64
validateBuilds Amd64 (Linux Debian11) (crossConfig "aarch64-linux-gnu" (Emulator "qemu-aarch64 -L /usr/aarch64-linux-gnu") Nothing)
- -- x86_64 -> riscv
+ -- x86_64 (build/host) -> riscv (target)
, addValidateRule RiscV (validateBuilds Amd64 (Linux Debian12Riscv) (crossConfig "riscv64-linux-gnu" (Emulator "qemu-riscv64 -L /usr/riscv64-linux-gnu") Nothing))
+ -- x86_64 (build) -> riscv (host/target)
+ , addValidateRule RiscV (validateBuilds Amd64 (Linux Debian12Riscv) (stage3CrossConfig "riscv64-linux-gnu" (Emulator "qemu-riscv64 -L /usr/riscv64-linux-gnu") Nothing))
+
-- x86_64 -> loongarch64
, addValidateRule LoongArch64 (validateBuilds Amd64 (Linux Ubuntu2404LoongArch64) (crossConfig "loongarch64-linux-gnu" (Emulator "qemu-loongarch64 -L /usr/loongarch64-linux-gnu") Nothing))
=====================================
.gitlab/jobs.yaml
=====================================
@@ -315,7 +315,7 @@
"TEST_ENV": "aarch64-linux-deb12-validate+llvm"
}
},
- "aarch64-linux-deb12-wine-int_native-cross_aarch64-unknown-mingw32-validate": {
+ "aarch64-linux-deb12-wine-int_native-cross_aarch64-unknown-mingw32-stage_2-validate": {
"after_script": [
".gitlab/ci.sh save_cache",
".gitlab/ci.sh save_test_output",
@@ -326,7 +326,7 @@
"artifacts": {
"expire_in": "2 weeks",
"paths": [
- "ghc-aarch64-linux-deb12-wine-int_native-cross_aarch64-unknown-mingw32-validate.tar.xz",
+ "ghc-aarch64-linux-deb12-wine-int_native-cross_aarch64-unknown-mingw32-stage_2-validate.tar.xz",
"junit.xml",
"unexpected-test-output.tar.gz"
],
@@ -352,7 +352,7 @@
],
"rules": [
{
- "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\baarch64-linux-deb12-wine-int_native-cross_aarch64-unknown-mingw32-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]+/)) || (($CI_MERGE_REQUEST_LABELS =~ /.*aarch64.*/) && ($CI_MERGE_REQUEST_LABELS =~ /.*Windows.*/))))) && ($RELEASE_JOB != \"yes\") && ($NIGHTLY == null)",
+ "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\baarch64-linux-deb12-wine-int_native-cross_aarch64-unknown-mingw32-stage_2-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]+/)) || (($CI_MERGE_REQUEST_LABELS =~ /.*aarch64.*/) && ($CI_MERGE_REQUEST_LABELS =~ /.*Windows.*/))))) && ($RELEASE_JOB != \"yes\") && ($NIGHTLY == null)",
"when": "on_success"
}
],
@@ -370,7 +370,7 @@
"variables": {
"AR": "/opt/llvm-mingw-linux/bin/aarch64-w64-mingw32-llvm-ar",
"BIGNUM_BACKEND": "native",
- "BIN_DIST_NAME": "ghc-aarch64-linux-deb12-wine-int_native-cross_aarch64-unknown-mingw32-validate",
+ "BIN_DIST_NAME": "ghc-aarch64-linux-deb12-wine-int_native-cross_aarch64-unknown-mingw32-stage_2-validate",
"BUILD_FLAVOUR": "validate",
"CC": "/opt/llvm-mingw-linux/bin/aarch64-w64-mingw32-clang",
"CFLAGS": "-fuse-ld=/opt/llvm-mingw-linux/bin/aarch64-w64-mingw32-ld --rtlib=compiler-rt",
@@ -393,11 +393,11 @@
"SIZE": "/opt/llvm-mingw-linux/bin/aarch64-w64-mingw32-size",
"STRINGS": "/opt/llvm-mingw-linux/bin/aarch64-w64-mingw32-strings",
"STRIP": "/opt/llvm-mingw-linux/bin/aarch64-w64-mingw32-strip",
- "TEST_ENV": "aarch64-linux-deb12-wine-int_native-cross_aarch64-unknown-mingw32-validate",
+ "TEST_ENV": "aarch64-linux-deb12-wine-int_native-cross_aarch64-unknown-mingw32-stage_2-validate",
"WindresCmd": "/opt/llvm-mingw-linux/bin/aarch64-w64-mingw32-windres"
}
},
- "aarch64-linux-deb12-wine-int_native-cross_aarch64-unknown-mingw32-validate+llvm": {
+ "aarch64-linux-deb12-wine-int_native-cross_aarch64-unknown-mingw32-stage_2-validate+llvm": {
"after_script": [
".gitlab/ci.sh save_cache",
".gitlab/ci.sh save_test_output",
@@ -408,7 +408,7 @@
"artifacts": {
"expire_in": "2 weeks",
"paths": [
- "ghc-aarch64-linux-deb12-wine-int_native-cross_aarch64-unknown-mingw32-validate+llvm.tar.xz",
+ "ghc-aarch64-linux-deb12-wine-int_native-cross_aarch64-unknown-mingw32-stage_2-validate+llvm.tar.xz",
"junit.xml",
"unexpected-test-output.tar.gz"
],
@@ -434,7 +434,7 @@
],
"rules": [
{
- "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\baarch64-linux-deb12-wine-int_native-cross_aarch64-unknown-mingw32-validate\\+llvm(\\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 =~ /.*aarch64.*/) && ($CI_MERGE_REQUEST_LABELS =~ /.*Windows.*/) && ($CI_MERGE_REQUEST_LABELS =~ /.*LLVM backend.*/))))) && ($RELEASE_JOB != \"yes\") && ($NIGHTLY == null)",
+ "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\baarch64-linux-deb12-wine-int_native-cross_aarch64-unknown-mingw32-stage_2-validate\\+llvm(\\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 =~ /.*aarch64.*/) && ($CI_MERGE_REQUEST_LABELS =~ /.*Windows.*/) && ($CI_MERGE_REQUEST_LABELS =~ /.*LLVM backend.*/))))) && ($RELEASE_JOB != \"yes\") && ($NIGHTLY == null)",
"when": "on_success"
}
],
@@ -452,7 +452,7 @@
"variables": {
"AR": "/opt/llvm-mingw-linux/bin/aarch64-w64-mingw32-llvm-ar",
"BIGNUM_BACKEND": "native",
- "BIN_DIST_NAME": "ghc-aarch64-linux-deb12-wine-int_native-cross_aarch64-unknown-mingw32-validate+llvm",
+ "BIN_DIST_NAME": "ghc-aarch64-linux-deb12-wine-int_native-cross_aarch64-unknown-mingw32-stage_2-validate+llvm",
"BUILD_FLAVOUR": "validate+llvm",
"CC": "/opt/llvm-mingw-linux/bin/aarch64-w64-mingw32-clang",
"CFLAGS": "-fuse-ld=/opt/llvm-mingw-linux/bin/aarch64-w64-mingw32-ld --rtlib=compiler-rt",
@@ -475,7 +475,7 @@
"SIZE": "/opt/llvm-mingw-linux/bin/aarch64-w64-mingw32-size",
"STRINGS": "/opt/llvm-mingw-linux/bin/aarch64-w64-mingw32-strings",
"STRIP": "/opt/llvm-mingw-linux/bin/aarch64-w64-mingw32-strip",
- "TEST_ENV": "aarch64-linux-deb12-wine-int_native-cross_aarch64-unknown-mingw32-validate+llvm",
+ "TEST_ENV": "aarch64-linux-deb12-wine-int_native-cross_aarch64-unknown-mingw32-stage_2-validate+llvm",
"WindresCmd": "/opt/llvm-mingw-linux/bin/aarch64-w64-mingw32-windres"
}
},
@@ -986,7 +986,7 @@
"XZ_OPT": "-9"
}
},
- "nightly-aarch64-linux-deb12-wine-int_native-cross_aarch64-unknown-mingw32-validate": {
+ "nightly-aarch64-linux-deb12-wine-int_native-cross_aarch64-unknown-mingw32-stage_2-validate": {
"after_script": [
".gitlab/ci.sh save_cache",
".gitlab/ci.sh save_test_output",
@@ -997,7 +997,7 @@
"artifacts": {
"expire_in": "8 weeks",
"paths": [
- "ghc-aarch64-linux-deb12-wine-int_native-cross_aarch64-unknown-mingw32-validate.tar.xz",
+ "ghc-aarch64-linux-deb12-wine-int_native-cross_aarch64-unknown-mingw32-stage_2-validate.tar.xz",
"junit.xml",
"unexpected-test-output.tar.gz"
],
@@ -1041,7 +1041,7 @@
"variables": {
"AR": "/opt/llvm-mingw-linux/bin/aarch64-w64-mingw32-llvm-ar",
"BIGNUM_BACKEND": "native",
- "BIN_DIST_NAME": "ghc-aarch64-linux-deb12-wine-int_native-cross_aarch64-unknown-mingw32-validate",
+ "BIN_DIST_NAME": "ghc-aarch64-linux-deb12-wine-int_native-cross_aarch64-unknown-mingw32-stage_2-validate",
"BUILD_FLAVOUR": "validate",
"CC": "/opt/llvm-mingw-linux/bin/aarch64-w64-mingw32-clang",
"CFLAGS": "-fuse-ld=/opt/llvm-mingw-linux/bin/aarch64-w64-mingw32-ld --rtlib=compiler-rt",
@@ -1064,12 +1064,12 @@
"SIZE": "/opt/llvm-mingw-linux/bin/aarch64-w64-mingw32-size",
"STRINGS": "/opt/llvm-mingw-linux/bin/aarch64-w64-mingw32-strings",
"STRIP": "/opt/llvm-mingw-linux/bin/aarch64-w64-mingw32-strip",
- "TEST_ENV": "aarch64-linux-deb12-wine-int_native-cross_aarch64-unknown-mingw32-validate",
+ "TEST_ENV": "aarch64-linux-deb12-wine-int_native-cross_aarch64-unknown-mingw32-stage_2-validate",
"WindresCmd": "/opt/llvm-mingw-linux/bin/aarch64-w64-mingw32-windres",
"XZ_OPT": "-9"
}
},
- "nightly-aarch64-linux-deb12-wine-int_native-cross_aarch64-unknown-mingw32-validate+llvm": {
+ "nightly-aarch64-linux-deb12-wine-int_native-cross_aarch64-unknown-mingw32-stage_2-validate+llvm": {
"after_script": [
".gitlab/ci.sh save_cache",
".gitlab/ci.sh save_test_output",
@@ -1080,7 +1080,7 @@
"artifacts": {
"expire_in": "8 weeks",
"paths": [
- "ghc-aarch64-linux-deb12-wine-int_native-cross_aarch64-unknown-mingw32-validate+llvm.tar.xz",
+ "ghc-aarch64-linux-deb12-wine-int_native-cross_aarch64-unknown-mingw32-stage_2-validate+llvm.tar.xz",
"junit.xml",
"unexpected-test-output.tar.gz"
],
@@ -1124,7 +1124,7 @@
"variables": {
"AR": "/opt/llvm-mingw-linux/bin/aarch64-w64-mingw32-llvm-ar",
"BIGNUM_BACKEND": "native",
- "BIN_DIST_NAME": "ghc-aarch64-linux-deb12-wine-int_native-cross_aarch64-unknown-mingw32-validate+llvm",
+ "BIN_DIST_NAME": "ghc-aarch64-linux-deb12-wine-int_native-cross_aarch64-unknown-mingw32-stage_2-validate+llvm",
"BUILD_FLAVOUR": "validate+llvm",
"CC": "/opt/llvm-mingw-linux/bin/aarch64-w64-mingw32-clang",
"CFLAGS": "-fuse-ld=/opt/llvm-mingw-linux/bin/aarch64-w64-mingw32-ld --rtlib=compiler-rt",
@@ -1147,7 +1147,7 @@
"SIZE": "/opt/llvm-mingw-linux/bin/aarch64-w64-mingw32-size",
"STRINGS": "/opt/llvm-mingw-linux/bin/aarch64-w64-mingw32-strings",
"STRIP": "/opt/llvm-mingw-linux/bin/aarch64-w64-mingw32-strip",
- "TEST_ENV": "aarch64-linux-deb12-wine-int_native-cross_aarch64-unknown-mingw32-validate+llvm",
+ "TEST_ENV": "aarch64-linux-deb12-wine-int_native-cross_aarch64-unknown-mingw32-stage_2-validate+llvm",
"WindresCmd": "/opt/llvm-mingw-linux/bin/aarch64-w64-mingw32-windres",
"XZ_OPT": "-9"
}
@@ -1670,7 +1670,7 @@
"XZ_OPT": "-9"
}
},
- "nightly-x86_64-linux-alpine3_23-wasm-cross_wasm32-wasi-release+host_fully_static+text_simdutf": {
+ "nightly-x86_64-linux-alpine3_23-wasm-cross_wasm32-wasi-stage_2-release+host_fully_static+text_simdutf": {
"after_script": [
".gitlab/ci.sh save_cache",
".gitlab/ci.sh save_test_output",
@@ -1681,7 +1681,7 @@
"artifacts": {
"expire_in": "8 weeks",
"paths": [
- "ghc-x86_64-linux-alpine3_23-wasm-cross_wasm32-wasi-release+host_fully_static+text_simdutf.tar.xz",
+ "ghc-x86_64-linux-alpine3_23-wasm-cross_wasm32-wasi-stage_2-release+host_fully_static+text_simdutf.tar.xz",
"junit.xml",
"unexpected-test-output.tar.gz"
],
@@ -1724,7 +1724,7 @@
],
"variables": {
"BIGNUM_BACKEND": "gmp",
- "BIN_DIST_NAME": "ghc-x86_64-linux-alpine3_23-wasm-cross_wasm32-wasi-release+host_fully_static+text_simdutf",
+ "BIN_DIST_NAME": "ghc-x86_64-linux-alpine3_23-wasm-cross_wasm32-wasi-stage_2-release+host_fully_static+text_simdutf",
"BUILD_FLAVOUR": "release+host_fully_static+text_simdutf",
"CONFIGURE_ARGS": "--with-intree-gmp --with-system-libffi --enable-strict-ghc-toolchain-check",
"CROSS_STAGE": "2",
@@ -1732,11 +1732,11 @@
"FIREFOX_LAUNCH_OPTS": "{\"browser\":\"firefox\",\"executablePath\":\"/usr/bin/firefox\"}",
"HADRIAN_ARGS": "--docs=no-sphinx-pdfs --docs=no-sphinx-man",
"RUNTEST_ARGS": "",
- "TEST_ENV": "x86_64-linux-alpine3_23-wasm-cross_wasm32-wasi-release+host_fully_static+text_simdutf",
+ "TEST_ENV": "x86_64-linux-alpine3_23-wasm-cross_wasm32-wasi-stage_2-release+host_fully_static+text_simdutf",
"XZ_OPT": "-9"
}
},
- "nightly-x86_64-linux-alpine3_23-wasm-int_native-cross_wasm32-wasi-release+host_fully_static+text_simdutf": {
+ "nightly-x86_64-linux-alpine3_23-wasm-int_native-cross_wasm32-wasi-stage_2-release+host_fully_static+text_simdutf": {
"after_script": [
".gitlab/ci.sh save_cache",
".gitlab/ci.sh save_test_output",
@@ -1747,7 +1747,7 @@
"artifacts": {
"expire_in": "8 weeks",
"paths": [
- "ghc-x86_64-linux-alpine3_23-wasm-int_native-cross_wasm32-wasi-release+host_fully_static+text_simdutf.tar.xz",
+ "ghc-x86_64-linux-alpine3_23-wasm-int_native-cross_wasm32-wasi-stage_2-release+host_fully_static+text_simdutf.tar.xz",
"junit.xml",
"unexpected-test-output.tar.gz"
],
@@ -1790,7 +1790,7 @@
],
"variables": {
"BIGNUM_BACKEND": "native",
- "BIN_DIST_NAME": "ghc-x86_64-linux-alpine3_23-wasm-int_native-cross_wasm32-wasi-release+host_fully_static+text_simdutf",
+ "BIN_DIST_NAME": "ghc-x86_64-linux-alpine3_23-wasm-int_native-cross_wasm32-wasi-stage_2-release+host_fully_static+text_simdutf",
"BUILD_FLAVOUR": "release+host_fully_static+text_simdutf",
"CONFIGURE_ARGS": "--with-intree-gmp --with-system-libffi --enable-strict-ghc-toolchain-check",
"CROSS_STAGE": "2",
@@ -1798,11 +1798,11 @@
"FIREFOX_LAUNCH_OPTS": "{\"browser\":\"firefox\",\"executablePath\":\"/usr/bin/firefox\"}",
"HADRIAN_ARGS": "--docs=no-sphinx-pdfs --docs=no-sphinx-man",
"RUNTEST_ARGS": "",
- "TEST_ENV": "x86_64-linux-alpine3_23-wasm-int_native-cross_wasm32-wasi-release+host_fully_static+text_simdutf",
+ "TEST_ENV": "x86_64-linux-alpine3_23-wasm-int_native-cross_wasm32-wasi-stage_2-release+host_fully_static+text_simdutf",
"XZ_OPT": "-9"
}
},
- "nightly-x86_64-linux-alpine3_23-wasm-unreg-cross_wasm32-wasi-release+host_fully_static+text_simdutf": {
+ "nightly-x86_64-linux-alpine3_23-wasm-unreg-cross_wasm32-wasi-stage_2-release+host_fully_static+text_simdutf": {
"after_script": [
".gitlab/ci.sh save_cache",
".gitlab/ci.sh save_test_output",
@@ -1813,7 +1813,7 @@
"artifacts": {
"expire_in": "8 weeks",
"paths": [
- "ghc-x86_64-linux-alpine3_23-wasm-unreg-cross_wasm32-wasi-release+host_fully_static+text_simdutf.tar.xz",
+ "ghc-x86_64-linux-alpine3_23-wasm-unreg-cross_wasm32-wasi-stage_2-release+host_fully_static+text_simdutf.tar.xz",
"junit.xml",
"unexpected-test-output.tar.gz"
],
@@ -1856,7 +1856,7 @@
],
"variables": {
"BIGNUM_BACKEND": "gmp",
- "BIN_DIST_NAME": "ghc-x86_64-linux-alpine3_23-wasm-unreg-cross_wasm32-wasi-release+host_fully_static+text_simdutf",
+ "BIN_DIST_NAME": "ghc-x86_64-linux-alpine3_23-wasm-unreg-cross_wasm32-wasi-stage_2-release+host_fully_static+text_simdutf",
"BUILD_FLAVOUR": "release+host_fully_static+text_simdutf",
"CONFIGURE_ARGS": "--enable-unregisterised --with-intree-gmp --with-system-libffi --enable-strict-ghc-toolchain-check",
"CROSS_STAGE": "2",
@@ -1864,7 +1864,7 @@
"FIREFOX_LAUNCH_OPTS": "{\"browser\":\"firefox\",\"executablePath\":\"/usr/bin/firefox\"}",
"HADRIAN_ARGS": "--docs=no-sphinx-pdfs --docs=no-sphinx-man",
"RUNTEST_ARGS": "",
- "TEST_ENV": "x86_64-linux-alpine3_23-wasm-unreg-cross_wasm32-wasi-release+host_fully_static+text_simdutf",
+ "TEST_ENV": "x86_64-linux-alpine3_23-wasm-unreg-cross_wasm32-wasi-stage_2-release+host_fully_static+text_simdutf",
"XZ_OPT": "-9"
}
},
@@ -1994,7 +1994,7 @@
"XZ_OPT": "-9"
}
},
- "nightly-x86_64-linux-deb11-cross_aarch64-linux-gnu-validate": {
+ "nightly-x86_64-linux-deb11-cross_aarch64-linux-gnu-stage_2-validate": {
"after_script": [
".gitlab/ci.sh save_cache",
".gitlab/ci.sh save_test_output",
@@ -2005,7 +2005,7 @@
"artifacts": {
"expire_in": "8 weeks",
"paths": [
- "ghc-x86_64-linux-deb11-cross_aarch64-linux-gnu-validate.tar.xz",
+ "ghc-x86_64-linux-deb11-cross_aarch64-linux-gnu-stage_2-validate.tar.xz",
"junit.xml",
"unexpected-test-output.tar.gz"
],
@@ -2048,7 +2048,7 @@
],
"variables": {
"BIGNUM_BACKEND": "gmp",
- "BIN_DIST_NAME": "ghc-x86_64-linux-deb11-cross_aarch64-linux-gnu-validate",
+ "BIN_DIST_NAME": "ghc-x86_64-linux-deb11-cross_aarch64-linux-gnu-stage_2-validate",
"BUILD_FLAVOUR": "validate",
"CONFIGURE_ARGS": "--with-intree-gmp --enable-strict-ghc-toolchain-check",
"CROSS_EMULATOR": "qemu-aarch64 -L /usr/aarch64-linux-gnu",
@@ -2056,11 +2056,11 @@
"CROSS_TARGET": "aarch64-linux-gnu",
"INSTALL_CONFIGURE_ARGS": "--enable-strict-ghc-toolchain-check",
"RUNTEST_ARGS": "-e config.timeout=900",
- "TEST_ENV": "x86_64-linux-deb11-cross_aarch64-linux-gnu-validate",
+ "TEST_ENV": "x86_64-linux-deb11-cross_aarch64-linux-gnu-stage_2-validate",
"XZ_OPT": "-9"
}
},
- "nightly-x86_64-linux-deb11-emsdk-closure-int_native-cross_javascript-unknown-ghcjs-validate": {
+ "nightly-x86_64-linux-deb11-emsdk-closure-int_native-cross_javascript-unknown-ghcjs-stage_2-validate": {
"after_script": [
".gitlab/ci.sh save_cache",
".gitlab/ci.sh save_test_output",
@@ -2071,7 +2071,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-deb11-emsdk-closure-int_native-cross_javascript-unknown-ghcjs-stage_2-validate.tar.xz",
"junit.xml",
"unexpected-test-output.tar.gz"
],
@@ -2114,7 +2114,7 @@
],
"variables": {
"BIGNUM_BACKEND": "native",
- "BIN_DIST_NAME": "ghc-x86_64-linux-deb11-emsdk-closure-int_native-cross_javascript-unknown-ghcjs-validate",
+ "BIN_DIST_NAME": "ghc-x86_64-linux-deb11-emsdk-closure-int_native-cross_javascript-unknown-ghcjs-stage_2-validate",
"BUILD_FLAVOUR": "validate",
"CONFIGURE_ARGS": "--with-intree-gmp --enable-strict-ghc-toolchain-check",
"CONFIGURE_WRAPPER": "emconfigure",
@@ -2122,7 +2122,7 @@
"CROSS_TARGET": "javascript-unknown-ghcjs",
"INSTALL_CONFIGURE_ARGS": "--enable-strict-ghc-toolchain-check",
"RUNTEST_ARGS": "-e config.timeout=900",
- "TEST_ENV": "x86_64-linux-deb11-emsdk-closure-int_native-cross_javascript-unknown-ghcjs-validate",
+ "TEST_ENV": "x86_64-linux-deb11-emsdk-closure-int_native-cross_javascript-unknown-ghcjs-stage_2-validate",
"XZ_OPT": "-9"
}
},
@@ -2442,7 +2442,7 @@
"XZ_OPT": "-9"
}
},
- "nightly-x86_64-linux-deb12-riscv-cross_riscv64-linux-gnu-validate": {
+ "nightly-x86_64-linux-deb12-riscv-cross_riscv64-linux-gnu-stage_2-validate": {
"after_script": [
".gitlab/ci.sh save_cache",
".gitlab/ci.sh save_test_output",
@@ -2453,7 +2453,7 @@
"artifacts": {
"expire_in": "8 weeks",
"paths": [
- "ghc-x86_64-linux-deb12-riscv-cross_riscv64-linux-gnu-validate.tar.xz",
+ "ghc-x86_64-linux-deb12-riscv-cross_riscv64-linux-gnu-stage_2-validate.tar.xz",
"junit.xml",
"unexpected-test-output.tar.gz"
],
@@ -2496,7 +2496,7 @@
],
"variables": {
"BIGNUM_BACKEND": "gmp",
- "BIN_DIST_NAME": "ghc-x86_64-linux-deb12-riscv-cross_riscv64-linux-gnu-validate",
+ "BIN_DIST_NAME": "ghc-x86_64-linux-deb12-riscv-cross_riscv64-linux-gnu-stage_2-validate",
"BUILD_FLAVOUR": "validate",
"CONFIGURE_ARGS": "--with-intree-gmp --enable-strict-ghc-toolchain-check",
"CROSS_EMULATOR": "qemu-riscv64 -L /usr/riscv64-linux-gnu",
@@ -2504,7 +2504,73 @@
"CROSS_TARGET": "riscv64-linux-gnu",
"INSTALL_CONFIGURE_ARGS": "--enable-strict-ghc-toolchain-check",
"RUNTEST_ARGS": "-e config.timeout=900",
- "TEST_ENV": "x86_64-linux-deb12-riscv-cross_riscv64-linux-gnu-validate",
+ "TEST_ENV": "x86_64-linux-deb12-riscv-cross_riscv64-linux-gnu-stage_2-validate",
+ "XZ_OPT": "-9"
+ }
+ },
+ "nightly-x86_64-linux-deb12-riscv-cross_riscv64-linux-gnu-stage_3-validate": {
+ "after_script": [
+ ".gitlab/ci.sh save_cache",
+ ".gitlab/ci.sh save_test_output",
+ ".gitlab/ci.sh clean",
+ "cat ci_timings.txt"
+ ],
+ "allow_failure": false,
+ "artifacts": {
+ "expire_in": "8 weeks",
+ "paths": [
+ "ghc-x86_64-linux-deb12-riscv-cross_riscv64-linux-gnu-stage_3-validate.tar.xz",
+ "junit.xml",
+ "unexpected-test-output.tar.gz"
+ ],
+ "reports": {
+ "junit": "junit.xml"
+ },
+ "when": "always"
+ },
+ "cache": {
+ "key": "x86_64-linux-deb12-riscv-$CACHE_REV",
+ "paths": [
+ "cabal-cache",
+ "toolchain"
+ ]
+ },
+ "dependencies": [],
+ "image": "registry.gitlab.haskell.org/ghc/ci-images/x86_64-linux-deb12-riscv:$DOCKER_…",
+ "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-x86_64-linux-deb12-riscv-cross_riscv64-linux-gnu-stage_3-validate",
+ "BUILD_FLAVOUR": "validate",
+ "CONFIGURE_ARGS": "--with-intree-gmp --enable-strict-ghc-toolchain-check",
+ "CROSS_EMULATOR": "qemu-riscv64 -L /usr/riscv64-linux-gnu",
+ "CROSS_STAGE": "3",
+ "CROSS_TARGET": "riscv64-linux-gnu",
+ "INSTALL_CONFIGURE_ARGS": "--enable-strict-ghc-toolchain-check",
+ "RUNTEST_ARGS": "-e config.timeout=900",
+ "TEST_ENV": "x86_64-linux-deb12-riscv-cross_riscv64-linux-gnu-stage_3-validate",
"XZ_OPT": "-9"
}
},
@@ -3521,7 +3587,7 @@
"XZ_OPT": "-9"
}
},
- "nightly-x86_64-linux-ubuntu24_04-loongarch-cross_loongarch64-linux-gnu-validate": {
+ "nightly-x86_64-linux-ubuntu24_04-loongarch-cross_loongarch64-linux-gnu-stage_2-validate": {
"after_script": [
".gitlab/ci.sh save_cache",
".gitlab/ci.sh save_test_output",
@@ -3532,7 +3598,7 @@
"artifacts": {
"expire_in": "8 weeks",
"paths": [
- "ghc-x86_64-linux-ubuntu24_04-loongarch-cross_loongarch64-linux-gnu-validate.tar.xz",
+ "ghc-x86_64-linux-ubuntu24_04-loongarch-cross_loongarch64-linux-gnu-stage_2-validate.tar.xz",
"junit.xml",
"unexpected-test-output.tar.gz"
],
@@ -3575,7 +3641,7 @@
],
"variables": {
"BIGNUM_BACKEND": "gmp",
- "BIN_DIST_NAME": "ghc-x86_64-linux-ubuntu24_04-loongarch-cross_loongarch64-linux-gnu-validate",
+ "BIN_DIST_NAME": "ghc-x86_64-linux-ubuntu24_04-loongarch-cross_loongarch64-linux-gnu-stage_2-validate",
"BUILD_FLAVOUR": "validate",
"CONFIGURE_ARGS": "--with-intree-gmp --enable-strict-ghc-toolchain-check",
"CROSS_EMULATOR": "qemu-loongarch64 -L /usr/loongarch64-linux-gnu",
@@ -3583,7 +3649,7 @@
"CROSS_TARGET": "loongarch64-linux-gnu",
"INSTALL_CONFIGURE_ARGS": "--enable-strict-ghc-toolchain-check",
"RUNTEST_ARGS": "-e config.timeout=900",
- "TEST_ENV": "x86_64-linux-ubuntu24_04-loongarch-cross_loongarch64-linux-gnu-validate",
+ "TEST_ENV": "x86_64-linux-ubuntu24_04-loongarch-cross_loongarch64-linux-gnu-stage_2-validate",
"XZ_OPT": "-9"
}
},
@@ -5847,7 +5913,7 @@
"TEST_ENV": "x86_64-linux-alpine3_23-validate"
}
},
- "x86_64-linux-alpine3_23-wasm-cross_wasm32-wasi-release+host_fully_static+text_simdutf": {
+ "x86_64-linux-alpine3_23-wasm-cross_wasm32-wasi-stage_2-release+host_fully_static+text_simdutf": {
"after_script": [
".gitlab/ci.sh save_cache",
".gitlab/ci.sh save_test_output",
@@ -5858,7 +5924,7 @@
"artifacts": {
"expire_in": "2 weeks",
"paths": [
- "ghc-x86_64-linux-alpine3_23-wasm-cross_wasm32-wasi-release+host_fully_static+text_simdutf.tar.xz",
+ "ghc-x86_64-linux-alpine3_23-wasm-cross_wasm32-wasi-stage_2-release+host_fully_static+text_simdutf.tar.xz",
"junit.xml",
"unexpected-test-output.tar.gz"
],
@@ -5884,7 +5950,7 @@
],
"rules": [
{
- "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\bx86_64-linux-alpine3_23-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)",
+ "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\bx86_64-linux-alpine3_23-wasm-cross_wasm32-wasi-stage_2-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)",
"when": "on_success"
}
],
@@ -5901,7 +5967,7 @@
],
"variables": {
"BIGNUM_BACKEND": "gmp",
- "BIN_DIST_NAME": "ghc-x86_64-linux-alpine3_23-wasm-cross_wasm32-wasi-release+host_fully_static+text_simdutf",
+ "BIN_DIST_NAME": "ghc-x86_64-linux-alpine3_23-wasm-cross_wasm32-wasi-stage_2-release+host_fully_static+text_simdutf",
"BUILD_FLAVOUR": "release+host_fully_static+text_simdutf",
"CONFIGURE_ARGS": "--with-intree-gmp --with-system-libffi --enable-strict-ghc-toolchain-check",
"CROSS_STAGE": "2",
@@ -5909,10 +5975,10 @@
"FIREFOX_LAUNCH_OPTS": "{\"browser\":\"firefox\",\"executablePath\":\"/usr/bin/firefox\"}",
"HADRIAN_ARGS": "--docs=no-sphinx-pdfs --docs=no-sphinx-man",
"RUNTEST_ARGS": "",
- "TEST_ENV": "x86_64-linux-alpine3_23-wasm-cross_wasm32-wasi-release+host_fully_static+text_simdutf"
+ "TEST_ENV": "x86_64-linux-alpine3_23-wasm-cross_wasm32-wasi-stage_2-release+host_fully_static+text_simdutf"
}
},
- "x86_64-linux-alpine3_23-wasm-int_native-cross_wasm32-wasi-release+host_fully_static+text_simdutf": {
+ "x86_64-linux-alpine3_23-wasm-int_native-cross_wasm32-wasi-stage_2-release+host_fully_static+text_simdutf": {
"after_script": [
".gitlab/ci.sh save_cache",
".gitlab/ci.sh save_test_output",
@@ -5923,7 +5989,7 @@
"artifacts": {
"expire_in": "2 weeks",
"paths": [
- "ghc-x86_64-linux-alpine3_23-wasm-int_native-cross_wasm32-wasi-release+host_fully_static+text_simdutf.tar.xz",
+ "ghc-x86_64-linux-alpine3_23-wasm-int_native-cross_wasm32-wasi-stage_2-release+host_fully_static+text_simdutf.tar.xz",
"junit.xml",
"unexpected-test-output.tar.gz"
],
@@ -5950,7 +6016,7 @@
"rules": [
{
"allow_failure": true,
- "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\bx86_64-linux-alpine3_23-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)",
+ "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\bx86_64-linux-alpine3_23-wasm-int_native-cross_wasm32-wasi-stage_2-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)",
"when": "manual"
}
],
@@ -5967,7 +6033,7 @@
],
"variables": {
"BIGNUM_BACKEND": "native",
- "BIN_DIST_NAME": "ghc-x86_64-linux-alpine3_23-wasm-int_native-cross_wasm32-wasi-release+host_fully_static+text_simdutf",
+ "BIN_DIST_NAME": "ghc-x86_64-linux-alpine3_23-wasm-int_native-cross_wasm32-wasi-stage_2-release+host_fully_static+text_simdutf",
"BUILD_FLAVOUR": "release+host_fully_static+text_simdutf",
"CONFIGURE_ARGS": "--with-intree-gmp --with-system-libffi --enable-strict-ghc-toolchain-check",
"CROSS_STAGE": "2",
@@ -5975,10 +6041,10 @@
"FIREFOX_LAUNCH_OPTS": "{\"browser\":\"firefox\",\"executablePath\":\"/usr/bin/firefox\"}",
"HADRIAN_ARGS": "--docs=no-sphinx-pdfs --docs=no-sphinx-man",
"RUNTEST_ARGS": "",
- "TEST_ENV": "x86_64-linux-alpine3_23-wasm-int_native-cross_wasm32-wasi-release+host_fully_static+text_simdutf"
+ "TEST_ENV": "x86_64-linux-alpine3_23-wasm-int_native-cross_wasm32-wasi-stage_2-release+host_fully_static+text_simdutf"
}
},
- "x86_64-linux-alpine3_23-wasm-unreg-cross_wasm32-wasi-release+host_fully_static+text_simdutf": {
+ "x86_64-linux-alpine3_23-wasm-unreg-cross_wasm32-wasi-stage_2-release+host_fully_static+text_simdutf": {
"after_script": [
".gitlab/ci.sh save_cache",
".gitlab/ci.sh save_test_output",
@@ -5989,7 +6055,7 @@
"artifacts": {
"expire_in": "2 weeks",
"paths": [
- "ghc-x86_64-linux-alpine3_23-wasm-unreg-cross_wasm32-wasi-release+host_fully_static+text_simdutf.tar.xz",
+ "ghc-x86_64-linux-alpine3_23-wasm-unreg-cross_wasm32-wasi-stage_2-release+host_fully_static+text_simdutf.tar.xz",
"junit.xml",
"unexpected-test-output.tar.gz"
],
@@ -6016,7 +6082,7 @@
"rules": [
{
"allow_failure": true,
- "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\bx86_64-linux-alpine3_23-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)",
+ "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\bx86_64-linux-alpine3_23-wasm-unreg-cross_wasm32-wasi-stage_2-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)",
"when": "manual"
}
],
@@ -6033,7 +6099,7 @@
],
"variables": {
"BIGNUM_BACKEND": "gmp",
- "BIN_DIST_NAME": "ghc-x86_64-linux-alpine3_23-wasm-unreg-cross_wasm32-wasi-release+host_fully_static+text_simdutf",
+ "BIN_DIST_NAME": "ghc-x86_64-linux-alpine3_23-wasm-unreg-cross_wasm32-wasi-stage_2-release+host_fully_static+text_simdutf",
"BUILD_FLAVOUR": "release+host_fully_static+text_simdutf",
"CONFIGURE_ARGS": "--enable-unregisterised --with-intree-gmp --with-system-libffi --enable-strict-ghc-toolchain-check",
"CROSS_STAGE": "2",
@@ -6041,7 +6107,7 @@
"FIREFOX_LAUNCH_OPTS": "{\"browser\":\"firefox\",\"executablePath\":\"/usr/bin/firefox\"}",
"HADRIAN_ARGS": "--docs=no-sphinx-pdfs --docs=no-sphinx-man",
"RUNTEST_ARGS": "",
- "TEST_ENV": "x86_64-linux-alpine3_23-wasm-unreg-cross_wasm32-wasi-release+host_fully_static+text_simdutf"
+ "TEST_ENV": "x86_64-linux-alpine3_23-wasm-unreg-cross_wasm32-wasi-stage_2-release+host_fully_static+text_simdutf"
}
},
"x86_64-linux-deb10-validate": {
@@ -6168,7 +6234,7 @@
"TEST_ENV": "x86_64-linux-deb10-validate+debug_info"
}
},
- "x86_64-linux-deb11-cross_aarch64-linux-gnu-validate": {
+ "x86_64-linux-deb11-cross_aarch64-linux-gnu-stage_2-validate": {
"after_script": [
".gitlab/ci.sh save_cache",
".gitlab/ci.sh save_test_output",
@@ -6179,7 +6245,7 @@
"artifacts": {
"expire_in": "2 weeks",
"paths": [
- "ghc-x86_64-linux-deb11-cross_aarch64-linux-gnu-validate.tar.xz",
+ "ghc-x86_64-linux-deb11-cross_aarch64-linux-gnu-stage_2-validate.tar.xz",
"junit.xml",
"unexpected-test-output.tar.gz"
],
@@ -6205,7 +6271,7 @@
],
"rules": [
{
- "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\bx86_64-linux-deb11-cross_aarch64-linux-gnu-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)",
+ "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\bx86_64-linux-deb11-cross_aarch64-linux-gnu-stage_2-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)",
"when": "on_success"
}
],
@@ -6222,7 +6288,7 @@
],
"variables": {
"BIGNUM_BACKEND": "gmp",
- "BIN_DIST_NAME": "ghc-x86_64-linux-deb11-cross_aarch64-linux-gnu-validate",
+ "BIN_DIST_NAME": "ghc-x86_64-linux-deb11-cross_aarch64-linux-gnu-stage_2-validate",
"BUILD_FLAVOUR": "validate",
"CONFIGURE_ARGS": "--with-intree-gmp --enable-strict-ghc-toolchain-check",
"CROSS_EMULATOR": "qemu-aarch64 -L /usr/aarch64-linux-gnu",
@@ -6230,10 +6296,10 @@
"CROSS_TARGET": "aarch64-linux-gnu",
"INSTALL_CONFIGURE_ARGS": "--enable-strict-ghc-toolchain-check",
"RUNTEST_ARGS": "-e config.timeout=900",
- "TEST_ENV": "x86_64-linux-deb11-cross_aarch64-linux-gnu-validate"
+ "TEST_ENV": "x86_64-linux-deb11-cross_aarch64-linux-gnu-stage_2-validate"
}
},
- "x86_64-linux-deb11-emsdk-closure-int_native-cross_javascript-unknown-ghcjs-validate": {
+ "x86_64-linux-deb11-emsdk-closure-int_native-cross_javascript-unknown-ghcjs-stage_2-validate": {
"after_script": [
".gitlab/ci.sh save_cache",
".gitlab/ci.sh save_test_output",
@@ -6244,7 +6310,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-deb11-emsdk-closure-int_native-cross_javascript-unknown-ghcjs-stage_2-validate.tar.xz",
"junit.xml",
"unexpected-test-output.tar.gz"
],
@@ -6270,7 +6336,7 @@
],
"rules": [
{
- "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\bx86_64-linux-deb11-emsdk-closure-int_native-cross_javascript-unknown-ghcjs-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]+/)) || ($CI_MERGE_REQUEST_LABELS =~ /.*javascript.*/)))) && ($RELEASE_JOB != \"yes\") && ($NIGHTLY == null)",
+ "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\bx86_64-linux-deb11-emsdk-closure-int_native-cross_javascript-unknown-ghcjs-stage_2-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]+/)) || ($CI_MERGE_REQUEST_LABELS =~ /.*javascript.*/)))) && ($RELEASE_JOB != \"yes\") && ($NIGHTLY == null)",
"when": "on_success"
}
],
@@ -6287,7 +6353,7 @@
],
"variables": {
"BIGNUM_BACKEND": "native",
- "BIN_DIST_NAME": "ghc-x86_64-linux-deb11-emsdk-closure-int_native-cross_javascript-unknown-ghcjs-validate",
+ "BIN_DIST_NAME": "ghc-x86_64-linux-deb11-emsdk-closure-int_native-cross_javascript-unknown-ghcjs-stage_2-validate",
"BUILD_FLAVOUR": "validate",
"CONFIGURE_ARGS": "--with-intree-gmp --enable-strict-ghc-toolchain-check",
"CONFIGURE_WRAPPER": "emconfigure",
@@ -6295,7 +6361,7 @@
"CROSS_TARGET": "javascript-unknown-ghcjs",
"INSTALL_CONFIGURE_ARGS": "--enable-strict-ghc-toolchain-check",
"RUNTEST_ARGS": "-e config.timeout=900",
- "TEST_ENV": "x86_64-linux-deb11-emsdk-closure-int_native-cross_javascript-unknown-ghcjs-validate"
+ "TEST_ENV": "x86_64-linux-deb11-emsdk-closure-int_native-cross_javascript-unknown-ghcjs-stage_2-validate"
}
},
"x86_64-linux-deb11-validate": {
@@ -6610,7 +6676,7 @@
"TEST_ENV": "x86_64-linux-deb12-release"
}
},
- "x86_64-linux-deb12-riscv-cross_riscv64-linux-gnu-validate": {
+ "x86_64-linux-deb12-riscv-cross_riscv64-linux-gnu-stage_2-validate": {
"after_script": [
".gitlab/ci.sh save_cache",
".gitlab/ci.sh save_test_output",
@@ -6621,7 +6687,7 @@
"artifacts": {
"expire_in": "2 weeks",
"paths": [
- "ghc-x86_64-linux-deb12-riscv-cross_riscv64-linux-gnu-validate.tar.xz",
+ "ghc-x86_64-linux-deb12-riscv-cross_riscv64-linux-gnu-stage_2-validate.tar.xz",
"junit.xml",
"unexpected-test-output.tar.gz"
],
@@ -6647,7 +6713,7 @@
],
"rules": [
{
- "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\bx86_64-linux-deb12-riscv-cross_riscv64-linux-gnu-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]+/)) || ($CI_MERGE_REQUEST_LABELS =~ /.*RISC-V.*/)))) && ($RELEASE_JOB != \"yes\") && ($NIGHTLY == null)",
+ "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\bx86_64-linux-deb12-riscv-cross_riscv64-linux-gnu-stage_2-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]+/)) || ($CI_MERGE_REQUEST_LABELS =~ /.*RISC-V.*/)))) && ($RELEASE_JOB != \"yes\") && ($NIGHTLY == null)",
"when": "on_success"
}
],
@@ -6664,7 +6730,7 @@
],
"variables": {
"BIGNUM_BACKEND": "gmp",
- "BIN_DIST_NAME": "ghc-x86_64-linux-deb12-riscv-cross_riscv64-linux-gnu-validate",
+ "BIN_DIST_NAME": "ghc-x86_64-linux-deb12-riscv-cross_riscv64-linux-gnu-stage_2-validate",
"BUILD_FLAVOUR": "validate",
"CONFIGURE_ARGS": "--with-intree-gmp --enable-strict-ghc-toolchain-check",
"CROSS_EMULATOR": "qemu-riscv64 -L /usr/riscv64-linux-gnu",
@@ -6672,7 +6738,72 @@
"CROSS_TARGET": "riscv64-linux-gnu",
"INSTALL_CONFIGURE_ARGS": "--enable-strict-ghc-toolchain-check",
"RUNTEST_ARGS": "-e config.timeout=900",
- "TEST_ENV": "x86_64-linux-deb12-riscv-cross_riscv64-linux-gnu-validate"
+ "TEST_ENV": "x86_64-linux-deb12-riscv-cross_riscv64-linux-gnu-stage_2-validate"
+ }
+ },
+ "x86_64-linux-deb12-riscv-cross_riscv64-linux-gnu-stage_3-validate": {
+ "after_script": [
+ ".gitlab/ci.sh save_cache",
+ ".gitlab/ci.sh save_test_output",
+ ".gitlab/ci.sh clean",
+ "cat ci_timings.txt"
+ ],
+ "allow_failure": false,
+ "artifacts": {
+ "expire_in": "2 weeks",
+ "paths": [
+ "ghc-x86_64-linux-deb12-riscv-cross_riscv64-linux-gnu-stage_3-validate.tar.xz",
+ "junit.xml",
+ "unexpected-test-output.tar.gz"
+ ],
+ "reports": {
+ "junit": "junit.xml"
+ },
+ "when": "always"
+ },
+ "cache": {
+ "key": "x86_64-linux-deb12-riscv-$CACHE_REV",
+ "paths": [
+ "cabal-cache",
+ "toolchain"
+ ]
+ },
+ "dependencies": [],
+ "image": "registry.gitlab.haskell.org/ghc/ci-images/x86_64-linux-deb12-riscv:$DOCKER_…",
+ "needs": [
+ {
+ "artifacts": false,
+ "job": "hadrian-ghc-in-ghci"
+ }
+ ],
+ "rules": [
+ {
+ "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\bx86_64-linux-deb12-riscv-cross_riscv64-linux-gnu-stage_3-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]+/)) || ($CI_MERGE_REQUEST_LABELS =~ /.*RISC-V.*/)))) && ($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-x86_64-linux-deb12-riscv-cross_riscv64-linux-gnu-stage_3-validate",
+ "BUILD_FLAVOUR": "validate",
+ "CONFIGURE_ARGS": "--with-intree-gmp --enable-strict-ghc-toolchain-check",
+ "CROSS_EMULATOR": "qemu-riscv64 -L /usr/riscv64-linux-gnu",
+ "CROSS_STAGE": "3",
+ "CROSS_TARGET": "riscv64-linux-gnu",
+ "INSTALL_CONFIGURE_ARGS": "--enable-strict-ghc-toolchain-check",
+ "RUNTEST_ARGS": "-e config.timeout=900",
+ "TEST_ENV": "x86_64-linux-deb12-riscv-cross_riscv64-linux-gnu-stage_3-validate"
}
},
"x86_64-linux-deb12-unreg-validate": {
@@ -7673,7 +7804,7 @@
"TEST_ENV": "x86_64-linux-ubuntu22_04-validate"
}
},
- "x86_64-linux-ubuntu24_04-loongarch-cross_loongarch64-linux-gnu-validate": {
+ "x86_64-linux-ubuntu24_04-loongarch-cross_loongarch64-linux-gnu-stage_2-validate": {
"after_script": [
".gitlab/ci.sh save_cache",
".gitlab/ci.sh save_test_output",
@@ -7684,7 +7815,7 @@
"artifacts": {
"expire_in": "2 weeks",
"paths": [
- "ghc-x86_64-linux-ubuntu24_04-loongarch-cross_loongarch64-linux-gnu-validate.tar.xz",
+ "ghc-x86_64-linux-ubuntu24_04-loongarch-cross_loongarch64-linux-gnu-stage_2-validate.tar.xz",
"junit.xml",
"unexpected-test-output.tar.gz"
],
@@ -7710,7 +7841,7 @@
],
"rules": [
{
- "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\bx86_64-linux-ubuntu24_04-loongarch-cross_loongarch64-linux-gnu-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]+/)) || ($CI_MERGE_REQUEST_LABELS =~ /.*loongarch.*/)))) && ($RELEASE_JOB != \"yes\") && ($NIGHTLY == null)",
+ "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\bx86_64-linux-ubuntu24_04-loongarch-cross_loongarch64-linux-gnu-stage_2-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]+/)) || ($CI_MERGE_REQUEST_LABELS =~ /.*loongarch.*/)))) && ($RELEASE_JOB != \"yes\") && ($NIGHTLY == null)",
"when": "on_success"
}
],
@@ -7727,7 +7858,7 @@
],
"variables": {
"BIGNUM_BACKEND": "gmp",
- "BIN_DIST_NAME": "ghc-x86_64-linux-ubuntu24_04-loongarch-cross_loongarch64-linux-gnu-validate",
+ "BIN_DIST_NAME": "ghc-x86_64-linux-ubuntu24_04-loongarch-cross_loongarch64-linux-gnu-stage_2-validate",
"BUILD_FLAVOUR": "validate",
"CONFIGURE_ARGS": "--with-intree-gmp --enable-strict-ghc-toolchain-check",
"CROSS_EMULATOR": "qemu-loongarch64 -L /usr/loongarch64-linux-gnu",
@@ -7735,7 +7866,7 @@
"CROSS_TARGET": "loongarch64-linux-gnu",
"INSTALL_CONFIGURE_ARGS": "--enable-strict-ghc-toolchain-check",
"RUNTEST_ARGS": "-e config.timeout=900",
- "TEST_ENV": "x86_64-linux-ubuntu24_04-loongarch-cross_loongarch64-linux-gnu-validate"
+ "TEST_ENV": "x86_64-linux-ubuntu24_04-loongarch-cross_loongarch64-linux-gnu-stage_2-validate"
}
},
"x86_64-linux-ubuntu24_04-validate": {
View it on GitLab: https://gitlab.haskell.org/ghc/ghc/-/commit/421e65264793fe020cd7838a3519374…
--
View it on GitLab: https://gitlab.haskell.org/ghc/ghc/-/commit/421e65264793fe020cd7838a3519374…
You're receiving this email because of your account on gitlab.haskell.org.
1
0
[Git][ghc/ghc] Pushed new branch wip/supersven/generate-ci_fix_hls_setup
by Sven Tennie (@supersven) 24 Jan '26
by Sven Tennie (@supersven) 24 Jan '26
24 Jan '26
Sven Tennie pushed new branch wip/supersven/generate-ci_fix_hls_setup at Glasgow Haskell Compiler / GHC
--
View it on GitLab: https://gitlab.haskell.org/ghc/ghc/-/tree/wip/supersven/generate-ci_fix_hls…
You're receiving this email because of your account on gitlab.haskell.org.
1
0
[Git][ghc/ghc][wip/supersven/hadrian-cross-stage3] Enable stage3 bin-dists
by Sven Tennie (@supersven) 24 Jan '26
by Sven Tennie (@supersven) 24 Jan '26
24 Jan '26
Sven Tennie pushed to branch wip/supersven/hadrian-cross-stage3 at Glasgow Haskell Compiler / GHC
Commits:
46595cdd by Sven Tennie at 2026-01-24T18:28:31+01:00
Enable stage3 bin-dists
- - - - -
1 changed file:
- hadrian/src/Rules/BinaryDist.hs
Changes:
=====================================
hadrian/src/Rules/BinaryDist.hs
=====================================
@@ -319,8 +319,8 @@ bindistRules = do
buildBinDistDir root cfg
phony "binary-dist-dir-cross" $ buildBinDistDir root crossBindist
- -- MP: Not working yet
- -- phony "binary-dist-dir-stage3" $ buildBinDistDir root targetBindist
+
+ phony "binary-dist-dir-stage3" $ buildBinDistDir root targetBindist
let buildBinDist compressor = do
win_host <- isWinHost
View it on GitLab: https://gitlab.haskell.org/ghc/ghc/-/commit/46595cdd566104be9b034a9f3b7b855…
--
View it on GitLab: https://gitlab.haskell.org/ghc/ghc/-/commit/46595cdd566104be9b034a9f3b7b855…
You're receiving this email because of your account on gitlab.haskell.org.
1
0
[Git][ghc/ghc] Pushed new branch wip/supersven/hadrian-cross-stage3
by Sven Tennie (@supersven) 24 Jan '26
by Sven Tennie (@supersven) 24 Jan '26
24 Jan '26
Sven Tennie pushed new branch wip/supersven/hadrian-cross-stage3 at Glasgow Haskell Compiler / GHC
--
View it on GitLab: https://gitlab.haskell.org/ghc/ghc/-/tree/wip/supersven/hadrian-cross-stage3
You're receiving this email because of your account on gitlab.haskell.org.
1
0
[Git][ghc/ghc][wip/T26819] 4 commits: ci: remove duplicate keys in .gitlab-ci.yml
by Peter Trommler (@trommler) 24 Jan '26
by Peter Trommler (@trommler) 24 Jan '26
24 Jan '26
Peter Trommler pushed to branch wip/T26819 at Glasgow Haskell Compiler / GHC
Commits:
414b9593 by Cheng Shao at 2026-01-24T07:11:51-05:00
ci: remove duplicate keys in .gitlab-ci.yml
This patch removes accidentally duplicate keys in `.gitlab-ci.yml`.
The YAML spec doesn't allow duplicate keys in the first place, and
according to GitLab docs
(https://docs.gitlab.com/ci/yaml/yaml_optimization/#anchors) the
latest key overrides the earlier entries.
- - - - -
e5cb5491 by Cheng Shao at 2026-01-24T07:12:34-05:00
hadrian: drop obsolete configure/make builder logic for libffi
This patch drops obsolete hadrian logic around `Configure
libffiPath`/`Make libffiPath` builders, they are no longer needed
after libffi-clib has landed. Closes #26815.
- - - - -
2d160222 by Simon Hengel at 2026-01-24T07:13:17-05:00
Fix typo in roles.rst
- - - - -
811f56e5 by Peter Trommler at 2026-01-24T17:41:50+01:00
hadrian: Fix dependency generation for assembler
Assembler files allow # for comments unless in column 1. A modern
cpp for C treats those a preprocessor directives. We tell gcc that
a .S file is assembler with cpp and not C.
Fixes #26819
- - - - -
8 changed files:
- .gitlab-ci.yml
- docs/users_guide/exts/roles.rst
- hadrian/src/Builder.hs
- hadrian/src/Context.hs
- hadrian/src/Rules/Compile.hs
- hadrian/src/Settings/Builders/Cc.hs
- hadrian/src/Settings/Builders/Configure.hs
- hadrian/src/Settings/Builders/Make.hs
Changes:
=====================================
.gitlab-ci.yml
=====================================
@@ -1050,10 +1050,6 @@ abi-test:
optional: true
dependencies: null
image: "registry.gitlab.haskell.org/ghc/ci-images/x86_64-linux-fedora43:$DOCKER_REV"
- rules:
- - if: $CI_MERGE_REQUEST_ID
- - if: '$CI_COMMIT_BRANCH == "master"'
- - if: '$CI_COMMIT_BRANCH =~ /ghc-[0.9]+\.[0-9]+/'
tags:
- x86_64-linux
script:
=====================================
docs/users_guide/exts/roles.rst
=====================================
@@ -38,7 +38,7 @@ trouble.
The way to identify such situations is to have *roles* assigned to type
variables of datatypes, classes, and type synonyms.
-Roles as implemented in GHC are a from a simplified version of the work
+Roles as implemented in GHC are based on a simplified version of the work
described in `Generative type abstraction and type-level
computation <https://www.seas.upenn.edu/~sweirich/papers/popl163af-weirich.pdf>`__,
published at POPL 2011.
=====================================
hadrian/src/Builder.hs
=====================================
@@ -49,7 +49,7 @@ import GHC.Toolchain.Program
-- * Compile or preprocess a source file.
-- * Extract source dependencies by passing @-MM@ command line argument.
data CcMode = CompileC | FindCDependencies DependencyType deriving (Eq, Generic, Show)
-data DependencyType = CDep | CxxDep deriving (Eq, Generic, Show)
+data DependencyType = CDep | CxxDep | AsmDep deriving (Eq, Generic, Show)
instance Binary CcMode
instance Hashable CcMode
=====================================
hadrian/src/Context.hs
=====================================
@@ -11,7 +11,7 @@ module Context (
pkgLibraryFile,
pkgConfFile, pkgStampFile, resourcePath, objectPath, contextPath, getContextPath, libPath, distDir,
distDynDir,
- haddockStatsFilesDir, ensureConfigured, autogenPath, rtsContext, rtsBuildPath, libffiBuildPath
+ haddockStatsFilesDir, ensureConfigured, autogenPath, rtsContext, rtsBuildPath
) where
import Base
@@ -93,14 +93,6 @@ rtsContext stage = vanillaContext stage rts
rtsBuildPath :: Stage -> Action FilePath
rtsBuildPath stage = buildPath (rtsContext stage)
--- | Build directory for in-tree 'libffi' library.
-libffiBuildPath :: Stage -> Action FilePath
-libffiBuildPath stage = buildPath $ Context
- stage
- libffi
- (error "libffiBuildPath: way not set.")
- (error "libffiBuildPath: inplace not set.")
-
pkgFileName :: Context -> Package -> String -> String -> Action FilePath
pkgFileName context package prefix suffix = do
pid <- pkgUnitId (stage context) package
=====================================
hadrian/src/Rules/Compile.hs
=====================================
@@ -282,8 +282,11 @@ needDependencies lang context@Context {..} src depFile = do
discover -- Continue the discovery process
-- We need to pass different flags to cc depending on whether the
- -- file to compile is a .c or a .cpp file
- depType = if lang == Cxx then CxxDep else CDep
+ -- file to compile is a .c or a .cpp or a .S file
+ depType = case lang of
+ Cxx -> CxxDep
+ Asm -> AsmDep
+ _ -> CDep
parseFile :: FilePath -> Action [String]
parseFile file = do
=====================================
hadrian/src/Settings/Builders/Cc.hs
=====================================
@@ -18,6 +18,7 @@ ccBuilderArgs = do
, arg "-o", arg =<< getOutput ]
, builder (Cc (FindCDependencies CDep)) ? findCDepExpr CDep
, builder (Cc (FindCDependencies CxxDep)) ? findCDepExpr CxxDep
+ , builder (Cc (FindCDependencies AsmDep)) ? findCDepExpr AsmDep
]
where
findCDepExpr depType = do
@@ -26,10 +27,10 @@ ccBuilderArgs = do
, arg "-MM", arg "-MG"
, arg "-MF", arg output
, arg "-MT", arg $ dropExtension output -<.> "o"
- , case depType of CDep -> mempty; CxxDep -> arg "-std=c++11"
+ , case depType of CDep -> mempty; CxxDep -> arg "-std=c++11"; AsmDep -> mempty
, cIncludeArgs
- , arg "-x", arg (case depType of CDep -> "c"; CxxDep -> "c++")
- , case depType of CDep -> mempty; CxxDep -> getContextData cxxOpts
+ , arg "-x", arg (case depType of CDep -> "c"; CxxDep -> "c++"; AsmDep -> "assembler-with-cpp")
+ , case depType of CDep -> mempty; CxxDep -> getContextData cxxOpts; AsmDep -> mempty
-- Pass 'ghcversion.h' to give sources access to the
-- `MIN_VERSION_GLASGOW_HASKELL` macro.
, notStage0 ? arg "-include" <> arg "rts/include/ghcversion.h"
=====================================
hadrian/src/Settings/Builders/Configure.hs
=====================================
@@ -8,8 +8,7 @@ configureBuilderArgs :: Args
configureBuilderArgs = do
stage <- getStage
gmpPath <- expr (gmpBuildPath stage)
- libffiPath <- expr (libffiBuildPath stage)
- mconcat [ builder (Configure gmpPath) ? do
+ builder (Configure gmpPath) ? do
targetArch <- queryTarget queryArch
targetPlatform <- queryTarget targetPlatformTriple
buildPlatform <- queryBuild targetPlatformTriple
@@ -28,16 +27,3 @@ configureBuilderArgs = do
-- option.
<> [ "--enable-alloca=malloc-notreentrant" | targetArch == "wasm32" ]
<> [ "--with-pic=yes" ]
-
- , builder (Configure libffiPath) ? do
- top <- expr topDirectory
- targetPlatform <- queryTarget targetPlatformTriple
- way <- getWay
- pure [ "--prefix=" ++ top -/- libffiPath -/- "inst"
- , "--libdir=" ++ top -/- libffiPath -/- "inst/lib"
- , "--enable-static=yes"
- , "--enable-shared="
- ++ (if wayUnit Dynamic way
- then "yes"
- else "no")
- , "--host=" ++ targetPlatform ] ]
=====================================
hadrian/src/Settings/Builders/Make.hs
=====================================
@@ -12,12 +12,8 @@ makeBuilderArgs = do
threads <- shakeThreads <$> expr getShakeOptions
stage <- getStage
gmpPath <- expr (gmpBuildPath stage)
- libffiPaths <- forM [Stage1, Stage2, Stage3 ] $ \s -> expr (libffiBuildPath s)
let t = show $ max 4 (threads - 2) -- Don't use all Shake's threads
- mconcat $
- (builder (Make gmpPath ) ? pure ["MAKEFLAGS=-j" ++ t]) :
- [ builder (Make libffiPath) ? pure ["MAKEFLAGS=-j" ++ t, "install"]
- | libffiPath <- libffiPaths ]
+ builder (Make gmpPath) ? pure ["MAKEFLAGS=-j" ++ t]
validateBuilderArgs :: Args
validateBuilderArgs = builder (Make "testsuite/tests") ? do
View it on GitLab: https://gitlab.haskell.org/ghc/ghc/-/compare/dcdaff81fc31032763ad87bf9701a3…
--
View it on GitLab: https://gitlab.haskell.org/ghc/ghc/-/compare/dcdaff81fc31032763ad87bf9701a3…
You're receiving this email because of your account on gitlab.haskell.org.
1
0