summaryrefslogtreecommitdiff
path: root/src/Job/Types.hs
diff options
context:
space:
mode:
authorRoman Smrž <roman.smrz@seznam.cz>2025-04-05 21:41:46 +0200
committerRoman Smrž <roman.smrz@seznam.cz>2025-04-08 22:19:55 +0200
commit6645caa6796c1f253aded5c483e9f4d504f5fba5 (patch)
tree51546aabeeb8d9f14af8dbbb2848a53ecf4a9398 /src/Job/Types.hs
parent6350311e81bb116bb7975bcc76e1dc9577194531 (diff)
Put job ID to evaluated job
Diffstat (limited to 'src/Job/Types.hs')
-rw-r--r--src/Job/Types.hs10
1 files changed, 9 insertions, 1 deletions
diff --git a/src/Job/Types.hs b/src/Job/Types.hs
index 5415e4d..19cf560 100644
--- a/src/Job/Types.hs
+++ b/src/Job/Types.hs
@@ -14,7 +14,8 @@ data Declared
data Evaluated
data Job' d = Job
- { jobName :: JobName
+ { jobId :: JobId' d
+ , jobName :: JobName
, jobContainingCheckout :: [ JobCheckout ]
, jobOtherCheckout :: [ ( JobRepo d, Maybe Text, JobCheckout ) ]
, jobRecipe :: [ CreateProcess ]
@@ -25,6 +26,10 @@ data Job' d = Job
type Job = Job' Evaluated
type DeclaredJob = Job' Declared
+type family JobId' d :: Type where
+ JobId' Declared = JobName
+ JobId' Evaluated = JobId
+
data JobName = JobName Text
deriving (Eq, Ord, Show)
@@ -78,3 +83,6 @@ textJobIdPart = \case
JobIdName name -> textJobName name
JobIdCommit cid -> textCommitId cid
JobIdTree tid -> textTreeId tid
+
+textJobId :: JobId -> Text
+textJobId (JobId ids) = T.intercalate "." $ map textJobIdPart ids