summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatthew Pickering <matthewtpickering@gmail.com>2023-01-28 10:17:37 +0000
committerMatthew Pickering <matthewtpickering@gmail.com>2023-01-28 10:20:29 +0000
commit7b275a687e96686ee71e86ffb158bae0b0bb73b9 (patch)
tree409894d601ee0827b94a34c27e79c53b24ebc58a
parent6ea2aa0293aedea2f873b7b5d9cff5e7b9e2f188 (diff)
downloadhaskell-wip/fix-gen_ci.tar.gz
gen_ci: Only consider release jobs for job metadatawip/fix-gen_ci
In particular we do not have a release job for FreeBSD so the generation of the platform mapping was failing.
-rw-r--r--.gitlab-ci.yml2
-rwxr-xr-x.gitlab/gen_ci.hs5
2 files changed, 3 insertions, 4 deletions
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 8a616a71ad..896b2858e8 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -277,6 +277,8 @@ lint-ci-config:
- .gitlab/generate_jobs
# 1 if .gitlab/generate_jobs changed the output of the generated config
- nix shell nixpkgs#git -c git diff --exit-code
+ # And run this to just make sure that works
+ - .gitlab/generate_job_metadata
dependencies: []
lint-submods:
diff --git a/.gitlab/gen_ci.hs b/.gitlab/gen_ci.hs
index a7c4cd3cf4..b41b52563e 100755
--- a/.gitlab/gen_ci.hs
+++ b/.gitlab/gen_ci.hs
@@ -17,7 +17,6 @@ import Data.List (intercalate)
import Data.Set (Set)
import qualified Data.Set as S
import System.Environment
-import Data.Maybe
{-
Note [Generating the CI pipeline]
@@ -932,7 +931,7 @@ mkPlatform arch opsys = archName arch <> "-" <> opsysName opsys
-- * Explicitly require tie-breaking for other cases.
platform_mapping :: Map String (JobGroup BindistInfo)
platform_mapping = Map.map go $
- Map.fromListWith combine [ (uncurry mkPlatform (jobPlatform (jobInfo $ v j)), j) | j <- job_groups ]
+ Map.fromListWith combine [ (uncurry mkPlatform (jobPlatform (jobInfo $ v j)), j) | j <- filter hasReleaseBuild job_groups ]
where
whitelist = [ "x86_64-linux-alpine3_12-int_native-validate+fully_static"
, "x86_64-linux-deb10-validate"
@@ -943,8 +942,6 @@ platform_mapping = Map.map go $
combine a b
| name (v a) `elem` whitelist = a -- Explicitly selected
| name (v b) `elem` whitelist = b
- | hasReleaseBuild a, not (hasReleaseBuild b) = a -- Has release build, but other doesn't
- | hasReleaseBuild b, not (hasReleaseBuild a) = b
| otherwise = error (show (name (v a)) ++ show (name (v b)))
go = fmap (BindistInfo . unwords . fromJust . mmlookup "BIN_DIST_NAME" . jobVariables)