let W = import "../reflection/schemas/workflow.ncl" in let D = import "../reflection/defaults/workflow.ncl" in { layers = [ # ── Commit-fast: local pre-commit, independent ──────────────────────────── { id = "commit-fast", trigger = 'OnCommit, validations = [ "rust-fmt", "rust-clippy", "nextest-ci-test", "deny-subset", "docs-drift", "manifest-coverage", "markdownlint", ], builds = [], distributions = [], providers = [W.pre_commit "pre-commit"], }, # ── CI-standard: push/PR pipeline, independent ──────────────────────────── { id = "ci-standard", trigger = 'OnPR, validations = [ "rust-clippy-all", "nextest-ci", "deny-subset", "docs-check", "nickel-typecheck", "nushell-check", ], builds = ["release-native"], distributions = [], providers = [ W.woodpecker ".woodpecker/ci.yml", W.justfile "ci-standard", ], }, # ── CI-exhaustive: main/tag pipeline, independent ───────────────────────── { id = "ci-exhaustive", trigger = 'OnMainMerge, validations = ["deny-all", "geiger"], builds = ["release-musl-x86", "sbom"], distributions = [], providers = [ W.woodpecker ".woodpecker/ci-exhaustive.yml", W.justfile "ci-exhaustive", ], }, ], validations = D.validations, builds = D.builds, distributions = {}, }