diff options
Diffstat (limited to 'src/Command/Run.hs')
| -rw-r--r-- | src/Command/Run.hs | 19 | 
1 files changed, 9 insertions, 10 deletions
| diff --git a/src/Command/Run.hs b/src/Command/Run.hs index ca6d275..a7e7eff 100644 --- a/src/Command/Run.hs +++ b/src/Command/Run.hs @@ -139,6 +139,7 @@ argumentJobSource names = do          Just commit -> (: []) <$> getCommitTree commit          Nothing -> return []      let cidPart = map (JobIdTree Nothing "" . treeId) jobtree +        jobsetId = ()      jobsetJobsEither <- fmap Right $ forM names $ \name ->          case find ((name ==) . jobName) (configJobs config) of              Just job -> return job @@ -151,22 +152,20 @@ refJobSource :: [ JobRef ] -> CommandExec JobSource  refJobSource [] = emptyJobSource  refJobSource refs = do      jobs <- foldl' addJobToList [] <$> cmdEvalWith id (mapM evalJobReference refs) -    oneshotJobSource . map (JobSet Nothing . Right . reverse) $ jobs +    oneshotJobSource . map (\( sid, js ) -> JobSet sid Nothing (Right $ reverse js)) $ jobs    where -    deriveSetId :: Job -> [ JobIdPart ] -    deriveSetId job = let JobId parts = jobId job in init parts - -    addJobToList :: [[ Job ]] -> Job -> [[ Job ]] -    addJobToList (js@(j : _) : rest) job -        | deriveSetId j == deriveSetId job = (job : js) : rest -        | otherwise                        = js : addJobToList rest job -    addJobToList _ job                     = [[ job ]] +    addJobToList :: [ ( JobSetId, [ Job ] ) ] -> ( Job, JobSetId ) -> [ ( JobSetId, [ Job ] ) ] +    addJobToList (( sid, js ) : rest ) ( job, jsid ) +        | sid == jsid             = ( sid, job : js ) : rest +        | otherwise               = ( sid, js ) : addJobToList rest ( job, jsid ) +    addJobToList [] ( job, jsid ) = [ ( jsid, [ job ] ) ]  loadJobSetFromRoot :: (MonadIO m, MonadFail m) => JobRoot -> Commit -> m DeclaredJobSet  loadJobSetFromRoot root commit = case root of      JobRootRepo _ -> loadJobSetForCommit commit      JobRootConfig config -> return JobSet -        { jobsetCommit = Just commit +        { jobsetId = () +        , jobsetCommit = Just commit          , jobsetJobsEither = Right $ configJobs config          } |