Sven Tennie pushed to branch wip/supersven/cross-compiler-manual-test-jobs at Glasgow Haskell Compiler / GHC
Commits:
-
508cc020
by Sven Tennie at 2026-06-07T10:23:11+00:00
-
5ffab85d
by Sven Tennie at 2026-06-07T15:36:12+00:00
-
7206c32b
by Sven Tennie at 2026-06-07T15:47:09+00:00
2 changed files:
Changes:
| ... | ... | @@ -591,7 +591,7 @@ manualRule rules = rules { when = Manual } |
| 591 | 591 | |
| 592 | 592 | renameRule :: String -> OnOffRules -> OnOffRules
|
| 593 | 593 | renameRule n (OnOffRules (ValidateOnly _ rs) w) = OnOffRules (ValidateOnly n rs) w
|
| 594 | -renameRule _ r = r
|
|
| 594 | +renameRule _ r = error $ "renameRule: not a ValidateOnly rule: " ++ show (rule_set r)
|
|
| 595 | 595 | |
| 596 | 596 | -- Given 'OnOffRules', returns a list of ALL rules with their toggled status.
|
| 597 | 597 | -- For example, even if you don't explicitly disable a rule it will end up in the
|
| ... | ... | @@ -1009,14 +1009,13 @@ release arch opsys bc = |
| 1009 | 1009 | . ignorePerfFailures
|
| 1010 | 1010 | . highCompression $ j
|
| 1011 | 1011 | }
|
| 1012 | --- | Derive a manually-triggered full-testsuite job from a cross-compiler build job.
|
|
| 1013 | --- The test job downloads the build job's bindist artifact and runs the full testsuite.
|
|
| 1014 | 1012 | crossTestJob :: NamedJob Job -> NamedJob Job
|
| 1015 | 1013 | crossTestJob (NamedJob buildName buildJob) =
|
| 1016 | 1014 | NamedJob testName $
|
| 1017 | 1015 | buildJob
|
| 1018 | 1016 | { jobNeeds = ["hadrian-ghc-in-ghci"]
|
| 1019 | 1017 | , jobNeedsWithArtifacts = [buildName]
|
| 1018 | + , jobDependencies = [buildName]
|
|
| 1020 | 1019 | , jobScript = testScript (jobPlatform buildJob)
|
| 1021 | 1020 | , jobRules = renameRule testName $ manualRule (jobRules buildJob)
|
| 1022 | 1021 | , jobAllowFailure = True
|
| ... | ... | @@ -1030,8 +1029,6 @@ crossTestJob (NamedJob buildName buildJob) = |
| 1030 | 1029 | , ".gitlab/ci.sh test_hadrian_cross_full"
|
| 1031 | 1030 | ]
|
| 1032 | 1031 | |
| 1033 | --- | Pair a cross-compiler build JobGroup with a manual test job derived from
|
|
| 1034 | --- its validate variant.
|
|
| 1035 | 1032 | withCrossTestJob :: JobGroup Job -> [JobGroup Job]
|
| 1036 | 1033 | withCrossTestJob jg@(StandardTriple (Just vj) _ _) =
|
| 1037 | 1034 | [jg, StandardTriple (Just (crossTestJob vj)) Nothing Nothing]
|
| ... | ... | @@ -1485,6 +1482,8 @@ platform_mapping = Map.map go combined_result |
| 1485 | 1482 | , show (name b) ] -- Explicitly selected
|
| 1486 | 1483 | | name a `elem` whitelist = a -- Explicitly selected
|
| 1487 | 1484 | | name b `elem` whitelist = b
|
| 1485 | + | "-manual-testsuite" `isSuffixOf` name a = b -- prefer build job over manual test job
|
|
| 1486 | + | "-manual-testsuite" `isSuffixOf` name b = a
|
|
| 1488 | 1487 | | otherwise = error (show (name a) ++ show (name b))
|
| 1489 | 1488 | |
| 1490 | 1489 | go = fmap (BindistInfo . unwords . fromJust . mmlookup "BIN_DIST_NAME" . jobVariables)
|
| ... | ... | @@ -444,7 +444,9 @@ |
| 444 | 444 | "toolchain"
|
| 445 | 445 | ]
|
| 446 | 446 | },
|
| 447 | - "dependencies": [],
|
|
| 447 | + "dependencies": [
|
|
| 448 | + "aarch64-linux-deb12-wine-int_native-cross_aarch64-unknown-mingw32-validate+llvm"
|
|
| 449 | + ],
|
|
| 448 | 450 | "image": "registry.gitlab.haskell.org/ghc/ci-images/aarch64-linux-deb12-wine:$DOCKER_REV",
|
| 449 | 451 | "needs": [
|
| 450 | 452 | {
|
| ... | ... | @@ -530,7 +532,9 @@ |
| 530 | 532 | "toolchain"
|
| 531 | 533 | ]
|
| 532 | 534 | },
|
| 533 | - "dependencies": [],
|
|
| 535 | + "dependencies": [
|
|
| 536 | + "aarch64-linux-deb12-wine-int_native-cross_aarch64-unknown-mingw32-validate"
|
|
| 537 | + ],
|
|
| 534 | 538 | "image": "registry.gitlab.haskell.org/ghc/ci-images/aarch64-linux-deb12-wine:$DOCKER_REV",
|
| 535 | 539 | "needs": [
|
| 536 | 540 | {
|
| ... | ... | @@ -6546,7 +6550,9 @@ |
| 6546 | 6550 | "toolchain"
|
| 6547 | 6551 | ]
|
| 6548 | 6552 | },
|
| 6549 | - "dependencies": [],
|
|
| 6553 | + "dependencies": [
|
|
| 6554 | + "x86_64-linux-deb13-cross_aarch64-linux-gnu-validate"
|
|
| 6555 | + ],
|
|
| 6550 | 6556 | "image": "registry.gitlab.haskell.org/ghc/ci-images/x86_64-linux-deb13:$DOCKER_REV",
|
| 6551 | 6557 | "needs": [
|
| 6552 | 6558 | {
|
| ... | ... | @@ -6928,7 +6934,9 @@ |
| 6928 | 6934 | "toolchain"
|
| 6929 | 6935 | ]
|
| 6930 | 6936 | },
|
| 6931 | - "dependencies": [],
|
|
| 6937 | + "dependencies": [
|
|
| 6938 | + "x86_64-linux-deb13-riscv-cross_riscv64-linux-gnu-validate"
|
|
| 6939 | + ],
|
|
| 6932 | 6940 | "image": "registry.gitlab.haskell.org/ghc/ci-images/x86_64-linux-deb13-riscv:$DOCKER_REV",
|
| 6933 | 6941 | "needs": [
|
| 6934 | 6942 | {
|
| ... | ... | @@ -7872,7 +7880,9 @@ |
| 7872 | 7880 | "toolchain"
|
| 7873 | 7881 | ]
|
| 7874 | 7882 | },
|
| 7875 | - "dependencies": [],
|
|
| 7883 | + "dependencies": [
|
|
| 7884 | + "x86_64-linux-ubuntu24_04-loongarch-cross_loongarch64-linux-gnu-validate"
|
|
| 7885 | + ],
|
|
| 7876 | 7886 | "image": "registry.gitlab.haskell.org/ghc/ci-images/x86_64-linux-ubuntu24_04-loongarch:$DOCKER_REV",
|
| 7877 | 7887 | "needs": [
|
| 7878 | 7888 | {
|