summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatthew Pickering <matthewtpickering@gmail.com>2022-05-12 16:18:47 +0100
committerMarge Bot <ben+marge-bot@smart-cactus.org>2022-05-19 04:58:27 -0400
commit297156e0b8053a28a860e7a18e1816207a59547b (patch)
tree504bf2407a6dff960236aed5672e0a0e79f0ae90
parent3dd2f944428596227590f5f15d3a47c0de1cc5c3 (diff)
downloadhaskell-297156e0b8053a28a860e7a18e1816207a59547b.tar.gz
Add release flavour and use it for the release jobs
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
-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.hs13
-rwxr-xr-xhadrian/src/Settings.hs2
-rw-r--r--hadrian/src/Settings/Flavours/Release.hs7
8 files changed, 161 insertions, 126 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 4d90954a6c..7259819576 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"
@@ -657,7 +657,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
@@ -752,7 +752,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 bbf941a17d..c6217421c4 100644
--- a/.gitlab/jobs.yaml
+++ b/.gitlab/jobs.yaml
@@ -1378,7 +1378,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",
@@ -1388,7 +1388,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": {
@@ -1430,12 +1430,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"
}
},
@@ -1677,7 +1677,7 @@
"XZ_OPT": "-9"
}
},
- "release-aarch64-darwin-perf": {
+ "release-aarch64-darwin-release": {
"after_script": [
".gitlab/ci.sh save_cache",
".gitlab/ci.sh clean",
@@ -1687,7 +1687,7 @@
"artifacts": {
"expire_in": "1 year",
"paths": [
- "ghc-aarch64-darwin-perf.tar.xz",
+ "ghc-aarch64-darwin-release.tar.xz",
"junit.xml"
],
"reports": {
@@ -1729,19 +1729,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",
@@ -1751,7 +1751,7 @@
"artifacts": {
"expire_in": "1 year",
"paths": [
- "ghc-aarch64-linux-deb10-perf.tar.xz",
+ "ghc-aarch64-linux-deb10-release.tar.xz",
"junit.xml"
],
"reports": {
@@ -1793,15 +1793,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",
@@ -1811,7 +1811,7 @@
"artifacts": {
"expire_in": "1 year",
"paths": [
- "ghc-armv7-linux-deb10-perf.tar.xz",
+ "ghc-armv7-linux-deb10-release.tar.xz",
"junit.xml"
],
"reports": {
@@ -1853,15 +1853,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",
@@ -1871,7 +1871,7 @@
"artifacts": {
"expire_in": "1 year",
"paths": [
- "ghc-i386-linux-deb9-perf.tar.xz",
+ "ghc-i386-linux-deb9-release.tar.xz",
"junit.xml"
],
"reports": {
@@ -1913,15 +1913,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",
@@ -1931,7 +1931,7 @@
"artifacts": {
"expire_in": "1 year",
"paths": [
- "ghc-x86_64-darwin-perf.tar.xz",
+ "ghc-x86_64-darwin-release.tar.xz",
"junit.xml"
],
"reports": {
@@ -1973,21 +1973,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",
@@ -1997,7 +1997,7 @@
"artifacts": {
"expire_in": "1 year",
"paths": [
- "ghc-x86_64-freebsd-perf.tar.xz",
+ "ghc-x86_64-freebsd-release.tar.xz",
"junit.xml"
],
"reports": {
@@ -2038,18 +2038,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",
@@ -2059,7 +2059,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": {
@@ -2101,18 +2101,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",
@@ -2122,7 +2122,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": {
@@ -2164,18 +2164,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",
@@ -2185,7 +2185,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": {
@@ -2227,15 +2227,15 @@
],
"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": "",
"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",
@@ -2245,7 +2245,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": {
@@ -2287,15 +2287,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",
@@ -2305,7 +2305,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": {
@@ -2347,15 +2347,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",
@@ -2365,7 +2365,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": {
@@ -2407,15 +2407,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",
@@ -2425,7 +2425,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": {
@@ -2467,15 +2467,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",
@@ -2485,7 +2485,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": {
@@ -2527,17 +2527,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",
@@ -2547,7 +2547,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": {
@@ -2589,17 +2589,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",
@@ -2609,7 +2609,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": {
@@ -2651,15 +2651,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"
@@ -2668,7 +2668,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": {
@@ -2706,8 +2706,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",
@@ -2715,11 +2715,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"
@@ -2728,7 +2728,7 @@
"artifacts": {
"expire_in": "1 year",
"paths": [
- "ghc-x86_64-windows-perf.tar.xz",
+ "ghc-x86_64-windows-release.tar.xz",
"junit.xml"
],
"reports": {
@@ -2766,8 +2766,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",
@@ -2775,7 +2775,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"
}
},
@@ -3668,7 +3668,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",
@@ -3678,7 +3678,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": {
@@ -3720,12 +3720,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 ad80962dbf..609be65e3e 100644
--- a/hadrian/doc/flavours.md
+++ b/hadrian/doc/flavours.md
@@ -107,6 +107,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></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 f63adc1ae0..3b5944c6c3 100644
--- a/hadrian/src/Flavour.hs
+++ b/hadrian/src/Flavour.hs
@@ -13,6 +13,7 @@ module Flavour
, disableDynamicGhcPrograms
, disableProfiledLibs
, enableLinting
+ , enableHaddock
, completeSetting
, applySettings
@@ -54,6 +55,7 @@ flavourTransformers = M.fromList
, "debug_ghc" =: debugGhc Stage1
, "debug_stage1_ghc" =: debugGhc Stage0
, "lint" =: enableLinting
+ , "haddock" =: enableHaddock
]
where (=:) = (,)
@@ -145,6 +147,17 @@ enableLinting =
-- Should be -dlint but currently -dcmm-lint fails due to #21563
]
+-- | 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
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" }