packages feed

dhall-fly 0.2.4 → 0.3.0

raw patch · 36 files changed

+398/−129 lines, 36 filesPVP ok

version bump matches the API change (PVP)

API changes (from Hackage documentation)

+ Fly.Types: SetPipeline :: SetPipelineStep -> StepHooks -> Step
+ Fly.Types: SetPipelineStep :: Text -> Text -> Maybe (HashMap Text Value) -> Maybe [Text] -> Maybe [Text] -> Maybe Text -> Maybe Natural -> SetPipelineStep
+ Fly.Types: [spAttempts] :: SetPipelineStep -> Maybe Natural
+ Fly.Types: [spFile] :: SetPipelineStep -> Text
+ Fly.Types: [spSetPipeline] :: SetPipelineStep -> Text
+ Fly.Types: [spTags] :: SetPipelineStep -> Maybe [Text]
+ Fly.Types: [spTimeout] :: SetPipelineStep -> Maybe Text
+ Fly.Types: [spVarFiles] :: SetPipelineStep -> Maybe [Text]
+ Fly.Types: [spVars] :: SetPipelineStep -> Maybe (HashMap Text Value)
+ Fly.Types: [stepSetPipeline] :: Step -> SetPipelineStep
+ Fly.Types: data SetPipelineStep
+ Fly.Types: instance Data.Aeson.Types.ToJSON.ToJSON Fly.Types.SetPipelineStep
+ Fly.Types: instance Dhall.FromDhall Fly.Types.SetPipelineStep
+ Fly.Types: instance GHC.Classes.Eq Fly.Types.SetPipelineStep
+ Fly.Types: instance GHC.Generics.Generic Fly.Types.SetPipelineStep
+ Fly.Types: instance GHC.Show.Show Fly.Types.SetPipelineStep

Files

