finally generating yaml
This commit is contained in:
107
example.lsp
107
example.lsp
@@ -1,96 +1,15 @@
|
||||
(:macro seq ())
|
||||
(:cfg
|
||||
(name "Complex CI/CD Pipeline")
|
||||
|
||||
(:macro c-not ( c )
|
||||
)
|
||||
; works because this has a higher constraints score:
|
||||
(:macro c-not ( (c (:c-eq () _)) )
|
||||
())
|
||||
(on
|
||||
(push
|
||||
(branches
|
||||
(:seq "main" "release/*")))
|
||||
(pull_requests
|
||||
(types
|
||||
(:seq opened synchronize reopened)))
|
||||
(workflow_dispatch))
|
||||
|
||||
(:macro seq-exp (hd)
|
||||
(':ot (':str-cat "- " (':t2ot-elt hd))))
|
||||
(:macro seq-exp (hd .. tl)
|
||||
(':seq-exp hd) (':seq-exp tl))
|
||||
|
||||
(:macro seq (hd)
|
||||
(':t (':seq-exp hd)))
|
||||
(:macro seq (hd .. tl)
|
||||
(':t (':seq-exp hd tl)))
|
||||
|
||||
(:macro c-paren-eval ())
|
||||
(:macro c-paren-eval (x)
|
||||
(':c-atm x)
|
||||
(':c-not (':c-colon-id x)))
|
||||
|
||||
(:macro @ ( (k(:c-paren-eval _)) )
|
||||
(':t (':str-cat (':t2ot-elt k) ":")))
|
||||
|
||||
(:macro @ ( (k(:c-paren-eval _)) v )
|
||||
(':t (':dict-key (':atm-to-str k)) v))
|
||||
|
||||
(:macro @ ( (k(:c-paren-eval _)) (v(:c-paren-eval _)) )
|
||||
(':t (':str-cat (':str-cat (':atm-to-str k) ": ") (':atm-to-str v) )))
|
||||
|
||||
(:macro @ ( (k(:c-paren-eval _)) v .. other)
|
||||
(':t (':dict-key (':atm-to-str k)) v other))
|
||||
|
||||
(:macro t2ot-elt ( hd )
|
||||
(':atm-to-str hd))
|
||||
|
||||
(:macro t2ot-elt ( hd .. tl )
|
||||
(':tree
|
||||
(':t2ot-elt hd)
|
||||
(':t2ot-elt tl)))
|
||||
|
||||
(:macro t () (':ot))
|
||||
(:macro t ( .. tl )
|
||||
(':ot
|
||||
(':t2ot-elt tl)))
|
||||
|
||||
(:macro ot ( x )
|
||||
(':yot (':indent x)))
|
||||
|
||||
(:macro indent ( (x(:c-str _)) )
|
||||
(':str-cat " " x))
|
||||
|
||||
(:macro indent ( (hd(:c-atm _)) .. tl )
|
||||
(':indent hd)
|
||||
(':indent tl))
|
||||
|
||||
(:macro indent-each ())
|
||||
|
||||
(:macro indent-each ( hd )
|
||||
(':indent hd))
|
||||
|
||||
(:macro indent-each ( hd .. tl )
|
||||
(':indent hd)
|
||||
(':indent-each tl))
|
||||
|
||||
(:macro rm-first (x .. tl)
|
||||
tl)
|
||||
|
||||
(:macro indent ( (x(:c-li0-eq _ :tree)) )
|
||||
(':tree (':indent-each (':rm-first (':unpack x)))))
|
||||
|
||||
(:macro indent ( (x(:c-li0-eq _ :atm-to-str)) )
|
||||
(':atm-to-str (':indent-each (':rm-first (':unpack x)))))
|
||||
|
||||
(:macro indent ( (x(:c-li0-eq _ :yot)) )
|
||||
(':yot (':indent-each (':rm-first (':unpack x)))))
|
||||
|
||||
(:macro indent ( (x(:c-li0-eq _ :dict-key)) )
|
||||
(':dict-key (':indent-each (':rm-first (':unpack x)))))
|
||||
|
||||
(name "Complex CI/CD Pipeline")
|
||||
|
||||
(on
|
||||
(push
|
||||
(branches
|
||||
(:seq "main" "release/*")))
|
||||
(pull_requests
|
||||
(types
|
||||
(:seq opened synchronize reopened)))
|
||||
(workflow_dispatch))
|
||||
|
||||
(env
|
||||
(NODE_VERSION 20)
|
||||
(PYTHON_VERSION "3.11"))
|
||||
(env
|
||||
(NODE_VERSION 20)
|
||||
(PYTHON_VERSION "3.11")))
|
||||
|
Reference in New Issue
Block a user