|
| 1 | +let List/concatMap = |
| 2 | + https://prelude.dhall-lang.org/v17.1.0/List/concatMap.dhall |
| 3 | + sha256:3b2167061d11fda1e4f6de0522cbe83e0d5ac4ef5ddf6bb0b2064470c5d3fb64 |
| 4 | + |
| 5 | +let Map = |
| 6 | + https://prelude.dhall-lang.org/v17.1.0/Map/package.dhall |
| 7 | + sha256:598e9c76103b2686fbbda6cc30078f9e60dd846d9eaf155d0149cf0ae06c21c5 |
| 8 | + |
| 9 | +let Optional/map = |
| 10 | + https://prelude.dhall-lang.org/v17.1.0/Optional/map.dhall |
| 11 | + sha256:501534192d988218d43261c299cc1d1e0b13d25df388937add784778ab0054fa |
| 12 | + |
1 | 13 | let Step = ../../schemas/Step.dhall
|
2 | 14 |
|
3 |
| -in Step::{ uses = Some "actions/checkout@v2" } |
| 15 | +let Checkout = ../../schemas/actions/Checkout.dhall |
| 16 | + |
| 17 | +let stringBool = |
| 18 | + Optional/map Bool Text (λ(b : Bool) → if b then "true" else "false") |
| 19 | + |
| 20 | +let stringNatural = |
| 21 | + Optional/map Natural Text (λ(n : Natural) → Natural/show n) |
| 22 | + |
| 23 | +let checkout |
| 24 | + : Checkout.Type → Step.Type |
| 25 | + = λ(args : Checkout.Type) → |
| 26 | + Step::{ |
| 27 | + , uses = Some "actions/checkout@v4" |
| 28 | + , `with` = Some |
| 29 | + ( List/concatMap |
| 30 | + (Map.Entry Text (Optional Text)) |
| 31 | + (Map.Entry Text Text) |
| 32 | + ( λ(e : Map.Entry Text (Optional Text)) → |
| 33 | + merge |
| 34 | + { None = [] : Map.Type Text Text |
| 35 | + , Some = λ(v : Text) → [ Map.keyText e.mapKey v ] |
| 36 | + } |
| 37 | + e.mapValue |
| 38 | + ) |
| 39 | + ( toMap |
| 40 | + { repository = args.repository |
| 41 | + , ref = args.ref |
| 42 | + , token = args.token |
| 43 | + , ssh-key = args.ssh-key |
| 44 | + , ssh-known-hosts = args.ssh-known-hosts |
| 45 | + , ssh-strict = stringBool args.ssh-strict |
| 46 | + , ssh-user = args.ssh-user |
| 47 | + , persist-credentials = stringBool args.persist-credentials |
| 48 | + , path = args.path |
| 49 | + , clean = stringBool args.clean |
| 50 | + , filter = args.filter |
| 51 | + , sparse-checkout = args.sparse-checkout |
| 52 | + , sparse-checkout-cone-mode = stringBool args.sparse-checkout-cone-mode |
| 53 | + , fetch-depth = stringNatural args.fetch-depth |
| 54 | + , fetch-tags = stringBool args.fetch-tags |
| 55 | + , show-progress = stringBool args.show-progress |
| 56 | + , lfs = stringBool args.lfs |
| 57 | + , submodules = args.submodules |
| 58 | + , set-safe-directory = stringBool args.set-safe-directory |
| 59 | + , github-server-url = args.github-server-url |
| 60 | + } |
| 61 | + ) |
| 62 | + ) |
| 63 | + } |
| 64 | + |
| 65 | +in checkout |
0 commit comments