From 72c83a013caed4f3f850731988734d125df6a720 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Roman=20Smr=C5=BE?= Date: Tue, 9 Dec 2025 22:22:03 +0100 Subject: Fix selecting single job from evaluated job ref --- src/Eval.hs | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) (limited to 'src/Eval.hs') diff --git a/src/Eval.hs b/src/Eval.hs index 2afec42..6680c44 100644 --- a/src/Eval.hs +++ b/src/Eval.hs @@ -6,6 +6,7 @@ module Eval ( evalJobSet, evalJobSetSelected, evalJobReference, + evalJobReferenceToSet, loadJobSetById, ) where @@ -257,14 +258,21 @@ canonicalCommitConfig rs repo = do local (\ei -> ei { eiCurrentIdRev = JobIdTree Nothing "" (treeId tree) : eiCurrentIdRev ei }) $ canonicalJobName rs' config (Just tree) -evalJobReference :: JobRef -> Eval JobSet -evalJobReference (JobRef rs) = +evalJobReferenceToSet :: JobRef -> Eval JobSet +evalJobReferenceToSet (JobRef rs) = asks eiJobRoot >>= \case JobRootRepo defRepo -> do canonicalCommitConfig rs defRepo JobRootConfig config -> do canonicalJobName rs config Nothing +evalJobReference :: JobRef -> Eval Job +evalJobReference ref = do + jset <- evalJobReferenceToSet ref + jobs <- either (throwError . OtherEvalError . T.pack) return $ jobsetJobsEither jset + [ name ] <- return $ jobsetExplicitlyRequested jset + maybe (error "missing job in evalJobReferenceToSet result") return $ find ((name ==) . jobId) jobs + jobsetFromConfig :: [ JobIdPart ] -> Config -> Maybe Tree -> Eval ( DeclaredJobSet, [ JobIdPart ], [ ( Maybe RepoName, Tree ) ] ) jobsetFromConfig sid config _ = do -- cgit v1.2.3