[Git][ghc/ghc][wip/perf-ci] Add nightly job for running the testsuite with perf support
Hannes Siebenhandl (@fendor)
gitlab at gitlab.haskell.org
Thu May 23 08:27:48 UTC 2024
Hannes Siebenhandl pushed to branch wip/perf-ci at Glasgow Haskell Compiler / GHC
Commits:
f773fb82 by Fendor at 2024-05-23T10:27:35+02:00
Add nightly job for running the testsuite with perf support
- - - - -
2 changed files:
- .gitlab/generate-ci/gen_ci.hs
- .gitlab/jobs.yaml
Changes:
=====================================
.gitlab/generate-ci/gen_ci.hs
=====================================
@@ -265,6 +265,9 @@ tsan = vanilla { threadSanitiser = True }
noTntc :: BuildConfig
noTntc = vanilla { tablesNextToCode = False }
+perfTestsuite :: BuildConfig
+perfTestsuite = vanilla { testsuiteUsePerf = True }
+
-----------------------------------------------------------------------------
-- Platform specific variables
-----------------------------------------------------------------------------
@@ -285,6 +288,9 @@ runnerTag _ _ = error "Invalid arch/opsys"
tags :: Arch -> Opsys -> BuildConfig -> [String]
tags arch opsys _bc = [runnerTag arch opsys] -- Tag for which runners we can use
+runnerPerfTag :: Arch -> Opsys -> String
+runnerPerfTag arch sys = runnerTag arch sys ++ "-perf"
+
-- These names are used to find the docker image so they have to match what is
-- in the docker registry.
distroName :: LinuxDistro -> String
@@ -886,6 +892,12 @@ highCompression = addVariable "XZ_OPT" "-9"
useHashUnitIds :: Job -> Job
useHashUnitIds = addVariable "HADRIAN_ARGS" "--hash-unit-ids"
+addJobTags :: [String] -> Job -> Job
+addJobTags t j = j { jobTags = jobTags j ++ t}
+
+perfJob :: Arch -> Opsys -> Job -> Job
+perfJob arch opsys = addJobTags [ runnerPerfTag arch opsys ]
+
-- | Mark the validate job to run in fast-ci mode
-- This is default way, to enable all jobs you have to apply the `full-ci` label.
fastCI :: JobGroup Job -> JobGroup Job
@@ -1025,6 +1037,7 @@ job_groups =
make_wasm_jobs wasm_build_config {unregisterised = True}
, onlyRule NonmovingGc (validateBuilds Amd64 (Linux Debian11) vanilla {validateNonmovingGc = True})
, onlyRule IpeData (validateBuilds Amd64 (Linux Debian10) zstdIpe)
+ , perfTestsuiteJob Amd64 (Linux Debian12) perfTestsuite
]
where
@@ -1037,6 +1050,9 @@ job_groups =
-- (see Note [Object unloading]).
fullyStaticBrokenTests = modifyJobs (addVariable "BROKEN_TESTS" "ghcilink002 linker_unload_native")
+ perfTestsuiteJob arch sys buildConfig =
+ modifyJobs (perfJob arch sys) $ disableValidate (validateBuilds arch sys buildConfig)
+
hackage_doc_job = rename (<> "-hackage") . modifyJobs (addVariable "HADRIAN_ARGS" "--haddock-for-hackage")
tsan_jobs =
=====================================
.gitlab/jobs.yaml
=====================================
@@ -1945,14 +1945,15 @@
],
"stage": "full-build",
"tags": [
- "x86_64-linux"
+ "x86_64-linux",
+ "x86_64-linux-perf"
],
"variables": {
"BIGNUM_BACKEND": "gmp",
"BIN_DIST_NAME": "ghc-x86_64-linux-deb12-validate",
"BUILD_FLAVOUR": "validate",
"CONFIGURE_ARGS": "--enable-strict-ghc-toolchain-check",
- "RUNTEST_ARGS": "",
+ "RUNTEST_ARGS": " --config perf_path=perf",
"TEST_ENV": "x86_64-linux-deb12-validate",
"XZ_OPT": "-9"
}
View it on GitLab: https://gitlab.haskell.org/ghc/ghc/-/commit/f773fb823473ce0b3eb6154a6dbd254d918cd054
--
View it on GitLab: https://gitlab.haskell.org/ghc/ghc/-/commit/f773fb823473ce0b3eb6154a6dbd254d918cd054
You're receiving this email because of your account on gitlab.haskell.org.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.haskell.org/pipermail/ghc-commits/attachments/20240523/5d475ad0/attachment-0001.html>
More information about the ghc-commits
mailing list