ChangeLog.md view
@@ -1,24 +1,37 @@ # Changelog for dhall-fly +## 0.3.0++* Add support for `set_pipeline` step.++## 0.2.4++* Tighten bounds for dhall-json.++## 0.2.3++* Upgrade dhall to 1.29 and dhall-json to 1.6.1.+* Upgrade dhall-concourse to 0.6.0.+ ## 0.2.2 -* Upgrade dhall to 1.28 and dhall-json to 1.6+* Upgrade dhall to 1.28 and dhall-json to 1.6.  ## 0.2.1 -* Groups retain the order they are in list of grouped jobs+* Groups retain the order they are in list of grouped jobs.  ## 0.2.0 -* Tested with dhall-concourse 0.5.0-* Add `--file` command line option to render pipelines from files-* Add support for grouping jobs-* Fix: Add inputs to `PutSteps`-* Fix: Add tags, timeouts and attempts to `ToJSON` instance of `PutStep`-* Fix: Add vars, tags, timeouts and attempts to `TaskStep`+* Tested with dhall-concourse 0.5.0.+* Add `--file` command line option to render pipelines from files.+* Add support for grouping jobs.+* Fix: Add inputs to `PutSteps`.+* Fix: Add tags, timeouts and attempts to `ToJSON` instance of `PutStep`.+* Fix: Add vars, tags, timeouts and attempts to `TaskStep`.  ## 0.1.0 -* Support for dhall-concourse 0.2.2+* Support for dhall-concourse 0.2.2.  ## Unreleased changes
dhall-concourse/README.md view
@@ -26,7 +26,7 @@  ```dhall let Concourse = -      https://raw.githubusercontent.com/akshaymankar/dhall-concourse/0.5.0/package.dhall+      https://raw.githubusercontent.com/akshaymankar/dhall-concourse/0.6.0/package.dhall  let jobs = ./jobs.dhall @@ -47,7 +47,7 @@  ```dhall let Concourse = -      https://raw.githubusercontent.com/akshaymankar/dhall-concourse/0.5.0/package.dhall+      https://raw.githubusercontent.com/akshaymankar/dhall-concourse/0.6.0/package.dhall  let groupedJobs = ./grouped-jobs.dhall 
+ dhall-concourse/defaults/SetPipelineStep.dhall view
@@ -0,0 +1,6 @@+{ vars = None ../types/JSONObject.dhall+, var_files = None (List Text)+, tags = None (List Text)+, timeout = None Text+, attempts = None Natural+}
dhall-concourse/defaults/package.dhall view
@@ -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@@ -34,4 +34,7 @@ , PutStep =       ./PutStep.dhall sha256:4c1bbd2b0842d5f6f23dd1178a3f0e734f0b901cb4cfb4adb6e6c9d61cb1a39b     ? ./PutStep.dhall+, SetPipelineStep =+      ./SetPipelineStep.dhall sha256:80b6b52b2ab1f2b7945bca6b02c9c9250846b6ca1441da32d2738987c3b50eef+    ? ./SetPipelineStep.dhall }
dhall-concourse/extractors/package.dhall view
@@ -1,5 +1,5 @@ { resourcesFromJobs =-      ./resourcesFromJobs.dhall sha256:ebae6ead8ad17037884f99e10136782cf705f534eba9d41f06ed0d6db6e34ad0+      ./resourcesFromJobs.dhall sha256:eb61615a4847ebe2d5d9bf61d0288f088295fc845476050595e083db3b00fb2c     ? ./resourcesFromJobs.dhall , resourceTypesFromResources =       ./resourcesTypesFromResources.dhall sha256:b49098518c53809ff472643c55e94399dfa789f795e77089085dad673404f223
dhall-concourse/extractors/resourcesFromJobs.dhall view
@@ -15,7 +15,7 @@               catOptionals                 (List Resource)                 [ h.ensure, h.on_success, h.on_failure, h.on_abort ]-        +         in  Prelude.List.concat Resource listOfListOfResources  let resourcesFromGetStep@@ -36,6 +36,12 @@       → λ(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))@@ -75,6 +81,7 @@           { get = resourcesFromGetStep           , put = resourcesFromPutStep           , task = resourcesFromTaskStep+          , set_pipeline = resourcesFromSetPipelineStep           , aggregate = resourcesFromAggregateOrDo           , do = resourcesFromAggregateOrDo           , try = resourcesFromTry@@ -87,8 +94,12 @@               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
dhall-concourse/helpers/addHooks.dhall view
@@ -22,6 +22,10 @@                 λ(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)
+ dhall-concourse/helpers/addTags.dhall view
@@ -0,0 +1,103 @@+let Prelude = ../lib/prelude.dhall++let Types = ../types/package.dhall++let Step = Types.Step++let StepConstructors = Types.StepConstructors++let translateHooks = ./translateHooks.dhall++let mergeTags+    : Optional (List Text) → List Text → Optional (List Text)+    =   λ(origTags : Optional (List Text))+      → λ(newTags : List Text)+      → Some+          ( merge+              { None = newTags+              , Some =+                    λ(tags : List Text)+                  → Prelude.List.concat Text [ tags, newTags ]+              }+              origTags+          )++let addTagsToGet+    : List Text → Types.GetStep → Types.StepHooks Step → Step+    =   λ(tags : List Text)+      → λ(g : Types.GetStep)+      → λ(h : Types.StepHooks Step)+      → λ(S : Type)+      → λ(c : StepConstructors S)+      → c.get+          (   g+            ⫽ { tags = mergeTags g.tags tags+              , resource = ./addTagsToResource.dhall tags g.resource+              }+          )+          (translateHooks S c h)++let addTagsToPut+    : List Text → Types.PutStep → Types.StepHooks Step → Step+    =   λ(tags : List Text)+      → λ(p : Types.PutStep)+      → λ(h : Types.StepHooks Step)+      → λ(S : Type)+      → λ(c : StepConstructors S)+      → c.put+          (   p+            ⫽ { tags = mergeTags p.tags tags+              , resource = ./addTagsToResource.dhall tags p.resource+              }+          )+          (translateHooks S c h)++let addTagsToTask+    : List Text → Types.TaskStep → Types.StepHooks Step → Step+    =   λ(tags : List Text)+      → λ(t : Types.TaskStep)+      → λ(h : Types.StepHooks Step)+      → λ(S : Type)+      → λ(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)+      → λ(s : Step)+      → s+          Step+          { get = addTagsToGet tags+          , put = addTagsToPut tags+          , task = addTagsToTask tags+          , set_pipeline = addTagsToSetPipeline tags+          , aggregate = ./aggregateWithHooks.dhall+          , do = ./doWithHooks.dhall+          , try = ./tryWithHooks.dhall+          , in_parallel = ./inParallelWithHooks.dhall+          }++let addTags+    : List Text → List Types.Job → List Types.Job+    =   λ(tags : List Text)+      → Prelude.List.map+          Types.Job+          Types.Job+          (   λ(j : Types.Job)+            →   j+              ⫽ { plan = Prelude.List.map Step Step (addTagsToStep tags) j.plan+                }+          )++in  addTags
+ dhall-concourse/helpers/addTagsToResource.dhall view
@@ -0,0 +1,8 @@+  λ(tags : List Text)+→ λ(r : ../types/Resource.dhall)+→   r+  ⫽ { tags =+        merge+          { None = Some tags, Some = λ(ts : List Text) → Some (ts # tags) }+          r.tags+    }
dhall-concourse/helpers/aggregateWithHooks.dhall view
@@ -1,20 +1,11 @@ let Types = ../types/package.dhall -let Prelude = ../lib/prelude.dhall- in    (   λ(steps : List Types.Step)         → λ(hooks : Types.StepHooks Types.Step)         → λ(Step : Type)         → λ(constructors : Types.StepConstructors Step)-        → let stepTypeFix =-                Prelude.List.map-                  Types.Step-                  Step-                  (λ(s : Types.Step) → s Step constructors)-                  steps--          in  constructors.aggregate-                stepTypeFix-                (./translateHooks.dhall hooks Step constructors)+        → constructors.aggregate+            (./translateSteps.dhall Step constructors steps)+            (./translateHooks.dhall Step constructors hooks)       )     : List Types.Step → Types.StepHooks Types.Step → Types.Step
dhall-concourse/helpers/doWithHooks.dhall view
@@ -1,22 +1,13 @@ let Types = ../types/package.dhall -let Prelude = ../lib/prelude.dhall- let doStep     : List Types.Step → Types.StepHooks Types.Step → Types.Step     =   λ(steps : List Types.Step)       → λ(hooks : Types.StepHooks Types.Step)       → λ(Step : Type)       → λ(constructors : Types.StepConstructors Step)-      → let stepTypeFix =-              Prelude.List.map-                Types.Step-                Step-                (λ(s : Types.Step) → s Step constructors)-                steps--        in  constructors.do-              stepTypeFix-              (./translateHooks.dhall hooks Step constructors)+      → constructors.do+          (./translateSteps.dhall Step constructors steps)+          (./translateHooks.dhall Step constructors hooks)  in  doStep
dhall-concourse/helpers/getWithHooks.dhall view
@@ -1,15 +1,11 @@ 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)         → λ(constructors : Types.StepConstructors Step)         → constructors.get             getStep-            (./translateHooks.dhall hooks Step constructors)+            (./translateHooks.dhall Step constructors hooks)       )     : Types.GetStep → Types.StepHooks Types.Step → Types.Step
dhall-concourse/helpers/inParallelWithHooks.dhall view
@@ -1,42 +1,13 @@ let Types = ../types/package.dhall -let Prelude = ../lib/prelude.dhall--let typeFixSteps-    : ∀(T : Type) → Types.StepConstructors T → List Types.Step → List T-    =   λ(T : Type)-      → λ(constructors : Types.StepConstructors T)-      → Prelude.List.map Types.Step T (λ(s : Types.Step) → s T constructors)--let typeFix-    :   ∀(T : Type)-      → Types.StepConstructors T-      → Types.InParallelStep Types.Step-      → Types.InParallelStep T-    =   λ(T : Type)-      → λ(constructors : Types.StepConstructors T)-      → λ(parallel : Types.InParallelStep Types.Step)-      → merge-          { Steps =-                λ(s : List Types.Step)-              → (Types.InParallelStep T).Steps (typeFixSteps T constructors s)-          , Config =-                λ(cfg : Types.InParallelConfig Types.Step)-              → (Types.InParallelStep T).Config-                  (cfg ⫽ { steps = typeFixSteps T constructors cfg.steps })-          }-          parallel- let inParallelWithHooks     : Types.InParallelStep Types.Step → Types.StepHooks Types.Step → Types.Step     =   λ(parallelSteps : Types.InParallelStep Types.Step)       → λ(hooks : Types.StepHooks Types.Step)       → λ(Step : Type)       → λ(constructors : Types.StepConstructors Step)-      → let stepTypeFix = typeFix Step constructors parallelSteps--        in  constructors.in_parallel-              stepTypeFix-              (./translateHooks.dhall hooks Step constructors)+      → constructors.in_parallel+          (./translateInParallelStep.dhall Step constructors parallelSteps)+          (./translateHooks.dhall Step constructors hooks)  in  inParallelWithHooks
dhall-concourse/helpers/package.dhall view
@@ -1,46 +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:99644b3b9ba67a6febd9c5038cd3f0b19265ba95f6211569e941fc890db6ab95+    ? ./addTags.dhall }
dhall-concourse/helpers/putWithHooks.dhall view
@@ -6,6 +6,6 @@         → λ(constructors : Types.StepConstructors Step)         → constructors.put             putStep-            (./translateHooks.dhall hooks Step constructors)+            (./translateHooks.dhall Step constructors hooks)       )     : Types.PutStep → Types.StepHooks Types.Step → Types.Step
+ dhall-concourse/helpers/setPipelineStep.dhall view
@@ -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
+ dhall-concourse/helpers/setPipelineStepWithHooks.dhall view
@@ -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
dhall-concourse/helpers/taskWithHooks.dhall view
@@ -6,6 +6,6 @@         → λ(constructors : Types.StepConstructors Step)         → constructors.task             taskStep-            (./translateHooks.dhall hooks Step constructors)+            (./translateHooks.dhall Step constructors hooks)       )     : Types.TaskStep → Types.StepHooks Types.Step → Types.Step
dhall-concourse/helpers/translateHooks.dhall view
@@ -3,13 +3,13 @@ let Prelude = ../lib/prelude.dhall  let translateHooks-    :   Types.StepHooks Types.Step-      → ∀(S : Type)+    :   ∀(S : Type)       → Types.StepConstructors S+      → Types.StepHooks Types.Step       → Types.StepHooks S-    =   λ(hooks : Types.StepHooks Types.Step)-      → λ(S : Type)+    =   λ(S : Type)       → λ(constructors : Types.StepConstructors S)+      → λ(hooks : Types.StepHooks Types.Step)       → let translateOptionalStep =               Prelude.Optional.map                 Types.Step
+ dhall-concourse/helpers/translateInParallelStep.dhall view
@@ -0,0 +1,26 @@+let Types = ../types/package.dhall++let translateInParallelStep+    :   ∀(T : Type)+      → Types.StepConstructors T+      → Types.InParallelStep Types.Step+      → Types.InParallelStep T+    =   λ(T : Type)+      → λ(constructors : Types.StepConstructors T)+      → λ(parallel : Types.InParallelStep Types.Step)+      → merge+          { Steps =+                λ(s : List Types.Step)+              → (Types.InParallelStep T).Steps+                  (./translateSteps.dhall T constructors s)+          , Config =+                λ(cfg : Types.InParallelConfig Types.Step)+              → (Types.InParallelStep T).Config+                  (   cfg+                    ⫽ { steps = ./translateSteps.dhall T constructors cfg.steps+                      }+                  )+          }+          parallel++in  translateInParallelStep
+ dhall-concourse/helpers/translateSteps.dhall view
@@ -0,0 +1,13 @@+let Step = ../types/Step.dhall++let StepConstructors = ../types/StepConstructors.dhall++let Prelude = ../lib/prelude.dhall++let translateSteps+    : ∀(S : Type) → StepConstructors S → List Step → List S+    =   λ(S : Type)+      → λ(c : StepConstructors S)+      → Prelude.List.map Step S (λ(s : Step) → s S c)++in  translateSteps
dhall-concourse/helpers/tryWithHooks.dhall view
@@ -6,10 +6,8 @@       → λ(hooks : Types.StepHooks Types.Step)       → λ(Step : Type)       → λ(constructors : Types.StepConstructors Step)-      → let stepTypeFix = step Step constructors--        in  constructors.try-              stepTypeFix-              (./translateHooks.dhall hooks Step constructors)+      → constructors.try+          (step Step constructors)+          (./translateHooks.dhall Step constructors hooks)  in  tryStep
dhall-concourse/package.dhall view
@@ -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:334d50f7b6248b79c2d9c944d49dd60cb5ccd6e2812f42a83d4282eb6cf9a299+      ./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 }
dhall-concourse/render/package.dhall view
@@ -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@@ -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 }
+ dhall-concourse/render/setPipelineStep.dhall view
@@ -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
dhall-concourse/render/step.dhall view
@@ -25,6 +25,11 @@       → λ(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)@@ -54,6 +59,7 @@           { get = renderGet           , put = renderPut           , task = renderTask+          , set_pipeline = renderSetPipeline           , aggregate = renderAggregate           , do = renderDo           , try = renderTry
+ dhall-concourse/schemas/SetPipelineStep.dhall view
@@ -0,0 +1,3 @@+{ Type = ../types/SetPipelineStep.dhall+, default = ../defaults/SetPipelineStep.dhall+}
dhall-concourse/schemas/package.dhall view
@@ -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@@ -34,4 +34,7 @@ , PutStep =       ./PutStep.dhall sha256:a492b698682efc43bdc74ca78358ef84affe33c78da494619e8997c058d0ae20     ? ./PutStep.dhall+, SetPipelineStep =+      ./SetPipelineStep.dhall sha256:0be03696f64c97a4ab5dd342836cc7df535e94246c47dc3bcd6c7fcc6adc0d52+    ? ./SetPipelineStep.dhall }
+ dhall-concourse/types/SetPipelineStep.dhall view
@@ -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+}
dhall-concourse/types/StepConstructors.dhall view
@@ -4,6 +4,7 @@     → { 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
dhall-concourse/types/package.dhall view
@@ -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@@ -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@@ -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 }
dhall-fly.cabal view
@@ -4,10 +4,10 @@ -- -- see: https://github.com/sol/hpack ----- hash: e04d051736062d08179c44e114d8bc118d4af358af4bc0d5aa26447afeaf61b0+-- hash: 569dd59e63217c55a18a334d1436e5dc07fa0900c982b1cdc90e61fb84d1c594  name:           dhall-fly-version:        0.2.4+version:        0.3.0 synopsis:       Translate concourse config from Dhall to YAML description:    Please see the README on GitHub at <https://github.com/akshaymankar/dhall-fly#readme> category:       Concourse, YAML, JSON, Dhall@@ -29,6 +29,7 @@     dhall-concourse/defaults/package.dhall     dhall-concourse/defaults/PutStep.dhall     dhall-concourse/defaults/Resource.dhall+    dhall-concourse/defaults/SetPipelineStep.dhall     dhall-concourse/defaults/StepHooks.dhall     dhall-concourse/defaults/TaskConfig.dhall     dhall-concourse/defaults/TaskInput.dhall@@ -39,6 +40,8 @@     dhall-concourse/extractors/resourcesFromJobs.dhall     dhall-concourse/extractors/resourcesTypesFromResources.dhall     dhall-concourse/helpers/addHooks.dhall+    dhall-concourse/helpers/addTags.dhall+    dhall-concourse/helpers/addTagsToResource.dhall     dhall-concourse/helpers/aggregateStep.dhall     dhall-concourse/helpers/aggregateWithHooks.dhall     dhall-concourse/helpers/doStep.dhall@@ -51,9 +54,13 @@     dhall-concourse/helpers/package.dhall     dhall-concourse/helpers/putStep.dhall     dhall-concourse/helpers/putWithHooks.dhall+    dhall-concourse/helpers/setPipelineStep.dhall+    dhall-concourse/helpers/setPipelineStepWithHooks.dhall     dhall-concourse/helpers/taskStep.dhall     dhall-concourse/helpers/taskWithHooks.dhall     dhall-concourse/helpers/translateHooks.dhall+    dhall-concourse/helpers/translateInParallelStep.dhall+    dhall-concourse/helpers/translateSteps.dhall     dhall-concourse/helpers/tryStep.dhall     dhall-concourse/helpers/tryWithHooks.dhall     dhall-concourse/lib/prelude.dhall@@ -85,6 +92,7 @@     dhall-concourse/render/resources.dhall     dhall-concourse/render/resourceType.dhall     dhall-concourse/render/resourceTypes.dhall+    dhall-concourse/render/setPipelineStep.dhall     dhall-concourse/render/step.dhall     dhall-concourse/render/stepHooks.dhall     dhall-concourse/render/taskCache.dhall@@ -104,6 +112,7 @@     dhall-concourse/schemas/package.dhall     dhall-concourse/schemas/PutStep.dhall     dhall-concourse/schemas/Resource.dhall+    dhall-concourse/schemas/SetPipelineStep.dhall     dhall-concourse/schemas/StepHooks.dhall     dhall-concourse/schemas/TaskConfig.dhall     dhall-concourse/schemas/TaskInput.dhall@@ -125,6 +134,7 @@     dhall-concourse/types/PutStep.dhall     dhall-concourse/types/Resource.dhall     dhall-concourse/types/ResourceType.dhall+    dhall-concourse/types/SetPipelineStep.dhall     dhall-concourse/types/Step.dhall     dhall-concourse/types/StepConstructors.dhall     dhall-concourse/types/StepHooks.dhall@@ -143,6 +153,7 @@     test/data/in-built-resource-type.dhall     test/data/put.dhall     test/data/resource.dhall+    test/data/set-pipeline-step.dhall     test/data/task-config.dhall     test/data/task-step.dhall 
src/Fly/Types.hs view
@@ -210,6 +210,17 @@           v         -> error ("Expected " ++ show v ++ "to be Object")       v -> error ("Expected " ++ show v ++ "to be Object") +data SetPipelineStep = SetPipelineStep { spSetPipeline :: Text+                                       , spFile        :: Text+                                       , spVars        :: Maybe (HashMap Text Value)+                                       , spVarFiles   :: Maybe [Text]+                                       , spTags        :: Maybe [Text]+                                       , spTimeout     :: Maybe Text+                                       , spAttempts    :: Maybe Natural+                                       }+                     deriving (Show, Generic, Eq)+                     deriving FromDhall via FromDhallWithPrefix SetPipelineStep+ data InParallelStep = InParallelSteps {ipSteps  :: [Step]}                     | InParallelStepConfig {ipConfig :: InParallelConfig}                     deriving (Show, Generic, Eq)@@ -237,6 +248,7 @@           | Put { stepPut :: PutStep, stepHooks :: StepHooks }           | Task { stepTask :: TaskStep, stepHooks :: StepHooks }           | Aggregate { aggregatedSteps :: [Step], stepHooks :: StepHooks }+          | SetPipeline { stepSetPipeline :: SetPipelineStep, stepHooks :: StepHooks }           | InParallel { stepInParallel :: InParallelStep, stepHooks :: StepHooks }           | Do { doSteps :: [Step], stepHooks :: StepHooks  }           | Try { tryStep :: Step, stepHooks :: StepHooks  }@@ -249,16 +261,17 @@              (Lam _ _ --Constructors               c)) = extractStepFromConstructors c     extract x = extractStepFromConstructors x -- While recursing, only the constructor applications are available-    extractStepFromConstructors (App (App (Field (Var (V _ 0)) "get") s) hooks)       = buildStep Get s hooks-    extractStepFromConstructors (App (App (Field (Var (V _ 0)) "put") s) hooks)       = buildStep Put s hooks-    extractStepFromConstructors (App (App (Field (Var (V _ 0)) "task") s) hooks)      = buildStep Task s hooks-    extractStepFromConstructors (App (App (Field (Var (V _ 0)) "aggregate") s) hooks) = buildStep Aggregate s hooks-    extractStepFromConstructors (App (App (Field (Var (V _ 0)) "do") s) hooks)        = buildStep Do s hooks-    extractStepFromConstructors (App (App (Field (Var (V _ 0)) "try") s) hooks)       = buildStep Try s hooks+    extractStepFromConstructors (App (App (Field (Var (V _ 0)) "get") s) hooks)          = buildStep Get s hooks+    extractStepFromConstructors (App (App (Field (Var (V _ 0)) "put") s) hooks)          = buildStep Put s hooks+    extractStepFromConstructors (App (App (Field (Var (V _ 0)) "task") s) hooks)         = buildStep Task s hooks+    extractStepFromConstructors (App (App (Field (Var (V _ 0)) "set_pipeline") s) hooks) = buildStep SetPipeline s hooks+    extractStepFromConstructors (App (App (Field (Var (V _ 0)) "aggregate") s) hooks)    = buildStep Aggregate s hooks+    extractStepFromConstructors (App (App (Field (Var (V _ 0)) "do") s) hooks)           = buildStep Do s hooks+    extractStepFromConstructors (App (App (Field (Var (V _ 0)) "try") s) hooks)          = buildStep Try s hooks     extractStepFromConstructors (App (App (Field (Var (V _ 0)) "in_parallel")-                                          (App (Field (Union _) "Steps") s)) hooks)   = buildStep (InParallel . InParallelSteps ) s hooks+                                          (App (Field (Union _) "Steps") s)) hooks)      = buildStep (InParallel . InParallelSteps ) s hooks     extractStepFromConstructors (App (App (Field (Var (V _ 0)) "in_parallel")-                                          (App (Field (Union _) "Config") s)) hooks)  = buildStep (InParallel . InParallelStepConfig ) s hooks+                                          (App (Field (Union _) "Config") s)) hooks)     = buildStep (InParallel . InParallelStepConfig ) s hooks     extractStepFromConstructors t = typeError expected t     buildStep f x y = f <$> Dhall.extract auto x <*> Dhall.extract auto y @@ -273,6 +286,7 @@   toJSON (Get g h)           = mergeHooks g h   toJSON (Put p h)           = mergeHooks p h   toJSON (Task t h)          = mergeHooks t h+  toJSON (SetPipeline s h)   = mergeHooks s h   toJSON (Aggregate steps h) = mergeHooks (object ["aggregate" .= steps]) h   toJSON (Do steps h)        = mergeHooks (object ["do" .= steps]) h   toJSON (Try step h)        = mergeHooks (object ["try" .= step]) h@@ -323,6 +337,7 @@ $(deriveToJSON (aesonPrefix snakeCase) ''TaskOutput) $(deriveToJSON (aesonPrefix snakeCase) ''TaskCache) $(deriveToJSON (aesonPrefix snakeCase) ''TaskConfig)+$(deriveToJSON (aesonPrefix snakeCase) ''SetPipelineStep) $(deriveToJSON (aesonPrefix snakeCase) ''TaskContainerLimits) $(deriveToJSON (aesonPrefix snakeCase) ''InParallelConfig) $(deriveToJSON (aesonPrefix snakeCase) ''StepHooks)
src/Fly/Yaml.hs view
@@ -57,6 +57,7 @@     stepResources (Get GetStep{..} _)   = [getResource]     stepResources (Put PutStep{..} _)   = [putResource]     stepResources (Task _ _)            = []+    stepResources (SetPipeline _ _)     = []     stepResources (Aggregate steps _)   = getResourcesFromSteps steps     stepResources (Do steps _)          = getResourcesFromSteps steps     stepResources (Try step _)          = getResourcesFromStep step
test/Fly/TypesSpec.hs view
@@ -119,6 +119,34 @@                                             , "vars"          .= Null                                             , "tags"          .= Null ] +    describe "SetPipelineStep" $ do+      let testSP = SetPipelineStep{..} where+            spSetPipeline = "test-pipeline"+            spFile = "test-file"+            spVars = Nothing+            spVarFiles = Nothing+            spTags = Nothing+            spTimeout = Nothing+            spAttempts = Nothing++      describe "Interpret" $ do+        it "should interpret a set pipeline step" $ do+          sp <- input auto "./test/data/set-pipeline-step.dhall"+          sp `shouldBe` testSP++        it "should interpret a set pipeline step as step" $ do+          sp <- input auto "./dhall-concourse/helpers/setPipelineStep.dhall ./test/data/set-pipeline-step.dhall"+          sp `shouldBe` SetPipeline testSP (StepHooks Nothing Nothing Nothing Nothing)+      describe "ToJSON" $ do+        it "should translate a set pipeline step" $ do+          toJSON testSP `shouldBe` object [ "set_pipeline" .= "test-pipeline"+                                          , "file"         .= "test-file"+                                          , "vars"         .= Null+                                          , "var_files"    .= Null+                                          , "attempts"     .= Null+                                          , "timeout"      .= Null+                                          , "tags"         .= Null ]+ boshDeploymentResourceType :: ResourceType boshDeploymentResourceType = ResourceTypeCustom (CustomResourceType{..}) where   crtName = "bosh-deployment"
+ test/data/set-pipeline-step.dhall view
@@ -0,0 +1,6 @@+let Concourse = ../../dhall-concourse/package.dhall++in  Concourse.schemas.SetPipelineStep::{+    , set_pipeline = "test-pipeline"+    , file = "test-file"+    }