Skip to content

Commit

Permalink
Add types, helpers and redering for set_pipeline step
Browse files Browse the repository at this point in the history
  • Loading branch information
akshaymankar committed Feb 29, 2020
1 parent 6cd4d28 commit 2be45df
Show file tree
Hide file tree
Showing 19 changed files with 144 additions and 41 deletions.
6 changes: 6 additions & 0 deletions defaults/SetPipelineStep.dhall
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
{ vars = None ../types/JSONObject.dhall
, var_files = None (List Text)
, tags = None (List Text)
, timeout = None Text
, attempts = None Natural
}
5 changes: 4 additions & 1 deletion defaults/package.dhall
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
./Resource.dhall sha256:6a42d337edb6bdd591871f41caa350eb67d8b5eab51b06a154b4973ae74b6dde
? ./Resource.dhall
, Job =
./Job.dhall sha256:0cb9ded91690e80d5411c742575c56b2b3a41c8c0c1ac0267992318e43df00e7
./Job.dhall sha256:3d949368be2ea96468cbf142e3529719d44225d3e9daab7ed779f7cd51de7368
? ./Job.dhall
, GetStep =
./GetStep.dhall sha256:cac33657ae7f42c625cbb33de707a5a1681d4b1f23e08c0a05c2cd0b440e7ce8
Expand Down Expand Up @@ -34,4 +34,7 @@
, PutStep =
./PutStep.dhall sha256:4c1bbd2b0842d5f6f23dd1178a3f0e734f0b901cb4cfb4adb6e6c9d61cb1a39b
? ./PutStep.dhall
, SetPipelineStep =
./SetPipelineStep.dhall sha256:80b6b52b2ab1f2b7945bca6b02c9c9250846b6ca1441da32d2738987c3b50eef
? ./SetPipelineStep.dhall
}
2 changes: 1 addition & 1 deletion extractors/package.dhall
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
{ resourcesFromJobs =
./resourcesFromJobs.dhall sha256:ebae6ead8ad17037884f99e10136782cf705f534eba9d41f06ed0d6db6e34ad0
./resourcesFromJobs.dhall sha256:eb61615a4847ebe2d5d9bf61d0288f088295fc845476050595e083db3b00fb2c
? ./resourcesFromJobs.dhall
, resourceTypesFromResources =
./resourcesTypesFromResources.dhall sha256:b49098518c53809ff472643c55e94399dfa789f795e77089085dad673404f223
Expand Down
17 changes: 14 additions & 3 deletions extractors/resourcesFromJobs.dhall
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ let resourcesFromStepHooks
catOptionals
(List Resource)
[ h.ensure, h.on_success, h.on_failure, h.on_abort ]

in Prelude.List.concat Resource listOfListOfResources

let resourcesFromGetStep
Expand All @@ -36,6 +36,12 @@ let resourcesFromTaskStep
λ(h : StepHooks (List Resource))
resourcesFromStepHooks h

let resourcesFromSetPipelineStep
: Types.SetPipelineStep StepHooks (List Resource) List Resource
= λ(_ : Types.SetPipelineStep)
λ(h : StepHooks (List Resource))
resourcesFromStepHooks h

let resourcesFromAggregateOrDo
: List (List Resource) StepHooks (List Resource) List Resource
= λ(rs : List (List Resource))
Expand Down Expand Up @@ -75,6 +81,7 @@ let resourcesFromStep =
{ get = resourcesFromGetStep
, put = resourcesFromPutStep
, task = resourcesFromTaskStep
, set_pipeline = resourcesFromSetPipelineStep
, aggregate = resourcesFromAggregateOrDo
, do = resourcesFromAggregateOrDo
, try = resourcesFromTry
Expand All @@ -87,8 +94,12 @@ let resourcesFromJob =
catOptionals
Types.Step
[ j.on_abort, j.on_failure, j.on_success, j.ensure ]

in Prelude.List.concatMap Types.Step Resource resourcesFromStep (j.plan # hookSteps)

in Prelude.List.concatMap
Types.Step
Resource
resourcesFromStep
(j.plan # hookSteps)

in Prelude.List.concatMap Types.Job Resource resourcesFromJob
: List Types.Job List Resource
4 changes: 4 additions & 0 deletions helpers/addHooks.dhall
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,10 @@ let addHooks
λ(t : Types.TaskStep)
λ(_ : StepHooks Step)
./taskWithHooks.dhall t hooks
, set_pipeline =
λ(s : Types.SetPipelineStep)
λ(_ : StepHooks Step)
./setPipelineStepWithHooks.dhall s hooks
, aggregate =
λ(steps : List Step)
λ(_ : StepHooks Step)
Expand Down
12 changes: 12 additions & 0 deletions helpers/addTags.dhall
Original file line number Diff line number Diff line change
Expand Up @@ -61,6 +61,17 @@ let addTagsToTask
λ(c : StepConstructors S)
c.task (t { tags = mergeTags t.tags tags }) (translateHooks S c h)

let addTagsToSetPipeline
: List Text Types.SetPipelineStep Types.StepHooks Step Step
= λ(tags : List Text)
λ(s : Types.SetPipelineStep)
λ(h : Types.StepHooks Step)
λ(S : Type)
λ(c : StepConstructors S)
c.set_pipeline
(s { tags = mergeTags s.tags tags })
(translateHooks S c h)

let addTagsToStep
: List Text Step Step
= λ(tags : List Text)
Expand All @@ -70,6 +81,7 @@ let addTagsToStep
{ get = addTagsToGet tags
, put = addTagsToPut tags
, task = addTagsToTask tags
, set_pipeline = addTagsToSetPipeline tags
, aggregate = ./aggregateWithHooks.dhall
, do = ./doWithHooks.dhall
, try = ./tryWithHooks.dhall
Expand Down
4 changes: 0 additions & 4 deletions helpers/getWithHooks.dhall
Original file line number Diff line number Diff line change
@@ -1,9 +1,5 @@
let Types = ../types/package.dhall

let Defaults = ../defaults/package.dhall

let Prelude = ../lib/prelude.dhall

in ( λ(getStep : Types.GetStep)
λ(hooks : Types.StepHooks Types.Step)
λ(Step : Type)
Expand Down
38 changes: 22 additions & 16 deletions helpers/package.dhall
Original file line number Diff line number Diff line change
@@ -1,49 +1,55 @@
{ taskStep =
./taskStep.dhall sha256:70d9bca82912ffc2d670952657d8f54f5090ab7a1b3d87f136104bee11537359
./taskStep.dhall sha256:35f1f101a0e28a192330aadc36105db3f4e4de4a2376dcdc906ce66ede466027
? ./taskStep.dhall
, putStep =
./putStep.dhall sha256:36cf1f3065db932e5cd52bc564b9ce0a4236a6713277dacb11119d497ff77196
./putStep.dhall sha256:0bdc86fff43404a8bd70f7f1b0a1a1c06ef06cc8cc6564b091eb94f62efd985b
? ./putStep.dhall
, getStep =
./getStep.dhall sha256:7fa4a6cc1b49f64d6420d1ba0de9cfac09f0f78fac782644043d99d59ad00ed1
./getStep.dhall sha256:44a9ad8aeddca12f390148e76d649e29607d1160e1984440a008e923b6e7cb1e
? ./getStep.dhall
, setPipelineStep =
./setPipelineStep.dhall sha256:d88e17fb0603e3464672ee22225828e5be3728955b57f9ce363fa32b39712e99
? ./setPipelineStep.dhall
, setPipelineStepWithHooks =
./setPipelineStepWithHooks.dhall sha256:042f8840304647a3041d03b116468248256a43867b81d1f5653814f725b69caa
? ./setPipelineStepWithHooks.dhall
, aggregateStep =
./aggregateStep.dhall sha256:4c63bc1b4c97b7a7496644ac35a848bce4673ae929ac7bce016d269a1df1d61c
./aggregateStep.dhall sha256:66bd981b354edb0491ad2563392b75f943778ad4cffa0de49d7dac0f351b6137
? ./aggregateStep.dhall
, inParallelStep =
./inParallelStep.dhall sha256:16810a83749f2373df22b263004c7f462bbe744089cdba5749e241555339e2ec
./inParallelStep.dhall sha256:0d99e7f5466a08ea64980b150c99f63c65c09b22e4a859a4eff95ec0f86f459e
? ./inParallelStep.dhall
, inParallelStepSimple =
./inParallelStepSimple.dhall sha256:70d3023fb015584b5ed0d439e0a0aaa8cef6802733d85256cf571a8fbd5da8fd
./inParallelStepSimple.dhall sha256:3dd28a9566544d59482cdd9a8d29fa2617c47eab30f2027d90a966582340f266
? ./inParallelStepSimple.dhall
, doStep =
./doStep.dhall sha256:8db65241db7e62a1eb2ba241c61491ca964f438dfc74708f696ec2475fb65b08
./doStep.dhall sha256:6939459a1703b9173c0cad95ab4f2c7e6b1c08856c74e16d70d4ac21be90d225
? ./doStep.dhall
, tryStep =
./tryStep.dhall sha256:54675d2eef37e557d8208d86dd76162b9fd7d97e7c24b7f249ca20e9b39319eb
./tryStep.dhall sha256:3ff6d62d5444b1b0d8e0625cdf6ab784b8771e682d32615981fc50187c8d07d8
? ./tryStep.dhall
, getWithHooks =
./getWithHooks.dhall sha256:955df86d3c2e47cc8ad716753daa601ab480e517ef95d5cc254e81bff26830f4
./getWithHooks.dhall sha256:814a97dd8f2a1b235cb78e5da23cde349d43c4c31e7685d6a186c1aff580f6fa
? ./getWithHooks.dhall
, putWithHooks =
./putWithHooks.dhall sha256:f371b5557998a9c6c8cc62931e5ed0f71f47e2446c61a66e06911d1c5b2890b5
./putWithHooks.dhall sha256:8d495a462244021cdab012cb09787a91a414b55a8b5c0ad064cacd5d0bdca1f1
? ./putWithHooks.dhall
, taskWithHooks =
./taskWithHooks.dhall sha256:315fee6fb1194a7e9d65046f6c9b411b50ba5cc4648ce4ae83a90907aaac7b61
./taskWithHooks.dhall sha256:e7147cb3d5e60ac0354c72b787305517bec0f839b0fea98173bac08da4c2f541
? ./taskWithHooks.dhall
, inParallelWithHooks =
./inParallelWithHooks.dhall sha256:165993bc29b1e5f1aa9b9be629b5ce443626cc1a481ff1af3a301ed492da0180
./inParallelWithHooks.dhall sha256:6c1dddcbdf64f8a8bfd002a56ebba422b5be5c2922099e5a297dd25b4bb54fb6
? ./inParallelWithHooks.dhall
, aggregateWithHooks =
./aggregateWithHooks.dhall sha256:d1aa9c681ad69025596b888acc95ce81d1c5599de38441190499a19420e842a2
./aggregateWithHooks.dhall sha256:8b11ec6d240005c4707cc6920539731b4788a6dcf717d3f9679da3c8c93581ae
? ./aggregateWithHooks.dhall
, doWithHooks =
./doWithHooks.dhall sha256:540a12579021f3b597f34d7929f4e9686d66274ad542173e8334a2236b748e7c
./doWithHooks.dhall sha256:aa0aabe9c774a7f875f2b7f86ba732719b13c0ea00a7637a82b1e76526aa3c6a
? ./doWithHooks.dhall
, tryWithHooks =
./tryWithHooks.dhall sha256:b1808275879f924e73fd9c12393f04a9563c8f1a74743f5ac125d9849b912b0d
./tryWithHooks.dhall sha256:bbec9d446615e592d83a5f9340ebad2ac289bfcab56fa95338c7e45662a42f5d
? ./tryWithHooks.dhall
, addTags =
./addTags.dhall sha256:646935e099f817d6d1e1bce332009a53a3ec02c21bfa1d41a9697fc772bcc423
./addTags.dhall sha256:99644b3b9ba67a6febd9c5038cd3f0b19265ba95f6211569e941fc890db6ab95
? ./addTags.dhall
}
10 changes: 10 additions & 0 deletions helpers/setPipelineStep.dhall
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
let Types = ../types/package.dhall

let Defaults = ../defaults/package.dhall

let setPipelineStep
: Types.SetPipelineStep Types.Step
= λ(s : Types.SetPipelineStep)
./setPipelineStepWithHooks.dhall s (Defaults.StepHooks Types.Step)

in setPipelineStep
11 changes: 11 additions & 0 deletions helpers/setPipelineStepWithHooks.dhall
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
let Types = ../types/package.dhall

in ( λ(setPipelineStep : Types.SetPipelineStep)
λ(hooks : Types.StepHooks Types.Step)
λ(Step : Type)
λ(constructors : Types.StepConstructors Step)
constructors.set_pipeline
setPipelineStep
(./translateHooks.dhall Step constructors hooks )
)
: Types.SetPipelineStep Types.StepHooks Types.Step Types.Step
12 changes: 6 additions & 6 deletions package.dhall
Original file line number Diff line number Diff line change
@@ -1,19 +1,19 @@
{ Types =
./types/package.dhall sha256:35d21e500af502817cf25857447ac8e847261b76055f2c23b43f76a6a953db0c
./types/package.dhall sha256:c9a1dca64d70a28b126825f3c049c3c7ce5b62de6944d1eea819bce5cdafa545
? ./types/package.dhall
, defaults =
./defaults/package.dhall sha256:15e958705784a9fcb3c7637dac50ccf74be318db1ffc771af4d7ee9b5a3f2906
./defaults/package.dhall sha256:39713773aa3d6eccedfef9e30e3cb8692dbe79b48ebbbd4356715e4a8f388754
? ./defaults/package.dhall
, schemas =
./schemas/package.dhall sha256:bf3838a202e3d5d7f5b764229b069423ec54d2c6a8ea1658a1036ad855750bbd
./schemas/package.dhall sha256:565be3e3f8c6edbe9918664f59720ea3efe64dcb89f62cebb413992386b195bd
? ./schemas/package.dhall
, helpers =
./helpers/package.dhall sha256:bdca90b462850d40f056cdca9bef76a9004a6d89477b161c89c5ae76a2223c75
./helpers/package.dhall sha256:35a321e7b48d31bab3413a29b48b1a730502854e3c63bda8985fae3adb3300f6
? ./helpers/package.dhall
, render =
./render/package.dhall sha256:102ffaeffabf83db684c6c1ee9c30023ad080aea4a776328f6fd7d3a8d4b1309
./render/package.dhall sha256:a6e12d4c86b383901a5eb644f3775d26c107fdba02c4109f0d76089bb96b3af5
? ./render/package.dhall
, extractors =
./extractors/package.dhall sha256:3113ce1ed76db6bcf9659492a578df9fda84d50054918046cce7991d59f99de0
./extractors/package.dhall sha256:2d2d6d2320996d4f925e6166b8ccda65698f44cafe46fbb76b7fee1655fa7085
? ./extractors/package.dhall
}
10 changes: 5 additions & 5 deletions render/package.dhall
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
{ job =
./job.dhall sha256:5217065836a89ca47153203adabc99d349599161c8285d5d05f6c1c0f99a4859
./job.dhall sha256:7eca0c1aed9e8dff844a0d621719200a6deb6322bfbeb239bc41048a7dd9c0e8
? ./job.dhall
, jobs =
./jobs.dhall sha256:3bdb0bb378882b0fb44cbd135056e006e43710af3a5f79b769efe0d581c8aba8
./jobs.dhall sha256:b8c66082187c984b1548615eadd05600d881c473e9b765a806d8566928933f7e
? ./jobs.dhall
, step =
./step.dhall sha256:c757012cc0eb2a70123b59ea2c267a965d463e7b81af37834d5c85d3a1a5bfa7
./step.dhall sha256:b034355ac3e8f54fb5be5ddf79855a892745bb4a144db8bb33e3b1f0011fde7f
? ./step.dhall
, resource =
./resource.dhall sha256:005e009978277d17d9a71478b1b52d52fd39bc58d51916f835745fe57938956e
Expand All @@ -20,9 +20,9 @@
./resourceTypes.dhall sha256:ff3410ebad054a9ad069fe5e6cdcdb22dc39c7e05d52804248899c91122121da
? ./resourceTypes.dhall
, pipeline =
./pipeline.dhall sha256:0e1cfa9889565ae06800da328b1b52e2e98b330857081ed44724d193ab206664
./pipeline.dhall sha256:733839e8878e71390663ee22fda86049e92e4717e458740cbacb983e2ec275cb
? ./pipeline.dhall
, groupedJobs =
./groupedJobs.dhall sha256:1786999645ddbe8a085374ec226b86f3befb0990578445279a96d3212b6c6ab7
./groupedJobs.dhall sha256:e21e5543ac6f7ee3d06877cda2a88cf6ba56632f406a0ce84b0a5302ff0378f6
? ./groupedJobs.dhall
}
20 changes: 20 additions & 0 deletions render/setPipelineStep.dhall
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
let Types = ../types/package.dhall

let RenderOptional = ./optionals/package.dhall

let JSON = (../lib/prelude.dhall).JSON

let render
: Types.SetPipelineStep Types.JSONObject
= λ(s : Types.SetPipelineStep)
toMap
{ set_pipeline = JSON.string s.set_pipeline
, file = JSON.string s.file
, vars = RenderOptional.jsonObject s.vars
, var_files = RenderOptional.lists.text s.var_files
, tags = RenderOptional.lists.text s.tags
, timeout = RenderOptional.text s.timeout
, attempts = RenderOptional.natural s.attempts
}

in render
6 changes: 6 additions & 0 deletions render/step.dhall
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,11 @@ let renderTask =
λ(hooks : Types.StepHooks JSON.Type)
concatJSONs [ ./taskStep.dhall task, ./stepHooks.dhall hooks ]

let renderSetPipeline =
λ(s : Types.SetPipelineStep)
λ(hooks : Types.StepHooks JSON.Type)
concatJSONs [ ./setPipelineStep.dhall s, ./stepHooks.dhall hooks ]

let renderAggregate =
λ(steps : List JSON.Type)
λ(hooks : Types.StepHooks JSON.Type)
Expand Down Expand Up @@ -54,6 +59,7 @@ let render
{ get = renderGet
, put = renderPut
, task = renderTask
, set_pipeline = renderSetPipeline
, aggregate = renderAggregate
, do = renderDo
, try = renderTry
Expand Down
3 changes: 3 additions & 0 deletions schemas/SetPipelineStep.dhall
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
{ Type = ../types/SetPipelineStep.dhall
, default = ../defaults/SetPipelineStep.dhall
}
5 changes: 4 additions & 1 deletion schemas/package.dhall
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
./Resource.dhall sha256:329c244c898ea59b34e2ee43b4d9f80a2ef4ceda1d18fcdb1ce9eeca117cfc04
? ./Resource.dhall
, Job =
./Job.dhall sha256:3ba2590e72451a38a1b682be7eb33db63853cbeaaf0c00ba728b23d676e7ae93
./Job.dhall sha256:88ae8c7f60ae9614e933cb9b9d5cab4371fe280ccb5263fc777a2a8cfef9999b
? ./Job.dhall
, GetStep =
./GetStep.dhall sha256:0dc6d75285f9908a6b37c21cf5e7b51c64fca19cb1995df9d4769b03791f53d0
Expand Down Expand Up @@ -34,4 +34,7 @@
, PutStep =
./PutStep.dhall sha256:a492b698682efc43bdc74ca78358ef84affe33c78da494619e8997c058d0ae20
? ./PutStep.dhall
, SetPipelineStep =
./SetPipelineStep.dhall sha256:0be03696f64c97a4ab5dd342836cc7df535e94246c47dc3bcd6c7fcc6adc0d52
? ./SetPipelineStep.dhall
}
8 changes: 8 additions & 0 deletions types/SetPipelineStep.dhall
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
{ set_pipeline : Text
, file : Text
, vars : Optional ./JSONObject.dhall
, var_files : Optional (List Text)
, tags : Optional (List Text)
, timeout : Optional Text
, attempts : Optional Natural
}
1 change: 1 addition & 0 deletions types/StepConstructors.dhall
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ in λ(Step : Type)
{ get : ./GetStep.dhall StepHooks Step Step
, put : ./PutStep.dhall StepHooks Step Step
, task : ./TaskStep.dhall StepHooks Step Step
, set_pipeline : ./SetPipelineStep.dhall -> StepHooks Step -> Step
, aggregate : List Step StepHooks Step Step
, in_parallel : ./InParallelStep.dhall Step StepHooks Step Step
, do : List Step StepHooks Step Step
Expand Down
11 changes: 7 additions & 4 deletions types/package.dhall
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@
./InParallelStep.dhall sha256:92395de51f548251bc0caae8e3aadafba89e4ed6c743ea86c80b4651fa0cd678
? ./InParallelStep.dhall
, Job =
./Job.dhall sha256:43160b9d85391d6bedbfcdcf94dca62d1e6ca208193263683842e50b73c3533b
./Job.dhall sha256:9e4477028b63bede14c381e715cd431415a82ec4202e224b404c29d49355a0dc
? ./Job.dhall
, JobBuildLogRetention =
./JobBuildLogRetention.dhall sha256:130df5b466a3822ac49495046e68dc58b46b0366ac31f05520e44949010349b6
Expand All @@ -35,10 +35,10 @@
./ResourceType.dhall sha256:1a22b92783a4256b1c7d4e8ef1ae56641fce04c81bfd37ed4bba69904c5387ee
? ./ResourceType.dhall
, Step =
./Step.dhall sha256:bf53e03316c2c05527b27b63928d831cdd81dce2e6364fcf053f86b3b6441db4
./Step.dhall sha256:5c81d26cbc5be85ac48b5be409e73ff38b0dcc62d621db226ea62978efb4a8e8
? ./Step.dhall
, StepConstructors =
./StepConstructors.dhall sha256:e5d7da6a39a2afb939a4f5f27ab2e4d7c7db6411c0887dd43ec8503af8f55c2b
./StepConstructors.dhall sha256:78dafdf71dcd01e35a6dc1bef8084da2a2df01845ee7f601dd67e78bf68b890c
? ./StepConstructors.dhall
, StepHooks =
./StepHooks.dhall sha256:4894aa205d000a93f04b62b2dbceff77cdf3fcda634bcc2fa6d3777e10c2734a
Expand Down Expand Up @@ -71,6 +71,9 @@
./TextTextPair.dhall sha256:641845344ce6be001271e0052808b6c8ca10ce5939efefea3560c68c37538454
? ./TextTextPair.dhall
, GroupedJob =
./GroupedJob.dhall sha256:87f4dc5e19cfedd2d5e9c095ac4e417ecaf30d108561abde96258c9b84442361
./GroupedJob.dhall sha256:1a764ce965e5b2b612b771d1850f8657d3f915be9f94ddce6bf5a87a026e7118
? ./GroupedJob.dhall
, SetPipelineStep =
./SetPipelineStep.dhall sha256:2aa66aabecb1b2de52299cf48ba96e17acc19199270f30093fc0d5fcb80ae4d2
? ./SetPipelineStep.dhall
}

0 comments on commit 2be45df

Please sign in to comment.