diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/Job.hs | 11 | 
1 files changed, 4 insertions, 7 deletions
| @@ -283,26 +283,23 @@ updateStatusFile path outVar = void $ liftIO $ forkIO $ loop Nothing  prepareJob :: (MonadIO m, MonadMask m, MonadFail m) => FilePath -> Maybe Commit -> Job -> (FilePath -> FilePath -> m a) -> m a  prepareJob dir mbCommit job inner = do      withSystemTempDirectory "minici" $ \checkoutPath -> do -        jdirCommit <- case mbCommit of +        case mbCommit of              Just commit -> do                  tree <- getCommitTree commit                  forM_ (jobContainingCheckout job) $ \(JobCheckout mbsub dest) -> do                      subtree <- maybe return (getSubtree mbCommit) mbsub $ tree                      checkoutAt subtree $ checkoutPath </> fromMaybe "" dest -                return $ showTreeId (treeId tree) </> stringJobName (jobName job)              Nothing -> do                  when (not $ null $ jobContainingCheckout job) $ do                      fail $ "no containing repository, can't do checkout" -                return $ stringJobName (jobName job) -        jdirOther <- forM (jobOtherCheckout job) $ \( tree, JobCheckout mbsub dest ) -> do +        forM_ (jobOtherCheckout job) $ \( tree, JobCheckout mbsub dest ) -> do              subtree <- maybe return (getSubtree Nothing) mbsub $ tree              checkoutAt subtree $ checkoutPath </> fromMaybe "" dest -            return $ showTreeId (treeId tree) -        let jdir = dir </> "jobs" </> jdirCommit </> joinPath jdirOther +        let JobId jidParts = jobId job +            jdir = dir </> "jobs" </> joinPath (map (T.unpack . textJobIdPart) (jidParts))          liftIO $ createDirectoryIfMissing True jdir -          inner checkoutPath jdir  runJob :: Job -> [ArtifactOutput] -> FilePath -> FilePath -> ExceptT (JobStatus JobOutput) IO JobOutput |