Sven Tennie pushed to branch wip/supersven/cross-compiler-manual-test-jobs at Glasgow Haskell Compiler / GHC

Commits:

2 changed files:

Changes:

  • .gitlab/generate-ci/gen_ci.hs
    ... ... @@ -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)
    

  • .gitlab/jobs.yaml
    ... ... @@ -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
           {