summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatthew Pickering <matthewtpickering@gmail.com>2022-05-12 16:18:47 +0100
committerBen Gamari <ben@smart-cactus.org>2022-05-23 09:05:27 -0400
commit98764309d59e69b6a775852d75dd606fcd992c17 (patch)
treec347fa03dd18d243b763b5ed04c3229f4e03fbf8
parentb75bd4c91f4732908d84d68d7f767a66a284e361 (diff)
downloadhaskell-wip/T20010.tar.gz
Add release flavour and use it for the release jobswip/T20010
The release flavour is essentially the same as the perf flavour currently but also enables `-haddock`. I have hopefully updated all the relevant places where the `-perf` flavour was hardcoded. Fixes #21486 (cherry picked from commit 297156e0b8053a28a860e7a18e1816207a59547b)
-rw-r--r--.gitlab-ci.yml40
-rwxr-xr-x.gitlab/gen_ci.hs12
-rw-r--r--.gitlab/jobs.yaml200
-rw-r--r--hadrian/doc/flavours.md12
-rw-r--r--hadrian/hadrian.cabal1
-rw-r--r--hadrian/src/Flavour.hs15
-rwxr-xr-xhadrian/src/Settings.hs2
-rw-r--r--hadrian/src/Settings/Flavours/Release.hs7
8 files changed, 162 insertions, 127 deletions
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 0462c0acdf..38e10d3afa 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -102,7 +102,7 @@ workflow:
.release: &release
variables:
- BUILD_FLAVOUR: "perf"
+ BUILD_FLAVOUR: "release"
XZ_OPT: "-9"
IGNORE_PERF_FAILURES: "all"
HADDOCK_HYPERLINKED_SOURCES: "YES"
@@ -457,14 +457,14 @@ doc-tarball:
optional: true
- job: nightly-x86_64-linux-deb10-validate
optional: true
- - job: release-x86_64-linux-deb10-perf
+ - job: release-x86_64-linux-deb10-release
optional: true
- job: x86_64-windows-validate
optional: true
- job: nightly-x86_64-windows-validate
optional: true
- - job: release-x86_64-windows-perf
+ - job: release-x86_64-windows-release
optional: true
tags:
@@ -485,10 +485,10 @@ doc-tarball:
- |
mv "ghc-x86_64-linux-deb10-numa-slow-validate.tar.xz" "$LINUX_BINDIST" \
|| mv "ghc-x86_64-linux-deb10-validate.tar.xz" "$LINUX_BINDIST" \
- || mv "ghc-x86_64-linux-deb10-perf.tar.xz" "$LINUX_BINDIST" \
+ || mv "ghc-x86_64-linux-deb10-release.tar.xz" "$LINUX_BINDIST" \
|| true
mv "ghc-x86_64-windows-validate.tar.xz" "$WINDOWS_BINDIST" \
- || mv "ghc-x86_64-windows-perf.tar.xz" "$WINDOWS_BINDIST" \
+ || mv "ghc-x86_64-windows-release.tar.xz" "$WINDOWS_BINDIST" \
|| true
if [ ! -f "$LINUX_BINDIST" ]; then
echo "Error: $LINUX_BINDIST does not exist. Did the Debian 9 job fail?"
@@ -506,11 +506,11 @@ doc-tarball:
hackage-doc-tarball:
stage: packaging
needs:
- - job: x86_64-linux-fedora33-perf
+ - job: x86_64-linux-fedora33-release
optional: true
- - job: nightly-x86_64-linux-fedora33-perf
+ - job: nightly-x86_64-linux-fedora33-release
optional: true
- - job: release-x86_64-linux-fedora33-perf
+ - job: release-x86_64-linux-fedora33-release
optional: true
- job: source-tarball
tags:
@@ -525,7 +525,7 @@ hackage-doc-tarball:
- hackage_docs
before_script:
- tar -xf ghc-*[0-9]-src.tar.xz
- - tar -xf ghc-x86_64-linux-fedora33-perf.tar.xz -C ghc*/
+ - tar -xf ghc-x86_64-linux-fedora33-release.tar.xz -C ghc*/
script:
- cd ghc*/
- mv .gitlab/upload_ghc_libs.py .
@@ -600,13 +600,13 @@ test-bootstrap:
.hackage:
stage: testing
needs:
- - job: x86_64-linux-fedora33-perf
+ - job: x86_64-linux-fedora33-release
optional: true
artifacts: false
- - job: nightly-x86_64-linux-fedora33-perf
+ - job: nightly-x86_64-linux-fedora33-release
optional: true
artifacts: false
- - job: release-x86_64-linux-fedora33-perf
+ - job: release-x86_64-linux-fedora33-release
optional: true
artifacts: false
variables:
@@ -664,11 +664,11 @@ perf-nofib:
allow_failure: true
stage: testing
needs:
- - job: x86_64-linux-fedora33-perf
+ - job: x86_64-linux-fedora33-release
optional: true
- - job: nightly-x86_64-linux-fedora33-perf
+ - job: nightly-x86_64-linux-fedora33-release
optional: true
- - job: release-x86_64-linux-fedora33-perf
+ - job: release-x86_64-linux-fedora33-release
optional: true
image: "registry.gitlab.haskell.org/ghc/ci-images/x86_64-linux-fedora33:$DOCKER_REV"
rules:
@@ -684,7 +684,7 @@ perf-nofib:
- root=$(pwd)/ghc
- |
mkdir tmp
- tar -xf ../ghc-x86_64-linux-fedora33-perf.tar.xz -C tmp
+ tar -xf ../ghc-x86_64-linux-fedora33-release.tar.xz -C tmp
pushd tmp/ghc-*/
./configure --prefix=$root
make install
@@ -710,11 +710,11 @@ perf-nofib:
perf:
stage: testing
needs:
- - job: x86_64-linux-fedora33-perf
+ - job: x86_64-linux-fedora33-release
optional: true
- - job: nightly-x86_64-linux-fedora33-perf
+ - job: nightly-x86_64-linux-fedora33-release
optional: true
- - job: release-x86_64-linux-fedora33-perf
+ - job: release-x86_64-linux-fedora33-release
optional: true
dependencies: null
image: "registry.gitlab.haskell.org/ghc/ci-images/x86_64-linux-fedora33:$DOCKER_REV"
@@ -728,7 +728,7 @@ perf:
- root=$(pwd)/ghc
- |
mkdir tmp
- tar -xf ghc-x86_64-linux-fedora33-perf.tar.xz -C tmp
+ tar -xf ghc-x86_64-linux-fedora33-release.tar.xz -C tmp
pushd tmp/ghc-*/
./configure --prefix=$root
make install
diff --git a/.gitlab/gen_ci.hs b/.gitlab/gen_ci.hs
index f7f3084739..d6bff8e2da 100755
--- a/.gitlab/gen_ci.hs
+++ b/.gitlab/gen_ci.hs
@@ -140,7 +140,7 @@ data Flavour = Flavour BaseFlavour [FlavourTrans]
data FlavourTrans = Llvm | Dwarf | FullyStatic | ThreadSanitiser
-data BaseFlavour = Perf | Validate | SlowValidate
+data BaseFlavour = Release | Validate | SlowValidate
-----------------------------------------------------------------------------
-- Build Configs
@@ -170,8 +170,8 @@ dwarf = vanilla { withDwarf = True }
unreg :: BuildConfig
unreg = vanilla { unregisterised = True }
-perf :: BuildConfig
-perf = vanilla { buildFlavour = Perf }
+releaseConfig :: BuildConfig
+releaseConfig = vanilla { buildFlavour = Release }
debug :: BuildConfig
debug = vanilla { buildFlavour = SlowValidate
@@ -258,7 +258,7 @@ testEnv arch opsys bc = intercalate "-" $
flavourString :: Flavour -> String
flavourString (Flavour base trans) = baseString base ++ concatMap (("+" ++) . flavourString) trans
where
- baseString Perf = "perf"
+ baseString Release = "release"
baseString Validate = "validate"
baseString SlowValidate = "slow-validate"
@@ -660,7 +660,7 @@ nightly arch opsys bc =
-- | Make a normal release CI job
release arch opsys bc =
- let (n, j) = job arch opsys (bc { buildFlavour = Perf })
+ let (n, j) = job arch opsys (bc { buildFlavour = Release })
in ("release-" ++ n, addJobRule ReleaseOnly . keepArtifacts "1 year" . ignorePerfFailures . highCompression $ j)
-- Specific job modification functions
@@ -755,7 +755,7 @@ jobs = M.fromList $ concatMap flattenJobGroup $
, disableValidate (standardBuilds Amd64 (Linux Centos7))
-- Fedora33 job is always built with perf so there's one job in the normal
-- validate pipeline which is built with perf.
- , (standardBuildsWithConfig Amd64 (Linux Fedora33) perf)
+ , (standardBuildsWithConfig Amd64 (Linux Fedora33) releaseConfig)
, disableValidate (standardBuildsWithConfig Amd64 (Linux Fedora33) dwarf)
, fastCI (standardBuilds Amd64 Windows)
, disableValidate (standardBuildsWithConfig Amd64 Windows nativeInt)
diff --git a/.gitlab/jobs.yaml b/.gitlab/jobs.yaml
index 018d64e217..ed95507314 100644
--- a/.gitlab/jobs.yaml
+++ b/.gitlab/jobs.yaml
@@ -1379,7 +1379,7 @@
"XZ_OPT": "-9"
}
},
- "nightly-x86_64-linux-fedora33-perf": {
+ "nightly-x86_64-linux-fedora33-release": {
"after_script": [
".gitlab/ci.sh save_cache",
".gitlab/ci.sh clean",
@@ -1389,7 +1389,7 @@
"artifacts": {
"expire_in": "8 weeks",
"paths": [
- "ghc-x86_64-linux-fedora33-perf.tar.xz",
+ "ghc-x86_64-linux-fedora33-release.tar.xz",
"junit.xml"
],
"reports": {
@@ -1431,12 +1431,12 @@
],
"variables": {
"BIGNUM_BACKEND": "gmp",
- "BIN_DIST_NAME": "ghc-x86_64-linux-fedora33-perf",
- "BUILD_FLAVOUR": "perf",
+ "BIN_DIST_NAME": "ghc-x86_64-linux-fedora33-release",
+ "BUILD_FLAVOUR": "release",
"CONFIGURE_ARGS": "",
"LLC": "/bin/false",
"OPT": "/bin/false",
- "TEST_ENV": "x86_64-linux-fedora33-perf",
+ "TEST_ENV": "x86_64-linux-fedora33-release",
"XZ_OPT": "-9"
}
},
@@ -1678,7 +1678,7 @@
"XZ_OPT": "-9"
}
},
- "release-aarch64-darwin-perf": {
+ "release-aarch64-darwin-release": {
"after_script": [
".gitlab/ci.sh save_cache",
".gitlab/ci.sh clean",
@@ -1688,7 +1688,7 @@
"artifacts": {
"expire_in": "1 year",
"paths": [
- "ghc-aarch64-darwin-perf.tar.xz",
+ "ghc-aarch64-darwin-release.tar.xz",
"junit.xml"
],
"reports": {
@@ -1730,19 +1730,19 @@
],
"variables": {
"BIGNUM_BACKEND": "gmp",
- "BIN_DIST_NAME": "ghc-aarch64-darwin-perf",
- "BUILD_FLAVOUR": "perf",
+ "BIN_DIST_NAME": "ghc-aarch64-darwin-release",
+ "BUILD_FLAVOUR": "release",
"CONFIGURE_ARGS": "--with-intree-gmp --with-system-libffi ",
"HADRIAN_ARGS": "--docs=no-sphinx",
"IGNORE_PERF_FAILURES": "all",
"LANG": "en_US.UTF-8",
"MACOSX_DEPLOYMENT_TARGET": "11.0",
"NIX_SYSTEM": "aarch64-darwin",
- "TEST_ENV": "aarch64-darwin-perf",
+ "TEST_ENV": "aarch64-darwin-release",
"XZ_OPT": "-9"
}
},
- "release-aarch64-linux-deb10-perf": {
+ "release-aarch64-linux-deb10-release": {
"after_script": [
".gitlab/ci.sh save_cache",
".gitlab/ci.sh clean",
@@ -1752,7 +1752,7 @@
"artifacts": {
"expire_in": "1 year",
"paths": [
- "ghc-aarch64-linux-deb10-perf.tar.xz",
+ "ghc-aarch64-linux-deb10-release.tar.xz",
"junit.xml"
],
"reports": {
@@ -1794,15 +1794,15 @@
],
"variables": {
"BIGNUM_BACKEND": "gmp",
- "BIN_DIST_NAME": "ghc-aarch64-linux-deb10-perf",
- "BUILD_FLAVOUR": "perf",
+ "BIN_DIST_NAME": "ghc-aarch64-linux-deb10-release",
+ "BUILD_FLAVOUR": "release",
"CONFIGURE_ARGS": "",
"IGNORE_PERF_FAILURES": "all",
- "TEST_ENV": "aarch64-linux-deb10-perf",
+ "TEST_ENV": "aarch64-linux-deb10-release",
"XZ_OPT": "-9"
}
},
- "release-armv7-linux-deb10-perf": {
+ "release-armv7-linux-deb10-release": {
"after_script": [
".gitlab/ci.sh save_cache",
".gitlab/ci.sh clean",
@@ -1812,7 +1812,7 @@
"artifacts": {
"expire_in": "1 year",
"paths": [
- "ghc-armv7-linux-deb10-perf.tar.xz",
+ "ghc-armv7-linux-deb10-release.tar.xz",
"junit.xml"
],
"reports": {
@@ -1854,15 +1854,15 @@
],
"variables": {
"BIGNUM_BACKEND": "gmp",
- "BIN_DIST_NAME": "ghc-armv7-linux-deb10-perf",
- "BUILD_FLAVOUR": "perf",
+ "BIN_DIST_NAME": "ghc-armv7-linux-deb10-release",
+ "BUILD_FLAVOUR": "release",
"CONFIGURE_ARGS": "LD=ld.lld ",
"IGNORE_PERF_FAILURES": "all",
- "TEST_ENV": "armv7-linux-deb10-perf",
+ "TEST_ENV": "armv7-linux-deb10-release",
"XZ_OPT": "-9"
}
},
- "release-i386-linux-deb9-perf": {
+ "release-i386-linux-deb9-release": {
"after_script": [
".gitlab/ci.sh save_cache",
".gitlab/ci.sh clean",
@@ -1872,7 +1872,7 @@
"artifacts": {
"expire_in": "1 year",
"paths": [
- "ghc-i386-linux-deb9-perf.tar.xz",
+ "ghc-i386-linux-deb9-release.tar.xz",
"junit.xml"
],
"reports": {
@@ -1914,15 +1914,15 @@
],
"variables": {
"BIGNUM_BACKEND": "gmp",
- "BIN_DIST_NAME": "ghc-i386-linux-deb9-perf",
- "BUILD_FLAVOUR": "perf",
+ "BIN_DIST_NAME": "ghc-i386-linux-deb9-release",
+ "BUILD_FLAVOUR": "release",
"CONFIGURE_ARGS": "",
"IGNORE_PERF_FAILURES": "all",
- "TEST_ENV": "i386-linux-deb9-perf",
+ "TEST_ENV": "i386-linux-deb9-release",
"XZ_OPT": "-9"
}
},
- "release-x86_64-darwin-perf": {
+ "release-x86_64-darwin-release": {
"after_script": [
".gitlab/ci.sh save_cache",
".gitlab/ci.sh clean",
@@ -1932,7 +1932,7 @@
"artifacts": {
"expire_in": "1 year",
"paths": [
- "ghc-x86_64-darwin-perf.tar.xz",
+ "ghc-x86_64-darwin-release.tar.xz",
"junit.xml"
],
"reports": {
@@ -1974,21 +1974,21 @@
],
"variables": {
"BIGNUM_BACKEND": "gmp",
- "BIN_DIST_NAME": "ghc-x86_64-darwin-perf",
- "BUILD_FLAVOUR": "perf",
+ "BIN_DIST_NAME": "ghc-x86_64-darwin-release",
+ "BUILD_FLAVOUR": "release",
"CONFIGURE_ARGS": "--with-intree-gmp --with-system-libffi ",
"HADRIAN_ARGS": "--docs=no-sphinx",
"IGNORE_PERF_FAILURES": "all",
"LANG": "en_US.UTF-8",
"MACOSX_DEPLOYMENT_TARGET": "10.10",
"NIX_SYSTEM": "x86_64-darwin",
- "TEST_ENV": "x86_64-darwin-perf",
+ "TEST_ENV": "x86_64-darwin-release",
"XZ_OPT": "-9",
"ac_cv_func_clock_gettime": "no",
"ac_cv_func_utimensat": "no"
}
},
- "release-x86_64-freebsd-perf": {
+ "release-x86_64-freebsd-release": {
"after_script": [
".gitlab/ci.sh save_cache",
".gitlab/ci.sh clean",
@@ -1998,7 +1998,7 @@
"artifacts": {
"expire_in": "1 year",
"paths": [
- "ghc-x86_64-freebsd-perf.tar.xz",
+ "ghc-x86_64-freebsd-release.tar.xz",
"junit.xml"
],
"reports": {
@@ -2039,18 +2039,18 @@
],
"variables": {
"BIGNUM_BACKEND": "gmp",
- "BIN_DIST_NAME": "ghc-x86_64-freebsd-perf",
- "BUILD_FLAVOUR": "perf",
+ "BIN_DIST_NAME": "ghc-x86_64-freebsd-release",
+ "BUILD_FLAVOUR": "release",
"CABAL_INSTALL_VERSION": "3.2.0.0",
"CONFIGURE_ARGS": "--with-gmp-includes=/usr/local/include --with-gmp-libraries=/usr/local/lib --with-iconv-includes=/usr/local/include --with-iconv-libraries=/usr/local/lib ",
"GHC_VERSION": "9.2.2",
"HADRIAN_ARGS": "--docs=no-sphinx",
"IGNORE_PERF_FAILURES": "all",
- "TEST_ENV": "x86_64-freebsd-perf",
+ "TEST_ENV": "x86_64-freebsd-release",
"XZ_OPT": "-9"
}
},
- "release-x86_64-linux-alpine3_12-int_native-perf+fully_static": {
+ "release-x86_64-linux-alpine3_12-int_native-release+fully_static": {
"after_script": [
".gitlab/ci.sh save_cache",
".gitlab/ci.sh clean",
@@ -2060,7 +2060,7 @@
"artifacts": {
"expire_in": "1 year",
"paths": [
- "ghc-x86_64-linux-alpine3_12-int_native-perf+fully_static.tar.xz",
+ "ghc-x86_64-linux-alpine3_12-int_native-release+fully_static.tar.xz",
"junit.xml"
],
"reports": {
@@ -2102,18 +2102,18 @@
],
"variables": {
"BIGNUM_BACKEND": "native",
- "BIN_DIST_NAME": "ghc-x86_64-linux-alpine3_12-int_native-perf+fully_static",
+ "BIN_DIST_NAME": "ghc-x86_64-linux-alpine3_12-int_native-release+fully_static",
"BROKEN_TESTS": "encoding004 T10458 ghcilink002 linker_unload_native",
- "BUILD_FLAVOUR": "perf+fully_static",
+ "BUILD_FLAVOUR": "release+fully_static",
"CONFIGURE_ARGS": "--disable-ld-override ",
"HADRIAN_ARGS": "--docs=no-sphinx",
"IGNORE_PERF_FAILURES": "all",
"INSTALL_CONFIGURE_ARGS": "--disable-ld-override",
- "TEST_ENV": "x86_64-linux-alpine3_12-int_native-perf+fully_static",
+ "TEST_ENV": "x86_64-linux-alpine3_12-int_native-release+fully_static",
"XZ_OPT": "-9"
}
},
- "release-x86_64-linux-alpine3_12-perf+fully_static": {
+ "release-x86_64-linux-alpine3_12-release+fully_static": {
"after_script": [
".gitlab/ci.sh save_cache",
".gitlab/ci.sh clean",
@@ -2123,7 +2123,7 @@
"artifacts": {
"expire_in": "1 year",
"paths": [
- "ghc-x86_64-linux-alpine3_12-perf+fully_static.tar.xz",
+ "ghc-x86_64-linux-alpine3_12-release+fully_static.tar.xz",
"junit.xml"
],
"reports": {
@@ -2165,18 +2165,18 @@
],
"variables": {
"BIGNUM_BACKEND": "gmp",
- "BIN_DIST_NAME": "ghc-x86_64-linux-alpine3_12-perf+fully_static",
+ "BIN_DIST_NAME": "ghc-x86_64-linux-alpine3_12-release+fully_static",
"BROKEN_TESTS": "encoding004 T10458 ghcilink002 linker_unload_native",
- "BUILD_FLAVOUR": "perf+fully_static",
+ "BUILD_FLAVOUR": "release+fully_static",
"CONFIGURE_ARGS": "--disable-ld-override ",
"HADRIAN_ARGS": "--docs=no-sphinx",
"IGNORE_PERF_FAILURES": "all",
"INSTALL_CONFIGURE_ARGS": "--disable-ld-override",
- "TEST_ENV": "x86_64-linux-alpine3_12-perf+fully_static",
+ "TEST_ENV": "x86_64-linux-alpine3_12-release+fully_static",
"XZ_OPT": "-9"
}
},
- "release-x86_64-linux-centos7-perf": {
+ "release-x86_64-linux-centos7-release": {
"after_script": [
".gitlab/ci.sh save_cache",
".gitlab/ci.sh clean",
@@ -2186,7 +2186,7 @@
"artifacts": {
"expire_in": "1 year",
"paths": [
- "ghc-x86_64-linux-centos7-perf.tar.xz",
+ "ghc-x86_64-linux-centos7-release.tar.xz",
"junit.xml"
],
"reports": {
@@ -2228,16 +2228,16 @@
],
"variables": {
"BIGNUM_BACKEND": "gmp",
- "BIN_DIST_NAME": "ghc-x86_64-linux-centos7-perf",
- "BUILD_FLAVOUR": "perf",
+ "BIN_DIST_NAME": "ghc-x86_64-linux-centos7-release",
+ "BUILD_FLAVOUR": "release",
"CONFIGURE_ARGS": "",
"HADRIAN_ARGS": "--docs=no-sphinx",
"IGNORE_PERF_FAILURES": "all",
- "TEST_ENV": "x86_64-linux-centos7-perf",
+ "TEST_ENV": "x86_64-linux-centos7-release",
"XZ_OPT": "-9"
}
},
- "release-x86_64-linux-deb10-perf": {
+ "release-x86_64-linux-deb10-release": {
"after_script": [
".gitlab/ci.sh save_cache",
".gitlab/ci.sh clean",
@@ -2247,7 +2247,7 @@
"artifacts": {
"expire_in": "1 year",
"paths": [
- "ghc-x86_64-linux-deb10-perf.tar.xz",
+ "ghc-x86_64-linux-deb10-release.tar.xz",
"junit.xml"
],
"reports": {
@@ -2289,15 +2289,15 @@
],
"variables": {
"BIGNUM_BACKEND": "gmp",
- "BIN_DIST_NAME": "ghc-x86_64-linux-deb10-perf",
- "BUILD_FLAVOUR": "perf",
+ "BIN_DIST_NAME": "ghc-x86_64-linux-deb10-release",
+ "BUILD_FLAVOUR": "release",
"CONFIGURE_ARGS": "",
"IGNORE_PERF_FAILURES": "all",
- "TEST_ENV": "x86_64-linux-deb10-perf",
+ "TEST_ENV": "x86_64-linux-deb10-release",
"XZ_OPT": "-9"
}
},
- "release-x86_64-linux-deb10-perf+debug_info": {
+ "release-x86_64-linux-deb10-release+debug_info": {
"after_script": [
".gitlab/ci.sh save_cache",
".gitlab/ci.sh clean",
@@ -2307,7 +2307,7 @@
"artifacts": {
"expire_in": "1 year",
"paths": [
- "ghc-x86_64-linux-deb10-perf+debug_info.tar.xz",
+ "ghc-x86_64-linux-deb10-release+debug_info.tar.xz",
"junit.xml"
],
"reports": {
@@ -2349,15 +2349,15 @@
],
"variables": {
"BIGNUM_BACKEND": "gmp",
- "BIN_DIST_NAME": "ghc-x86_64-linux-deb10-perf+debug_info",
- "BUILD_FLAVOUR": "perf+debug_info",
+ "BIN_DIST_NAME": "ghc-x86_64-linux-deb10-release+debug_info",
+ "BUILD_FLAVOUR": "release+debug_info",
"CONFIGURE_ARGS": "",
"IGNORE_PERF_FAILURES": "all",
- "TEST_ENV": "x86_64-linux-deb10-perf+debug_info",
+ "TEST_ENV": "x86_64-linux-deb10-release+debug_info",
"XZ_OPT": "-9"
}
},
- "release-x86_64-linux-deb11-perf": {
+ "release-x86_64-linux-deb11-release": {
"after_script": [
".gitlab/ci.sh save_cache",
".gitlab/ci.sh clean",
@@ -2367,7 +2367,7 @@
"artifacts": {
"expire_in": "1 year",
"paths": [
- "ghc-x86_64-linux-deb11-perf.tar.xz",
+ "ghc-x86_64-linux-deb11-release.tar.xz",
"junit.xml"
],
"reports": {
@@ -2409,15 +2409,15 @@
],
"variables": {
"BIGNUM_BACKEND": "gmp",
- "BIN_DIST_NAME": "ghc-x86_64-linux-deb11-perf",
- "BUILD_FLAVOUR": "perf",
+ "BIN_DIST_NAME": "ghc-x86_64-linux-deb11-release",
+ "BUILD_FLAVOUR": "release",
"CONFIGURE_ARGS": "",
"IGNORE_PERF_FAILURES": "all",
- "TEST_ENV": "x86_64-linux-deb11-perf",
+ "TEST_ENV": "x86_64-linux-deb11-release",
"XZ_OPT": "-9"
}
},
- "release-x86_64-linux-deb9-perf": {
+ "release-x86_64-linux-deb9-release": {
"after_script": [
".gitlab/ci.sh save_cache",
".gitlab/ci.sh clean",
@@ -2427,7 +2427,7 @@
"artifacts": {
"expire_in": "1 year",
"paths": [
- "ghc-x86_64-linux-deb9-perf.tar.xz",
+ "ghc-x86_64-linux-deb9-release.tar.xz",
"junit.xml"
],
"reports": {
@@ -2469,15 +2469,15 @@
],
"variables": {
"BIGNUM_BACKEND": "gmp",
- "BIN_DIST_NAME": "ghc-x86_64-linux-deb9-perf",
- "BUILD_FLAVOUR": "perf",
+ "BIN_DIST_NAME": "ghc-x86_64-linux-deb9-release",
+ "BUILD_FLAVOUR": "release",
"CONFIGURE_ARGS": "",
"IGNORE_PERF_FAILURES": "all",
- "TEST_ENV": "x86_64-linux-deb9-perf",
+ "TEST_ENV": "x86_64-linux-deb9-release",
"XZ_OPT": "-9"
}
},
- "release-x86_64-linux-fedora33-perf": {
+ "release-x86_64-linux-fedora33-release": {
"after_script": [
".gitlab/ci.sh save_cache",
".gitlab/ci.sh clean",
@@ -2487,7 +2487,7 @@
"artifacts": {
"expire_in": "1 year",
"paths": [
- "ghc-x86_64-linux-fedora33-perf.tar.xz",
+ "ghc-x86_64-linux-fedora33-release.tar.xz",
"junit.xml"
],
"reports": {
@@ -2529,17 +2529,17 @@
],
"variables": {
"BIGNUM_BACKEND": "gmp",
- "BIN_DIST_NAME": "ghc-x86_64-linux-fedora33-perf",
- "BUILD_FLAVOUR": "perf",
+ "BIN_DIST_NAME": "ghc-x86_64-linux-fedora33-release",
+ "BUILD_FLAVOUR": "release",
"CONFIGURE_ARGS": "",
"IGNORE_PERF_FAILURES": "all",
"LLC": "/bin/false",
"OPT": "/bin/false",
- "TEST_ENV": "x86_64-linux-fedora33-perf",
+ "TEST_ENV": "x86_64-linux-fedora33-release",
"XZ_OPT": "-9"
}
},
- "release-x86_64-linux-fedora33-perf+debug_info": {
+ "release-x86_64-linux-fedora33-release+debug_info": {
"after_script": [
".gitlab/ci.sh save_cache",
".gitlab/ci.sh clean",
@@ -2549,7 +2549,7 @@
"artifacts": {
"expire_in": "1 year",
"paths": [
- "ghc-x86_64-linux-fedora33-perf+debug_info.tar.xz",
+ "ghc-x86_64-linux-fedora33-release+debug_info.tar.xz",
"junit.xml"
],
"reports": {
@@ -2591,17 +2591,17 @@
],
"variables": {
"BIGNUM_BACKEND": "gmp",
- "BIN_DIST_NAME": "ghc-x86_64-linux-fedora33-perf+debug_info",
- "BUILD_FLAVOUR": "perf+debug_info",
+ "BIN_DIST_NAME": "ghc-x86_64-linux-fedora33-release+debug_info",
+ "BUILD_FLAVOUR": "release+debug_info",
"CONFIGURE_ARGS": "",
"IGNORE_PERF_FAILURES": "all",
"LLC": "/bin/false",
"OPT": "/bin/false",
- "TEST_ENV": "x86_64-linux-fedora33-perf+debug_info",
+ "TEST_ENV": "x86_64-linux-fedora33-release+debug_info",
"XZ_OPT": "-9"
}
},
- "release-x86_64-linux-ubuntu20_04-perf": {
+ "release-x86_64-linux-ubuntu20_04-release": {
"after_script": [
".gitlab/ci.sh save_cache",
".gitlab/ci.sh clean",
@@ -2611,7 +2611,7 @@
"artifacts": {
"expire_in": "1 year",
"paths": [
- "ghc-x86_64-linux-ubuntu20_04-perf.tar.xz",
+ "ghc-x86_64-linux-ubuntu20_04-release.tar.xz",
"junit.xml"
],
"reports": {
@@ -2653,15 +2653,15 @@
],
"variables": {
"BIGNUM_BACKEND": "gmp",
- "BIN_DIST_NAME": "ghc-x86_64-linux-ubuntu20_04-perf",
- "BUILD_FLAVOUR": "perf",
+ "BIN_DIST_NAME": "ghc-x86_64-linux-ubuntu20_04-release",
+ "BUILD_FLAVOUR": "release",
"CONFIGURE_ARGS": "",
"IGNORE_PERF_FAILURES": "all",
- "TEST_ENV": "x86_64-linux-ubuntu20_04-perf",
+ "TEST_ENV": "x86_64-linux-ubuntu20_04-release",
"XZ_OPT": "-9"
}
},
- "release-x86_64-windows-int_native-perf": {
+ "release-x86_64-windows-int_native-release": {
"after_script": [
"bash .gitlab/ci.sh save_cache",
"bash .gitlab/ci.sh clean"
@@ -2670,7 +2670,7 @@
"artifacts": {
"expire_in": "1 year",
"paths": [
- "ghc-x86_64-windows-int_native-perf.tar.xz",
+ "ghc-x86_64-windows-int_native-release.tar.xz",
"junit.xml"
],
"reports": {
@@ -2708,8 +2708,8 @@
],
"variables": {
"BIGNUM_BACKEND": "native",
- "BIN_DIST_NAME": "ghc-x86_64-windows-int_native-perf",
- "BUILD_FLAVOUR": "perf",
+ "BIN_DIST_NAME": "ghc-x86_64-windows-int_native-release",
+ "BUILD_FLAVOUR": "release",
"CABAL_INSTALL_VERSION": "3.2.0.0",
"CONFIGURE_ARGS": "",
"GHC_VERSION": "9.2.2",
@@ -2717,11 +2717,11 @@
"IGNORE_PERF_FAILURES": "all",
"LANG": "en_US.UTF-8",
"MSYSTEM": "MINGW64",
- "TEST_ENV": "x86_64-windows-int_native-perf",
+ "TEST_ENV": "x86_64-windows-int_native-release",
"XZ_OPT": "-9"
}
},
- "release-x86_64-windows-perf": {
+ "release-x86_64-windows-release": {
"after_script": [
"bash .gitlab/ci.sh save_cache",
"bash .gitlab/ci.sh clean"
@@ -2730,7 +2730,7 @@
"artifacts": {
"expire_in": "1 year",
"paths": [
- "ghc-x86_64-windows-perf.tar.xz",
+ "ghc-x86_64-windows-release.tar.xz",
"junit.xml"
],
"reports": {
@@ -2768,8 +2768,8 @@
],
"variables": {
"BIGNUM_BACKEND": "gmp",
- "BIN_DIST_NAME": "ghc-x86_64-windows-perf",
- "BUILD_FLAVOUR": "perf",
+ "BIN_DIST_NAME": "ghc-x86_64-windows-release",
+ "BUILD_FLAVOUR": "release",
"CABAL_INSTALL_VERSION": "3.2.0.0",
"CONFIGURE_ARGS": "",
"GHC_VERSION": "9.2.2",
@@ -2777,7 +2777,7 @@
"IGNORE_PERF_FAILURES": "all",
"LANG": "en_US.UTF-8",
"MSYSTEM": "MINGW64",
- "TEST_ENV": "x86_64-windows-perf",
+ "TEST_ENV": "x86_64-windows-release",
"XZ_OPT": "-9"
}
},
@@ -3671,7 +3671,7 @@
"TEST_ENV": "x86_64-linux-deb9-validate"
}
},
- "x86_64-linux-fedora33-perf": {
+ "x86_64-linux-fedora33-release": {
"after_script": [
".gitlab/ci.sh save_cache",
".gitlab/ci.sh clean",
@@ -3681,7 +3681,7 @@
"artifacts": {
"expire_in": "2 weeks",
"paths": [
- "ghc-x86_64-linux-fedora33-perf.tar.xz",
+ "ghc-x86_64-linux-fedora33-release.tar.xz",
"junit.xml"
],
"reports": {
@@ -3723,12 +3723,12 @@
],
"variables": {
"BIGNUM_BACKEND": "gmp",
- "BIN_DIST_NAME": "ghc-x86_64-linux-fedora33-perf",
- "BUILD_FLAVOUR": "perf",
+ "BIN_DIST_NAME": "ghc-x86_64-linux-fedora33-release",
+ "BUILD_FLAVOUR": "release",
"CONFIGURE_ARGS": "",
"LLC": "/bin/false",
"OPT": "/bin/false",
- "TEST_ENV": "x86_64-linux-fedora33-perf"
+ "TEST_ENV": "x86_64-linux-fedora33-release"
}
},
"x86_64-linux-fedora33-validate+debug_info": {
diff --git a/hadrian/doc/flavours.md b/hadrian/doc/flavours.md
index 3ef7ac5a3a..4f58ba6d09 100644
--- a/hadrian/doc/flavours.md
+++ b/hadrian/doc/flavours.md
@@ -100,6 +100,18 @@ when compiling the `compiler` library, and `hsGhc` when compiling/linking the GH
<td>-O2</td>
</tr>
<tr>
+ <th>release (same as perf with -haddock)</td>
+ <td> Yes (on supported platforms) </td>
+ <td>-O<br>-H64m</td>
+ <td>-O<br>-H64m</td>
+ <td></td>
+ <td>-O2</td>
+ <td>-O2</td>
+ <td>-O2</td>
+ <td>-O</td>
+ <td>-O2</td>
+ </tr>
+ <tr>
<th>bench</td>
<td>-O<br>-H64m</td>
<td>-O<br>-H64m</td>
diff --git a/hadrian/hadrian.cabal b/hadrian/hadrian.cabal
index e181615d13..7ddacb4b9b 100644
--- a/hadrian/hadrian.cabal
+++ b/hadrian/hadrian.cabal
@@ -117,6 +117,7 @@ executable hadrian
, Settings.Flavours.QuickCross
, Settings.Flavours.Quickest
, Settings.Flavours.Validate
+ , Settings.Flavours.Release
, Settings.Packages
, Settings.Parser
, Settings.Program
diff --git a/hadrian/src/Flavour.hs b/hadrian/src/Flavour.hs
index f0ebacd7f2..f5c20163e6 100644
--- a/hadrian/src/Flavour.hs
+++ b/hadrian/src/Flavour.hs
@@ -12,6 +12,7 @@ module Flavour
, enableProfiledGhc
, disableDynamicGhcPrograms
, disableProfiledLibs
+ , enableHaddock
, completeSetting
, applySettings
@@ -49,6 +50,7 @@ flavourTransformers = M.fromList
, "fully_static" =: fullyStatic
, "collect_timings" =: collectTimings
, "assertions" =: enableAssertions
+ , "haddock" =: enableHaddock
]
where (=:) = (,)
@@ -127,6 +129,17 @@ enableTickyGhc =
, arg "-ddump-stg-final"
]
+-- | Enable Core, STG, and C-- linting in all compilations with the stage1 compiler.
+enableHaddock :: Flavour -> Flavour
+enableHaddock =
+ addArgs $ stage1 ? mconcat
+ [ builder (Ghc CompileHs) ? haddock
+ ]
+ where
+ haddock = mconcat
+ [ arg "-haddock"
+ ]
+
-- | Transform the input 'Flavour' so as to build with
-- @-split-sections@ whenever appropriate. You can
-- select which package gets built with split sections
@@ -227,7 +240,7 @@ fullyStatic flavour =
where
-- Remove any Way that contains a WayUnit of Dynamic
prune :: Ways -> Ways
- prune = fmap $ filter staticCompatible
+ prune = fmap $ Set.filter staticCompatible
staticCompatible :: Way -> Bool
staticCompatible = not . wayUnit Dynamic
diff --git a/hadrian/src/Settings.hs b/hadrian/src/Settings.hs
index 50ef988036..6b756c21ae 100755
--- a/hadrian/src/Settings.hs
+++ b/hadrian/src/Settings.hs
@@ -22,6 +22,7 @@ import Settings.Flavours.Quick
import Settings.Flavours.Quickest
import Settings.Flavours.QuickCross
import Settings.Flavours.Validate
+import Settings.Flavours.Release
getArgs :: Args
@@ -52,6 +53,7 @@ hadrianFlavours :: [Flavour]
hadrianFlavours =
[ benchmarkFlavour, defaultFlavour, developmentFlavour Stage1
, developmentFlavour Stage2, performanceFlavour
+ , releaseFlavour
, quickFlavour, quickValidateFlavour, quickDebugFlavour
, quickestFlavour
, quickCrossFlavour
diff --git a/hadrian/src/Settings/Flavours/Release.hs b/hadrian/src/Settings/Flavours/Release.hs
new file mode 100644
index 0000000000..2f3daadae1
--- /dev/null
+++ b/hadrian/src/Settings/Flavours/Release.hs
@@ -0,0 +1,7 @@
+module Settings.Flavours.Release where
+
+import Settings.Flavours.Performance
+import Flavour
+
+releaseFlavour :: Flavour
+releaseFlavour = enableHaddock performanceFlavour { name = "release" }