diff options
| author | Roman Smrž <roman.smrz@seznam.cz> | 2025-04-12 21:01:26 +0200 | 
|---|---|---|
| committer | Roman Smrž <roman.smrz@seznam.cz> | 2025-04-12 21:04:17 +0200 | 
| commit | d0ade87f13dec39eb3b62cac34c3fe31135a14f8 (patch) | |
| tree | d1a8217f0e46cf34645545700c9a63da654a405e | |
| parent | a8f1e216681a1f03e15b8b71d1f83f7aa3493617 (diff) | |
Create job directory based on job ID
| -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 |