From d0ade87f13dec39eb3b62cac34c3fe31135a14f8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Roman=20Smr=C5=BE?= Date: Sat, 12 Apr 2025 21:01:26 +0200 Subject: Create job directory based on job ID --- src/Job.hs | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) (limited to 'src') diff --git a/src/Job.hs b/src/Job.hs index afc9f91..4689c3e 100644 --- a/src/Job.hs +++ b/src/Job.hs @@ -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 -- cgit v1.2.3