From 5a7ad400ad957ab452e0319f3127631d4aeae6b0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Roman=20Smr=C5=BE?= Date: Sun, 13 Sep 2026 15:13:27 +0200 Subject: Improve error messages when artifact is not found during eval --- src/Eval.hs | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) (limited to 'src/Eval.hs') diff --git a/src/Eval.hs b/src/Eval.hs index 9d83758..32a28b4 100644 --- a/src/Eval.hs +++ b/src/Eval.hs @@ -237,16 +237,18 @@ evalJobs (current : evaluating) evaluated repos dset reqs = do } uses <- forM (jobUses current) $ \( jname, aname ) -> do - Just (Right job) <- return $ find ((jname ==) . either id jobName) evaluated - return ( jobId job, aname ) + case find ((jname ==) . either id jobName) evaluated of + Just (Right job) -> return ( jobId job, aname ) + _ -> throwError $ OtherEvalError $ "artifact ‘" <> textArtifactName aname <> "’ in job ‘" <> textJobName jname <> "’ required by ‘" <> textJobName (jobName current) <> "’ not found" destinations <- forM (jobPublish current) $ \dpublish -> do - let ( jname, _ ) = jpArtifact dpublish + let ( jname, aname ) = jpArtifact dpublish jid <- if | jname == jobName current -> return currentJobId | otherwise -> do - Just (Right job) <- return $ find ((jname ==) . either id jobName) evaluated - return $ jobId job + case find ((jname ==) . either id jobName) evaluated of + Just (Right job) -> return $ jobId job + _ -> throwError $ OtherEvalError $ "artifact ‘" <> textArtifactName aname <> "’ in job ‘" <> textJobName jname <> "’ required by ‘" <> textJobName (jobName current) <> "’ not found" case lookup (jpDestination dpublish) eiDestinations of Just dest -> return dpublish -- cgit v1.2.3