Magnus pushed to branch wip/mangoiv/ci-stages at Glasgow Haskell Compiler / GHC
Commits:
-
1c58ba12
by mangoiv at 2026-08-07T16:12:44+02:00
2 changed files:
Changes:
| ... | ... | @@ -12,6 +12,7 @@ |
| 12 | 12 | {-# HLINT ignore "Use camelCase" #-}
|
| 13 | 13 | {-# LANGUAGE DerivingStrategies #-}
|
| 14 | 14 | {-# LANGUAGE NamedFieldPuns #-}
|
| 15 | +{-# LANGUAGE TypeFamilies #-}
|
|
| 15 | 16 | |
| 16 | 17 | import Data.Aeson as A
|
| 17 | 18 | import qualified Data.Map as Map
|
| ... | ... | @@ -174,6 +175,7 @@ data BuildConfig |
| 174 | 175 | , textWithSIMDUTF :: Bool
|
| 175 | 176 | , testsuiteUsePerf :: Bool
|
| 176 | 177 | , testsuiteWays :: [String]
|
| 178 | + , extendName :: Maybe String
|
|
| 177 | 179 | }
|
| 178 | 180 | |
| 179 | 181 | -- Extra arguments to pass to ./configure due to the BuildConfig
|
| ... | ... | @@ -244,6 +246,7 @@ vanilla = BuildConfig |
| 244 | 246 | , textWithSIMDUTF = False
|
| 245 | 247 | , testsuiteUsePerf = False
|
| 246 | 248 | , testsuiteWays = []
|
| 249 | + , extendName = Nothing
|
|
| 247 | 250 | }
|
| 248 | 251 | |
| 249 | 252 | splitSectionsBroken :: BuildConfig -> BuildConfig
|
| ... | ... | @@ -842,13 +845,22 @@ job :: Arch -> Opsys -> BuildConfig -> BuildAndTestJob Job |
| 842 | 845 | job arch opsys buildConfig =
|
| 843 | 846 | MkBuildAndTestJob
|
| 844 | 847 | { buildJob = NamedJob { name = jobName, jobInfo = Job { jobScript = jobBuildScript, jobStage = "full-build", jobNeeds = [("hadrian-ghc-in-ghci", False)], ..} }
|
| 845 | - , testJob = NamedJob { name = jobName <> "-test", jobInfo = Job {jobScript = jobTestScript, jobNeeds = [(jobName, True)], jobStage = "testing", ..}} }
|
|
| 848 | + , testJobs =
|
|
| 849 | + NamedJob { name = jobName <> "-test", jobInfo = testJobInfo } :
|
|
| 850 | + [ NamedJob
|
|
| 851 | + { name = jobName <> "-testperf"
|
|
| 852 | + , jobInfo = testJobInfo
|
|
| 853 | + { jobVariables = testJobInfo.jobVariables <> "RUNTEST_ARGS" =: "--config perf_path=perf"
|
|
| 854 | + , jobTags = [runnerPerfTag arch opsys]
|
|
| 855 | + } }
|
|
| 856 | + | testsuiteUsePerf buildConfig ] }
|
|
| 846 | 857 | where
|
| 858 | + testJobInfo = Job {jobScript = jobTestScript, jobNeeds = [(jobName, True)], jobStage = "testing", ..}
|
|
| 847 | 859 | jobPlatform = (arch, opsys)
|
| 848 | 860 | |
| 849 | 861 | jobRules = emptyRules jobName
|
| 850 | 862 | |
| 851 | - jobName = testEnv arch opsys buildConfig
|
|
| 863 | + jobName = testEnv arch opsys buildConfig <> maybe "" ("-" <>) (extendName buildConfig)
|
|
| 852 | 864 | |
| 853 | 865 | jobTags = tags arch opsys buildConfig
|
| 854 | 866 | |
| ... | ... | @@ -927,7 +939,6 @@ job arch opsys buildConfig = |
| 927 | 939 | | validateNonmovingGc buildConfig
|
| 928 | 940 | ]
|
| 929 | 941 | in "RUNTEST_ARGS" =: (trim . unwords) runtestArgs
|
| 930 | - , if testsuiteUsePerf buildConfig then "RUNTEST_ARGS" =: "--config perf_path=perf" else mempty
|
|
| 931 | 942 | , "TEST_WAYS" =: unwords (testsuiteWays buildConfig)
|
| 932 | 943 | ]
|
| 933 | 944 | |
| ... | ... | @@ -1021,26 +1032,26 @@ releaseRule = setJobRule ReleaseOnly |
| 1021 | 1032 | -- | Make a normal nightly CI job
|
| 1022 | 1033 | nightly :: Arch -> Opsys -> BuildConfig -> BuildAndTestJob Job
|
| 1023 | 1034 | nightly arch opsys bc =
|
| 1024 | - let MkBuildAndTestJob {buildJob, testJob} = job arch opsys bc
|
|
| 1035 | + let MkBuildAndTestJob {buildJob, testJobs} = job arch opsys bc
|
|
| 1025 | 1036 | mkJob (NamedJob n j)
|
| 1026 | 1037 | = NamedJob { name = "nightly-" ++ n
|
| 1027 | 1038 | , jobInfo = nightlyRule
|
| 1028 | 1039 | . keepArtifacts "8 weeks"
|
| 1029 | 1040 | . highCompression $ j
|
| 1030 | 1041 | }
|
| 1031 | - in MkBuildAndTestJob { buildJob = mkJob buildJob, testJob = mkJob testJob}
|
|
| 1042 | + in MkBuildAndTestJob { buildJob = mkJob buildJob, testJobs = map mkJob testJobs}
|
|
| 1032 | 1043 | |
| 1033 | 1044 | -- | Make a normal release CI job
|
| 1034 | 1045 | release :: Arch -> Opsys -> BuildConfig -> BuildAndTestJob Job
|
| 1035 | 1046 | release arch opsys bc =
|
| 1036 | - let MkBuildAndTestJob {buildJob, testJob} = job arch opsys (bc { buildFlavour = Release })
|
|
| 1047 | + let MkBuildAndTestJob {buildJob, testJobs} = job arch opsys (bc { buildFlavour = Release })
|
|
| 1037 | 1048 | mkJob (NamedJob n j) = NamedJob { name = "release-" ++ n
|
| 1038 | 1049 | , jobInfo = releaseRule
|
| 1039 | 1050 | . keepArtifacts "1 year"
|
| 1040 | 1051 | . ignorePerfFailures
|
| 1041 | 1052 | . highCompression $ j
|
| 1042 | 1053 | }
|
| 1043 | - in MkBuildAndTestJob {buildJob = mkJob buildJob, testJob = mkJob testJob}
|
|
| 1054 | + in MkBuildAndTestJob {buildJob = mkJob buildJob, testJobs = map mkJob testJobs}
|
|
| 1044 | 1055 | ---------------------------------------------------------------------
|
| 1045 | 1056 | -- Specific job modification functions
|
| 1046 | 1057 | ---------------------------------------------------------------------
|
| ... | ... | @@ -1066,11 +1077,6 @@ ignorePerfFailures = addVariable "IGNORE_PERF_FAILURES" "all" |
| 1066 | 1077 | highCompression :: Job -> Job
|
| 1067 | 1078 | highCompression = addVariable "XZ_OPT" "-9"
|
| 1068 | 1079 | |
| 1069 | --- | Change the tag of the job to make sure the job is scheduled on a
|
|
| 1070 | --- runner that has the necessary capabilties to run the job with 'perf'
|
|
| 1071 | --- profiling counters.
|
|
| 1072 | -perfProfilingJobTag :: Arch -> Opsys -> Job -> Job
|
|
| 1073 | -perfProfilingJobTag arch opsys j = j { jobTags = [ runnerPerfTag arch opsys ] }
|
|
| 1074 | 1080 | |
| 1075 | 1081 | -- | Mark the validate job to run in fast-ci mode
|
| 1076 | 1082 | -- This is default way, to enable all jobs you have to apply the `full-ci` label.
|
| ... | ... | @@ -1103,12 +1109,9 @@ disableValidate = modifyValidateJobs (removeValidateJobRule FastCI . removeValid |
| 1103 | 1109 | |
| 1104 | 1110 | data NamedJob a = NamedJob { name :: String, jobInfo :: a } deriving (Show, Functor)
|
| 1105 | 1111 | |
| 1106 | -data BuildAndTestJob a = MkBuildAndTestJob { buildJob :: NamedJob a, testJob :: NamedJob a}
|
|
| 1112 | +data BuildAndTestJob a = MkBuildAndTestJob { buildJob :: NamedJob a, testJobs :: [NamedJob a]}
|
|
| 1107 | 1113 | deriving stock (Show, Functor)
|
| 1108 | 1114 | |
| 1109 | -renameJob :: (String -> String) -> BuildAndTestJob a -> BuildAndTestJob a
|
|
| 1110 | -renameJob f MkBuildAndTestJob { buildJob = NamedJob n i, testJob = NamedJob n' i'} = MkBuildAndTestJob (NamedJob (f n) i) (NamedJob (f n') i')
|
|
| 1111 | - |
|
| 1112 | 1115 | instance ToJSON a => ToJSON (NamedJob a) where
|
| 1113 | 1116 | toJSON nj = object
|
| 1114 | 1117 | [ "name" A..= name nj
|
| ... | ... | @@ -1134,11 +1137,8 @@ instance ToJSON a => ToJSON (JobGroup a) where |
| 1134 | 1137 | , "r" .= r ]
|
| 1135 | 1138 | |
| 1136 | 1139 | instance ToJSON a => ToJSON (BuildAndTestJob a) where
|
| 1137 | - toJSON MkBuildAndTestJob {buildJob, testJob} =
|
|
| 1138 | - object [ "build" .= buildJob, "test" .= testJob ]
|
|
| 1139 | - |
|
| 1140 | -rename :: (String -> String) -> JobGroup a -> JobGroup a
|
|
| 1141 | -rename f (StandardTriple nv nn nr) = StandardTriple (renameJob f <$> nv) (renameJob f <$> nn) (renameJob f <$> nr)
|
|
| 1140 | + toJSON MkBuildAndTestJob {buildJob, testJobs} =
|
|
| 1141 | + object [ "build" .= buildJob, "test" .= testJobs ]
|
|
| 1142 | 1142 | |
| 1143 | 1143 | -- | Construct a 'JobGroup' which consists of a validate, nightly and release build with
|
| 1144 | 1144 | -- a specific config.
|
| ... | ... | @@ -1164,7 +1164,7 @@ flattenJobGroup :: JobGroup a -> [(String, a)] |
| 1164 | 1164 | flattenJobGroup (StandardTriple a b c) = concatMap flattenNamedJob (catMaybes [a,b,c])
|
| 1165 | 1165 | |
| 1166 | 1166 | flattenNamedJob :: BuildAndTestJob a -> [(String, a)]
|
| 1167 | -flattenNamedJob MkBuildAndTestJob {buildJob, testJob} = [(buildJob.name, buildJob.jobInfo), (testJob.name, testJob.jobInfo)]
|
|
| 1167 | +flattenNamedJob MkBuildAndTestJob {buildJob, testJobs} = (buildJob.name, buildJob.jobInfo) : map (\NamedJob {name, jobInfo} -> (name, jobInfo)) testJobs
|
|
| 1168 | 1168 | |
| 1169 | 1169 | -- | Specification for all the jobs we want to build.
|
| 1170 | 1170 | jobs :: Map String Job
|
| ... | ... | @@ -1191,8 +1191,9 @@ debian_x86 = |
| 1191 | 1191 | , modifyNightlyJobs allowFailure (modifyValidateJobs (allowFailure . manual) tsan_jobs)
|
| 1192 | 1192 | , -- Nightly allowed to fail: #22343
|
| 1193 | 1193 | modifyNightlyJobs allowFailure (modifyValidateJobs manual (validateBuilds Amd64 (Linux validate_debian) noTntc))
|
| 1194 | + |
|
| 1194 | 1195 | -- Run the 'perf' profiling nightly job in the release config.
|
| 1195 | - , perfProfilingJob Amd64 (Linux Debian13) releaseConfig
|
|
| 1196 | + , disableValidate (validateBuilds Amd64 (Linux validate_debian) (usePerfProfilingTestsuite releaseConfig))
|
|
| 1196 | 1197 | |
| 1197 | 1198 | , onlyRule LLVMBackend (validateBuilds Amd64 (Linux validate_debian) llvm)
|
| 1198 | 1199 | , addValidateRule TestPrimops (standardBuilds Amd64 (Linux validate_debian))
|
| ... | ... | @@ -1203,12 +1204,6 @@ debian_x86 = |
| 1203 | 1204 | where
|
| 1204 | 1205 | validate_debian = Debian13
|
| 1205 | 1206 | |
| 1206 | - perfProfilingJob arch sys buildConfig =
|
|
| 1207 | - -- Rename the job to avoid conflicts
|
|
| 1208 | - rename (<> "-perf")
|
|
| 1209 | - $ modifyJobs (perfProfilingJobTag arch sys)
|
|
| 1210 | - $ disableValidate (validateBuilds arch sys $ usePerfProfilingTestsuite buildConfig)
|
|
| 1211 | - |
|
| 1212 | 1207 | tsan_jobs =
|
| 1213 | 1208 | modifyJobs
|
| 1214 | 1209 | ( addVariable "TSAN_OPTIONS" "suppressions=$CI_PROJECT_DIR/rts/.tsan-suppressions"
|
| ... | ... | @@ -1250,7 +1245,7 @@ fedora_x86 = |
| 1250 | 1245 | -- validate pipeline which is built with perf.
|
| 1251 | 1246 | fastCI (standardBuildsWithConfig Amd64 (Linux Fedora43) releaseConfig)
|
| 1252 | 1247 | -- This job is only for generating head.hackage docs
|
| 1253 | - , hackage_doc_job (disableValidate (standardBuildsWithConfig Amd64 (Linux Fedora43) releaseConfig))
|
|
| 1248 | + , hackage_doc_job (disableValidate (standardBuildsWithConfig Amd64 (Linux Fedora43) releaseConfig { extendName = Just "hackage"}))
|
|
| 1254 | 1249 | , disableValidate (standardBuildsWithConfig Amd64 (Linux Fedora43) dwarf)
|
| 1255 | 1250 | , disableValidate (standardBuilds Amd64 (Linux Fedora43))
|
| 1256 | 1251 | -- For UBSan jobs, only enable for validate/nightly pipelines.
|
| ... | ... | @@ -1264,7 +1259,7 @@ fedora_x86 = |
| 1264 | 1259 | $ validateBuilds Amd64 (Linux Fedora43) enableUBSan
|
| 1265 | 1260 | ]
|
| 1266 | 1261 | where
|
| 1267 | - hackage_doc_job = rename (<> "-hackage") . modifyJobs (addVariable "HADRIAN_ARGS" "--haddock-for-hackage")
|
|
| 1262 | + hackage_doc_job = modifyJobs (addVariable "HADRIAN_ARGS" "--haddock-for-hackage")
|
|
| 1268 | 1263 | |
| 1269 | 1264 | windows_x86 :: [JobGroup Job]
|
| 1270 | 1265 | windows_x86 =
|
| ... | ... | @@ -5107,7 +5107,7 @@ |
| 5107 | 5107 | "XZ_OPT": "-9"
|
| 5108 | 5108 | }
|
| 5109 | 5109 | },
|
| 5110 | - "nightly-x86_64-linux-deb13-release-perf": {
|
|
| 5110 | + "nightly-x86_64-linux-deb13-release": {
|
|
| 5111 | 5111 | "after_script": [
|
| 5112 | 5112 | ".gitlab/ci.sh save_cache",
|
| 5113 | 5113 | ".gitlab/ci.sh save_test_output",
|
| ... | ... | @@ -5155,7 +5155,7 @@ |
| 5155 | 5155 | ],
|
| 5156 | 5156 | "stage": "full-build",
|
| 5157 | 5157 | "tags": [
|
| 5158 | - "x86_64-linux-perf"
|
|
| 5158 | + "x86_64-linux"
|
|
| 5159 | 5159 | ],
|
| 5160 | 5160 | "variables": {
|
| 5161 | 5161 | "BIGNUM_BACKEND": "gmp",
|
| ... | ... | @@ -5163,13 +5163,73 @@ |
| 5163 | 5163 | "BUILD_FLAVOUR": "release",
|
| 5164 | 5164 | "CONFIGURE_ARGS": "--enable-strict-ghc-toolchain-check",
|
| 5165 | 5165 | "INSTALL_CONFIGURE_ARGS": "--enable-strict-ghc-toolchain-check",
|
| 5166 | - "RUNTEST_ARGS": " --config perf_path=perf",
|
|
| 5166 | + "RUNTEST_ARGS": "",
|
|
| 5167 | 5167 | "TEST_ENV": "x86_64-linux-deb13-release",
|
| 5168 | 5168 | "TEST_WAYS": "",
|
| 5169 | 5169 | "XZ_OPT": "-9"
|
| 5170 | 5170 | }
|
| 5171 | 5171 | },
|
| 5172 | - "nightly-x86_64-linux-deb13-release-test-perf": {
|
|
| 5172 | + "nightly-x86_64-linux-deb13-release-test": {
|
|
| 5173 | + "after_script": [
|
|
| 5174 | + ".gitlab/ci.sh save_cache",
|
|
| 5175 | + ".gitlab/ci.sh save_test_output",
|
|
| 5176 | + ".gitlab/ci.sh clean",
|
|
| 5177 | + "cat ci_timings.txt"
|
|
| 5178 | + ],
|
|
| 5179 | + "allow_failure": false,
|
|
| 5180 | + "artifacts": {
|
|
| 5181 | + "expire_in": "8 weeks",
|
|
| 5182 | + "paths": [
|
|
| 5183 | + "ghc-x86_64-linux-deb13-release.tar.xz",
|
|
| 5184 | + "junit.xml",
|
|
| 5185 | + "unexpected-test-output.tar.gz"
|
|
| 5186 | + ],
|
|
| 5187 | + "reports": {
|
|
| 5188 | + "junit": "junit.xml"
|
|
| 5189 | + },
|
|
| 5190 | + "when": "always"
|
|
| 5191 | + },
|
|
| 5192 | + "cache": {
|
|
| 5193 | + "key": "x86_64-linux-deb13-$CACHE_REV",
|
|
| 5194 | + "paths": [
|
|
| 5195 | + "cabal-cache",
|
|
| 5196 | + "toolchain"
|
|
| 5197 | + ]
|
|
| 5198 | + },
|
|
| 5199 | + "image": "registry.gitlab.haskell.org/ghc/ci-images/x86_64-linux-deb13:$DOCKER_REV",
|
|
| 5200 | + "needs": [
|
|
| 5201 | + {
|
|
| 5202 | + "artifacts": true,
|
|
| 5203 | + "job": "x86_64-linux-deb13-release"
|
|
| 5204 | + }
|
|
| 5205 | + ],
|
|
| 5206 | + "rules": [
|
|
| 5207 | + {
|
|
| 5208 | + "if": "(\"true\" == \"true\") && ($RELEASE_JOB != \"yes\") && ($NIGHTLY)",
|
|
| 5209 | + "when": "on_success"
|
|
| 5210 | + }
|
|
| 5211 | + ],
|
|
| 5212 | + "script": [
|
|
| 5213 | + ".gitlab/ci.sh setup",
|
|
| 5214 | + ".gitlab/ci.sh test_hadrian"
|
|
| 5215 | + ],
|
|
| 5216 | + "stage": "testing",
|
|
| 5217 | + "tags": [
|
|
| 5218 | + "x86_64-linux"
|
|
| 5219 | + ],
|
|
| 5220 | + "variables": {
|
|
| 5221 | + "BIGNUM_BACKEND": "gmp",
|
|
| 5222 | + "BIN_DIST_NAME": "ghc-x86_64-linux-deb13-release",
|
|
| 5223 | + "BUILD_FLAVOUR": "release",
|
|
| 5224 | + "CONFIGURE_ARGS": "--enable-strict-ghc-toolchain-check",
|
|
| 5225 | + "INSTALL_CONFIGURE_ARGS": "--enable-strict-ghc-toolchain-check",
|
|
| 5226 | + "RUNTEST_ARGS": "",
|
|
| 5227 | + "TEST_ENV": "x86_64-linux-deb13-release",
|
|
| 5228 | + "TEST_WAYS": "",
|
|
| 5229 | + "XZ_OPT": "-9"
|
|
| 5230 | + }
|
|
| 5231 | + },
|
|
| 5232 | + "nightly-x86_64-linux-deb13-release-testperf": {
|
|
| 5173 | 5233 | "after_script": [
|
| 5174 | 5234 | ".gitlab/ci.sh save_cache",
|
| 5175 | 5235 | ".gitlab/ci.sh save_test_output",
|
| ... | ... | @@ -6218,7 +6278,7 @@ |
| 6218 | 6278 | "XZ_OPT": "-9"
|
| 6219 | 6279 | }
|
| 6220 | 6280 | },
|
| 6221 | - "nightly-x86_64-linux-fedora43-release-test": {
|
|
| 6281 | + "nightly-x86_64-linux-fedora43-release-hackage-test": {
|
|
| 6222 | 6282 | "after_script": [
|
| 6223 | 6283 | ".gitlab/ci.sh save_cache",
|
| 6224 | 6284 | ".gitlab/ci.sh save_test_output",
|
| ... | ... | @@ -6249,7 +6309,7 @@ |
| 6249 | 6309 | "needs": [
|
| 6250 | 6310 | {
|
| 6251 | 6311 | "artifacts": true,
|
| 6252 | - "job": "x86_64-linux-fedora43-release"
|
|
| 6312 | + "job": "x86_64-linux-fedora43-release-hackage"
|
|
| 6253 | 6313 | }
|
| 6254 | 6314 | ],
|
| 6255 | 6315 | "rules": [
|
| ... | ... | @@ -6271,6 +6331,7 @@ |
| 6271 | 6331 | "BIN_DIST_NAME": "ghc-x86_64-linux-fedora43-release",
|
| 6272 | 6332 | "BUILD_FLAVOUR": "release",
|
| 6273 | 6333 | "CONFIGURE_ARGS": "--enable-strict-ghc-toolchain-check",
|
| 6334 | + "HADRIAN_ARGS": "--haddock-for-hackage",
|
|
| 6274 | 6335 | "INSTALL_CONFIGURE_ARGS": "--enable-strict-ghc-toolchain-check",
|
| 6275 | 6336 | "RUNTEST_ARGS": "",
|
| 6276 | 6337 | "TEST_ENV": "x86_64-linux-fedora43-release",
|
| ... | ... | @@ -6278,7 +6339,7 @@ |
| 6278 | 6339 | "XZ_OPT": "-9"
|
| 6279 | 6340 | }
|
| 6280 | 6341 | },
|
| 6281 | - "nightly-x86_64-linux-fedora43-release-test-hackage": {
|
|
| 6342 | + "nightly-x86_64-linux-fedora43-release-test": {
|
|
| 6282 | 6343 | "after_script": [
|
| 6283 | 6344 | ".gitlab/ci.sh save_cache",
|
| 6284 | 6345 | ".gitlab/ci.sh save_test_output",
|
| ... | ... | @@ -6331,7 +6392,6 @@ |
| 6331 | 6392 | "BIN_DIST_NAME": "ghc-x86_64-linux-fedora43-release",
|
| 6332 | 6393 | "BUILD_FLAVOUR": "release",
|
| 6333 | 6394 | "CONFIGURE_ARGS": "--enable-strict-ghc-toolchain-check",
|
| 6334 | - "HADRIAN_ARGS": "--haddock-for-hackage",
|
|
| 6335 | 6395 | "INSTALL_CONFIGURE_ARGS": "--enable-strict-ghc-toolchain-check",
|
| 6336 | 6396 | "RUNTEST_ARGS": "",
|
| 6337 | 6397 | "TEST_ENV": "x86_64-linux-fedora43-release",
|
| ... | ... | @@ -9971,7 +10031,7 @@ |
| 9971 | 10031 | "XZ_OPT": "-9"
|
| 9972 | 10032 | }
|
| 9973 | 10033 | },
|
| 9974 | - "release-x86_64-linux-fedora43-release-test": {
|
|
| 10034 | + "release-x86_64-linux-fedora43-release-hackage-test": {
|
|
| 9975 | 10035 | "after_script": [
|
| 9976 | 10036 | ".gitlab/ci.sh save_cache",
|
| 9977 | 10037 | ".gitlab/ci.sh save_test_output",
|
| ... | ... | @@ -10002,7 +10062,7 @@ |
| 10002 | 10062 | "needs": [
|
| 10003 | 10063 | {
|
| 10004 | 10064 | "artifacts": true,
|
| 10005 | - "job": "x86_64-linux-fedora43-release"
|
|
| 10065 | + "job": "x86_64-linux-fedora43-release-hackage"
|
|
| 10006 | 10066 | }
|
| 10007 | 10067 | ],
|
| 10008 | 10068 | "rules": [
|
| ... | ... | @@ -10024,6 +10084,7 @@ |
| 10024 | 10084 | "BIN_DIST_NAME": "ghc-x86_64-linux-fedora43-release",
|
| 10025 | 10085 | "BUILD_FLAVOUR": "release",
|
| 10026 | 10086 | "CONFIGURE_ARGS": "--enable-strict-ghc-toolchain-check",
|
| 10087 | + "HADRIAN_ARGS": "--haddock-for-hackage",
|
|
| 10027 | 10088 | "IGNORE_PERF_FAILURES": "all",
|
| 10028 | 10089 | "INSTALL_CONFIGURE_ARGS": "--enable-strict-ghc-toolchain-check",
|
| 10029 | 10090 | "RUNTEST_ARGS": "",
|
| ... | ... | @@ -10032,7 +10093,7 @@ |
| 10032 | 10093 | "XZ_OPT": "-9"
|
| 10033 | 10094 | }
|
| 10034 | 10095 | },
|
| 10035 | - "release-x86_64-linux-fedora43-release-test-hackage": {
|
|
| 10096 | + "release-x86_64-linux-fedora43-release-test": {
|
|
| 10036 | 10097 | "after_script": [
|
| 10037 | 10098 | ".gitlab/ci.sh save_cache",
|
| 10038 | 10099 | ".gitlab/ci.sh save_test_output",
|
| ... | ... | @@ -10085,7 +10146,6 @@ |
| 10085 | 10146 | "BIN_DIST_NAME": "ghc-x86_64-linux-fedora43-release",
|
| 10086 | 10147 | "BUILD_FLAVOUR": "release",
|
| 10087 | 10148 | "CONFIGURE_ARGS": "--enable-strict-ghc-toolchain-check",
|
| 10088 | - "HADRIAN_ARGS": "--haddock-for-hackage",
|
|
| 10089 | 10149 | "IGNORE_PERF_FAILURES": "all",
|
| 10090 | 10150 | "INSTALL_CONFIGURE_ARGS": "--enable-strict-ghc-toolchain-check",
|
| 10091 | 10151 | "RUNTEST_ARGS": "",
|
| ... | ... | @@ -12701,7 +12761,7 @@ |
| 12701 | 12761 | "TEST_WAYS": ""
|
| 12702 | 12762 | }
|
| 12703 | 12763 | },
|
| 12704 | - "x86_64-linux-deb13-release-perf": {
|
|
| 12764 | + "x86_64-linux-deb13-release": {
|
|
| 12705 | 12765 | "after_script": [
|
| 12706 | 12766 | ".gitlab/ci.sh save_cache",
|
| 12707 | 12767 | ".gitlab/ci.sh save_test_output",
|
| ... | ... | @@ -12749,7 +12809,7 @@ |
| 12749 | 12809 | ],
|
| 12750 | 12810 | "stage": "full-build",
|
| 12751 | 12811 | "tags": [
|
| 12752 | - "x86_64-linux-perf"
|
|
| 12812 | + "x86_64-linux"
|
|
| 12753 | 12813 | ],
|
| 12754 | 12814 | "variables": {
|
| 12755 | 12815 | "BIGNUM_BACKEND": "gmp",
|
| ... | ... | @@ -12757,12 +12817,71 @@ |
| 12757 | 12817 | "BUILD_FLAVOUR": "release",
|
| 12758 | 12818 | "CONFIGURE_ARGS": "--enable-strict-ghc-toolchain-check",
|
| 12759 | 12819 | "INSTALL_CONFIGURE_ARGS": "--enable-strict-ghc-toolchain-check",
|
| 12760 | - "RUNTEST_ARGS": " --config perf_path=perf",
|
|
| 12820 | + "RUNTEST_ARGS": "",
|
|
| 12761 | 12821 | "TEST_ENV": "x86_64-linux-deb13-release",
|
| 12762 | 12822 | "TEST_WAYS": ""
|
| 12763 | 12823 | }
|
| 12764 | 12824 | },
|
| 12765 | - "x86_64-linux-deb13-release-test-perf": {
|
|
| 12825 | + "x86_64-linux-deb13-release-test": {
|
|
| 12826 | + "after_script": [
|
|
| 12827 | + ".gitlab/ci.sh save_cache",
|
|
| 12828 | + ".gitlab/ci.sh save_test_output",
|
|
| 12829 | + ".gitlab/ci.sh clean",
|
|
| 12830 | + "cat ci_timings.txt"
|
|
| 12831 | + ],
|
|
| 12832 | + "allow_failure": false,
|
|
| 12833 | + "artifacts": {
|
|
| 12834 | + "expire_in": "2 weeks",
|
|
| 12835 | + "paths": [
|
|
| 12836 | + "ghc-x86_64-linux-deb13-release.tar.xz",
|
|
| 12837 | + "junit.xml",
|
|
| 12838 | + "unexpected-test-output.tar.gz"
|
|
| 12839 | + ],
|
|
| 12840 | + "reports": {
|
|
| 12841 | + "junit": "junit.xml"
|
|
| 12842 | + },
|
|
| 12843 | + "when": "always"
|
|
| 12844 | + },
|
|
| 12845 | + "cache": {
|
|
| 12846 | + "key": "x86_64-linux-deb13-$CACHE_REV",
|
|
| 12847 | + "paths": [
|
|
| 12848 | + "cabal-cache",
|
|
| 12849 | + "toolchain"
|
|
| 12850 | + ]
|
|
| 12851 | + },
|
|
| 12852 | + "image": "registry.gitlab.haskell.org/ghc/ci-images/x86_64-linux-deb13:$DOCKER_REV",
|
|
| 12853 | + "needs": [
|
|
| 12854 | + {
|
|
| 12855 | + "artifacts": true,
|
|
| 12856 | + "job": "x86_64-linux-deb13-release"
|
|
| 12857 | + }
|
|
| 12858 | + ],
|
|
| 12859 | + "rules": [
|
|
| 12860 | + {
|
|
| 12861 | + "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\bx86_64-linux-deb13-release(\\s|$).*/)) || (($ONLY_JOBS == null) && (\"disabled\" != \"disabled\"))) && ($RELEASE_JOB != \"yes\") && ($NIGHTLY == null)",
|
|
| 12862 | + "when": "on_success"
|
|
| 12863 | + }
|
|
| 12864 | + ],
|
|
| 12865 | + "script": [
|
|
| 12866 | + ".gitlab/ci.sh setup",
|
|
| 12867 | + ".gitlab/ci.sh test_hadrian"
|
|
| 12868 | + ],
|
|
| 12869 | + "stage": "testing",
|
|
| 12870 | + "tags": [
|
|
| 12871 | + "x86_64-linux"
|
|
| 12872 | + ],
|
|
| 12873 | + "variables": {
|
|
| 12874 | + "BIGNUM_BACKEND": "gmp",
|
|
| 12875 | + "BIN_DIST_NAME": "ghc-x86_64-linux-deb13-release",
|
|
| 12876 | + "BUILD_FLAVOUR": "release",
|
|
| 12877 | + "CONFIGURE_ARGS": "--enable-strict-ghc-toolchain-check",
|
|
| 12878 | + "INSTALL_CONFIGURE_ARGS": "--enable-strict-ghc-toolchain-check",
|
|
| 12879 | + "RUNTEST_ARGS": "",
|
|
| 12880 | + "TEST_ENV": "x86_64-linux-deb13-release",
|
|
| 12881 | + "TEST_WAYS": ""
|
|
| 12882 | + }
|
|
| 12883 | + },
|
|
| 12884 | + "x86_64-linux-deb13-release-testperf": {
|
|
| 12766 | 12885 | "after_script": [
|
| 12767 | 12886 | ".gitlab/ci.sh save_cache",
|
| 12768 | 12887 | ".gitlab/ci.sh save_test_output",
|
| ... | ... | @@ -13770,7 +13889,7 @@ |
| 13770 | 13889 | ],
|
| 13771 | 13890 | "rules": [
|
| 13772 | 13891 | {
|
| 13773 | - "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\bx86_64-linux-fedora43-release(\\s|$).*/)) || (($ONLY_JOBS == null) && (\"disabled\" != \"disabled\"))) && ($RELEASE_JOB != \"yes\") && ($NIGHTLY == null)",
|
|
| 13892 | + "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\bx86_64-linux-fedora43-release-hackage(\\s|$).*/)) || (($ONLY_JOBS == null) && (\"disabled\" != \"disabled\"))) && ($RELEASE_JOB != \"yes\") && ($NIGHTLY == null)",
|
|
| 13774 | 13893 | "when": "on_success"
|
| 13775 | 13894 | }
|
| 13776 | 13895 | ],
|
| ... | ... | @@ -13796,7 +13915,7 @@ |
| 13796 | 13915 | "TEST_WAYS": ""
|
| 13797 | 13916 | }
|
| 13798 | 13917 | },
|
| 13799 | - "x86_64-linux-fedora43-release-test": {
|
|
| 13918 | + "x86_64-linux-fedora43-release-hackage-test": {
|
|
| 13800 | 13919 | "after_script": [
|
| 13801 | 13920 | ".gitlab/ci.sh save_cache",
|
| 13802 | 13921 | ".gitlab/ci.sh save_test_output",
|
| ... | ... | @@ -13827,12 +13946,12 @@ |
| 13827 | 13946 | "needs": [
|
| 13828 | 13947 | {
|
| 13829 | 13948 | "artifacts": true,
|
| 13830 | - "job": "x86_64-linux-fedora43-release"
|
|
| 13949 | + "job": "x86_64-linux-fedora43-release-hackage"
|
|
| 13831 | 13950 | }
|
| 13832 | 13951 | ],
|
| 13833 | 13952 | "rules": [
|
| 13834 | 13953 | {
|
| 13835 | - "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\bx86_64-linux-fedora43-release(\\s|$).*/)) || (($ONLY_JOBS == null) && ((\"true\" == \"true\")))) && ($RELEASE_JOB != \"yes\") && ($NIGHTLY == null)",
|
|
| 13954 | + "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\bx86_64-linux-fedora43-release-hackage(\\s|$).*/)) || (($ONLY_JOBS == null) && (\"disabled\" != \"disabled\"))) && ($RELEASE_JOB != \"yes\") && ($NIGHTLY == null)",
|
|
| 13836 | 13955 | "when": "on_success"
|
| 13837 | 13956 | }
|
| 13838 | 13957 | ],
|
| ... | ... | @@ -13849,13 +13968,14 @@ |
| 13849 | 13968 | "BIN_DIST_NAME": "ghc-x86_64-linux-fedora43-release",
|
| 13850 | 13969 | "BUILD_FLAVOUR": "release",
|
| 13851 | 13970 | "CONFIGURE_ARGS": "--enable-strict-ghc-toolchain-check",
|
| 13971 | + "HADRIAN_ARGS": "--haddock-for-hackage",
|
|
| 13852 | 13972 | "INSTALL_CONFIGURE_ARGS": "--enable-strict-ghc-toolchain-check",
|
| 13853 | 13973 | "RUNTEST_ARGS": "",
|
| 13854 | 13974 | "TEST_ENV": "x86_64-linux-fedora43-release",
|
| 13855 | 13975 | "TEST_WAYS": ""
|
| 13856 | 13976 | }
|
| 13857 | 13977 | },
|
| 13858 | - "x86_64-linux-fedora43-release-test-hackage": {
|
|
| 13978 | + "x86_64-linux-fedora43-release-test": {
|
|
| 13859 | 13979 | "after_script": [
|
| 13860 | 13980 | ".gitlab/ci.sh save_cache",
|
| 13861 | 13981 | ".gitlab/ci.sh save_test_output",
|
| ... | ... | @@ -13891,7 +14011,7 @@ |
| 13891 | 14011 | ],
|
| 13892 | 14012 | "rules": [
|
| 13893 | 14013 | {
|
| 13894 | - "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\bx86_64-linux-fedora43-release(\\s|$).*/)) || (($ONLY_JOBS == null) && (\"disabled\" != \"disabled\"))) && ($RELEASE_JOB != \"yes\") && ($NIGHTLY == null)",
|
|
| 14014 | + "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\bx86_64-linux-fedora43-release(\\s|$).*/)) || (($ONLY_JOBS == null) && ((\"true\" == \"true\")))) && ($RELEASE_JOB != \"yes\") && ($NIGHTLY == null)",
|
|
| 13895 | 14015 | "when": "on_success"
|
| 13896 | 14016 | }
|
| 13897 | 14017 | ],
|
| ... | ... | @@ -13908,7 +14028,6 @@ |
| 13908 | 14028 | "BIN_DIST_NAME": "ghc-x86_64-linux-fedora43-release",
|
| 13909 | 14029 | "BUILD_FLAVOUR": "release",
|
| 13910 | 14030 | "CONFIGURE_ARGS": "--enable-strict-ghc-toolchain-check",
|
| 13911 | - "HADRIAN_ARGS": "--haddock-for-hackage",
|
|
| 13912 | 14031 | "INSTALL_CONFIGURE_ARGS": "--enable-strict-ghc-toolchain-check",
|
| 13913 | 14032 | "RUNTEST_ARGS": "",
|
| 13914 | 14033 | "TEST_ENV": "x86_64-linux-fedora43-release",
|