let W = import "../reflection/schemas/workflow.ncl" in let D = import "../reflection/defaults/workflow.ncl" in # Workflow declaration for {{ project_name }}. # Each layer is independent — layers form a set, not a chain. # Activate a layer by adding a provider; comment out providers to disable generation. # # Run after editing: ore workflow generate # Preview changes: ore workflow diff { layers = [ # ── Commit-fast: local pre-commit checks ──────────────────────────────────── # Generates entries for .pre-commit-config.yaml (manual merge required). { id = "commit-fast", trigger = 'OnCommit, validations = [ "rust-fmt", "rust-clippy", "nextest-ci-test", "deny-subset", "docs-drift", "manifest-coverage", ], builds = [], distributions = [], providers = [W.pre_commit "pre-commit"], }, # ── CI-standard: push/PR pipeline ─────────────────────────────────────────── # Generates .woodpecker/ci.yml (or equivalent for other providers). { 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 ──────────────────────────────────────── # Generates .woodpecker/ci-exhaustive.yml. Disable if not needed. # { # 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 = {}, }