summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/Eval.hs2
-rw-r--r--src/Job.hs3
-rw-r--r--src/Job/Types.hs4
3 files changed, 6 insertions, 3 deletions
diff --git a/src/Eval.hs b/src/Eval.hs
index 7a5bad3..d260d91 100644
--- a/src/Eval.hs
+++ b/src/Eval.hs
@@ -69,7 +69,7 @@ collectOtherRepos dset decl = do
let gatherDependencies seen (d : ds)
| d `elem` seen = gatherDependencies seen ds
| Just job <- find ((d ==) . jobName) jobs
- = gatherDependencies (d : seen) (map fst (jobUses job) ++ ds)
+ = gatherDependencies (d : seen) (map fst (jobRequiredArtifacts job) ++ ds)
| otherwise = gatherDependencies (d : seen) ds
gatherDependencies seen [] = seen
diff --git a/src/Job.hs b/src/Job.hs
index 5a28a50..116a090 100644
--- a/src/Job.hs
+++ b/src/Job.hs
@@ -23,7 +23,6 @@ import Control.Monad.Catch
import Control.Monad.Except
import Control.Monad.IO.Class
-import Data.Containers.ListUtils
import Data.List
import Data.Map (Map)
import Data.Map qualified as M
@@ -304,7 +303,7 @@ waitForUsedArtifacts
-> m [ ( ArtifactSpec, ArtifactOutput ) ]
waitForUsedArtifacts tout job results outVar = do
origState <- liftIO $ atomically $ readTVar outVar
- let ( selfSpecs, artSpecs ) = partition ((jobName job ==) . fst) $ nubOrd $ jobUses job ++ (map jpArtifact $ jobPublish job)
+ let ( selfSpecs, artSpecs ) = partition ((jobName job ==) . fst) $ jobRequiredArtifacts job
forM_ selfSpecs $ \( _, artName@(ArtifactName tname) ) -> do
when (not (artName `elem` map fst (jobArtifacts job))) $ do
diff --git a/src/Job/Types.hs b/src/Job/Types.hs
index 8d02057..5d3f0f3 100644
--- a/src/Job/Types.hs
+++ b/src/Job/Types.hs
@@ -1,5 +1,6 @@
module Job.Types where
+import Data.Containers.ListUtils
import Data.Kind
import Data.Text (Text)
import Data.Text qualified as T
@@ -41,6 +42,9 @@ stringJobName (JobName name) = T.unpack name
textJobName :: JobName -> Text
textJobName (JobName name) = name
+jobRequiredArtifacts :: Job' d -> [ ArtifactSpec ]
+jobRequiredArtifacts job = nubOrd $ jobUses job ++ (map jpArtifact $ jobPublish job)
+
type family JobRepo d :: Type where
JobRepo Declared = Maybe ( RepoName, Maybe Text )