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/8a1c1af973aa74d18b9e9d58ab19042... -- View it on GitLab: https://gitlab.haskell.org/ghc/ghc/-/compare/8a1c1af973aa74d18b9e9d58ab19042... You're receiving this email because of your account on gitlab.haskell.org.
participants (1)
-
Cheng Shao (@TerrorJack)