diff options
| author | Roman Smrž <roman.smrz@seznam.cz> | 2025-11-26 21:38:01 +0100 |
|---|---|---|
| committer | Roman Smrž <roman.smrz@seznam.cz> | 2025-11-28 22:17:37 +0100 |
| commit | c11cf4ea1822b280be7873c61c004d23627b0349 (patch) | |
| tree | 2034775aa1218705b72b75ff579e86dc8b894117 /src | |
| parent | b100f6e64074c761327e1113a0c8afaf74091a23 (diff) | |
Well-defined order of dependencies in job ID
Diffstat (limited to 'src')
| -rw-r--r-- | src/Eval.hs | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/src/Eval.hs b/src/Eval.hs index e98bb29..71c9b9f 100644 --- a/src/Eval.hs +++ b/src/Eval.hs @@ -81,7 +81,9 @@ collectOtherRepos dset decl = do ] let commonSubdir reporev = joinPath $ foldr1 commonPrefix $ map (maybe [] splitDirectories . jcSubtree) . filter ((reporev ==) . jcRepo) $ checkouts - return $ map (\r -> ( r, commonSubdir r )) . nub . map jcRepo $ checkouts + let canonicalRepoOrder = Nothing : maybe [] (map (Just . repoName) . configRepos) (jobsetConfig dset) + getCheckoutsForName rname = map (\r -> ( r, commonSubdir r )) $ nub $ filter ((rname ==) . fmap fst) $ map jcRepo checkouts + return $ concatMap getCheckoutsForName canonicalRepoOrder evalJob :: [ ( Maybe RepoName, Tree ) ] -> DeclaredJobSet -> DeclaredJob -> Eval ( Job, JobSetId ) |