pipecraft 0.40.2 → 0.40.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (29) hide show
  1. package/dist/templates/actions/create-release.yml.tpl.d.ts.map +1 -1
  2. package/dist/templates/actions/create-release.yml.tpl.js +18 -0
  3. package/dist/templates/actions/create-release.yml.tpl.js.map +1 -1
  4. package/dist/templates/actions/promote-branch.yml.tpl.d.ts.map +1 -1
  5. package/dist/templates/actions/promote-branch.yml.tpl.js +27 -2
  6. package/dist/templates/actions/promote-branch.yml.tpl.js.map +1 -1
  7. package/dist/templates/workflows/pipeline.yml.tpl.d.ts +41 -0
  8. package/dist/templates/workflows/pipeline.yml.tpl.d.ts.map +1 -1
  9. package/dist/templates/workflows/pipeline.yml.tpl.js +119 -25
  10. package/dist/templates/workflows/pipeline.yml.tpl.js.map +1 -1
  11. package/dist/templates/workflows/shared/operations-gate.d.ts +1 -0
  12. package/dist/templates/workflows/shared/operations-gate.d.ts.map +1 -1
  13. package/dist/templates/workflows/shared/operations-gate.js +98 -20
  14. package/dist/templates/workflows/shared/operations-gate.js.map +1 -1
  15. package/dist/templates/workflows/shared/operations-header.d.ts.map +1 -1
  16. package/dist/templates/workflows/shared/operations-header.js +20 -1
  17. package/dist/templates/workflows/shared/operations-header.js.map +1 -1
  18. package/dist/types/index.d.ts +22 -0
  19. package/dist/types/index.d.ts.map +1 -1
  20. package/dist/types/index.js +44 -1
  21. package/dist/types/index.js.map +1 -1
  22. package/dist/utils/config.d.ts +12 -0
  23. package/dist/utils/config.d.ts.map +1 -1
  24. package/dist/utils/config.js +54 -0
  25. package/dist/utils/config.js.map +1 -1
  26. package/dist/utils/preflight.d.ts.map +1 -1
  27. package/dist/utils/preflight.js +14 -0
  28. package/dist/utils/preflight.js.map +1 -1
  29. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"create-release.yml.tpl.d.ts","sourceRoot":"","sources":["../../../src/templates/actions/create-release.yml.tpl.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,KAAK,aAAa,EAA0B,MAAM,uBAAuB,CAAA;AAKlF,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAA;AAwH3D;;;;;GAKG;AACH,eAAO,MAAM,QAAQ,GAAI,KAAK,aAAa,GAAG;IAAE,MAAM,CAAC,EAAE,OAAO,CAAC,eAAe,CAAC,CAAA;CAAE,iBAgB/E,CAAA"}
1
+ {"version":3,"file":"create-release.yml.tpl.d.ts","sourceRoot":"","sources":["../../../src/templates/actions/create-release.yml.tpl.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,KAAK,aAAa,EAA0B,MAAM,uBAAuB,CAAA;AAKlF,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAA;AA0I3D;;;;;GAKG;AACH,eAAO,MAAM,QAAQ,GAAI,KAAK,aAAa,GAAG;IAAE,MAAM,CAAC,EAAE,OAAO,CAAC,eAAe,CAAC,CAAA;CAAE,iBAgB/E,CAAA"}
@@ -65,6 +65,15 @@ const releaseActionTemplate = (ctx) => {
65
65
  GH_TOKEN: \${{ inputs.token }}
66
66
  run: |
67
67
  VERSION="\${{ inputs.version }}"
68
+
69
+ # A missing version is a real failure (e.g. calculate-version errored), not a
70
+ # silent no-op. Refuse rather than create an empty/garbage release.
71
+ if [ -z "$VERSION" ]; then
72
+ echo "❌ No version provided to create-release - refusing to create an empty release."
73
+ echo " (Check the version/calculate-version step output.)"
74
+ exit 1
75
+ fi
76
+
68
77
  echo "đŸ“Ļ Creating GitHub release for $VERSION"
69
78
 
70
79
  # Generate release notes from commits since last tag
@@ -97,6 +106,15 @@ const releaseActionTemplate = (ctx) => {
97
106
 
98
107
  echo "✅ Release created successfully"
99
108
  echo "🔗 URL: $RELEASE_URL"
109
+ elif echo "$RELEASE_OUTPUT" | grep -qiE 'already exists'; then
110
+ # Idempotent re-run: the release for this version already exists. Treat as
111
+ # success and surface the existing release's URL/ID instead of failing.
112
+ echo "â„šī¸ Release $VERSION already exists - treating as success (idempotent)."
113
+ RELEASE_URL=$(gh release view "$VERSION" --json url --jq '.url' 2>/dev/null || echo "")
114
+ echo "release_url=$RELEASE_URL" >> $GITHUB_OUTPUT
115
+ RELEASE_ID=$(gh api repos/\${{ github.repository }}/releases/tags/$VERSION --jq '.id' 2>/dev/null || echo "")
116
+ echo "release_id=$RELEASE_ID" >> $GITHUB_OUTPUT
117
+ echo "🔗 URL: $RELEASE_URL"
100
118
  else
101
119
  echo "❌ Failed to create release"
102
120
  echo "$RELEASE_OUTPUT"
@@ -1 +1 @@
1
- {"version":3,"file":"create-release.yml.tpl.js","sourceRoot":"","sources":["../../../src/templates/actions/create-release.yml.tpl.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAsB,cAAc,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAA;AAClF,OAAO,MAAM,MAAM,QAAQ,CAAA;AAC3B,OAAO,EAAE,MAAM,IAAI,CAAA;AACnB,OAAO,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAA;AAC9C,OAAO,EAAE,kBAAkB,EAAE,qBAAqB,EAAE,MAAM,iCAAiC,CAAA;AAG3F;;;;;GAKG;AACH,MAAM,qBAAqB,GAAG,CAAC,GAAQ,EAAE,EAAE;IACzC,OAAO,MAAM,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;eA4GA,CAAA;AACf,CAAC,CAAA;AAED;;;;;GAKG;AACH,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAC,GAA0D,EAAE,EAAE,CACrF,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE;IAC9B,MAAM,MAAM,GAAG,GAAG,CAAC,MAAM,IAAI,EAAE,CAAA;IAE/B,IAAI,CAAC,qBAAqB,CAAC,MAAM,CAAC,EAAE,CAAC;QACnC,MAAM,CAAC,OAAO,CAAC,kEAAkE,CAAC,CAAA;QAClF,OAAO,GAAG,CAAA;IACZ,CAAC;IAED,MAAM,SAAS,GAAG,kBAAkB,CAAC,MAAM,CAAC,CAAA;IAC5C,MAAM,QAAQ,GAAG,GAAG,SAAS,4BAA4B,CAAA;IACzD,MAAM,MAAM,GAAG,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAA;IACtC,MAAM,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC,yBAAyB,CAAC,CAAC,CAAC,gBAAgB,CAAA;IACpE,MAAM,CAAC,OAAO,CAAC,GAAG,MAAM,IAAI,QAAQ,EAAE,CAAC,CAAA;IAEvC,OAAO,cAAc,CAAC,qBAAqB,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAA;AACrE,CAAC,CAAC,CAAA"}
1
+ {"version":3,"file":"create-release.yml.tpl.js","sourceRoot":"","sources":["../../../src/templates/actions/create-release.yml.tpl.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAsB,cAAc,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAA;AAClF,OAAO,MAAM,MAAM,QAAQ,CAAA;AAC3B,OAAO,EAAE,MAAM,IAAI,CAAA;AACnB,OAAO,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAA;AAC9C,OAAO,EAAE,kBAAkB,EAAE,qBAAqB,EAAE,MAAM,iCAAiC,CAAA;AAG3F;;;;;GAKG;AACH,MAAM,qBAAqB,GAAG,CAAC,GAAQ,EAAE,EAAE;IACzC,OAAO,MAAM,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;eA8HA,CAAA;AACf,CAAC,CAAA;AAED;;;;;GAKG;AACH,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAC,GAA0D,EAAE,EAAE,CACrF,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE;IAC9B,MAAM,MAAM,GAAG,GAAG,CAAC,MAAM,IAAI,EAAE,CAAA;IAE/B,IAAI,CAAC,qBAAqB,CAAC,MAAM,CAAC,EAAE,CAAC;QACnC,MAAM,CAAC,OAAO,CAAC,kEAAkE,CAAC,CAAA;QAClF,OAAO,GAAG,CAAA;IACZ,CAAC;IAED,MAAM,SAAS,GAAG,kBAAkB,CAAC,MAAM,CAAC,CAAA;IAC5C,MAAM,QAAQ,GAAG,GAAG,SAAS,4BAA4B,CAAA;IACzD,MAAM,MAAM,GAAG,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAA;IACtC,MAAM,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC,yBAAyB,CAAC,CAAC,CAAC,gBAAgB,CAAA;IACpE,MAAM,CAAC,OAAO,CAAC,GAAG,MAAM,IAAI,QAAQ,EAAE,CAAC,CAAA;IAEvC,OAAO,cAAc,CAAC,qBAAqB,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAA;AACrE,CAAC,CAAC,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"promote-branch.yml.tpl.d.ts","sourceRoot":"","sources":["../../../src/templates/actions/promote-branch.yml.tpl.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,KAAK,aAAa,EAA0B,MAAM,uBAAuB,CAAA;AAKlF,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAA;AAoV3D;;;;;GAKG;AACH,eAAO,MAAM,QAAQ,GAAI,KAAK,aAAa,GAAG;IAAE,MAAM,CAAC,EAAE,OAAO,CAAC,eAAe,CAAC,CAAA;CAAE,iBAgB/E,CAAA"}
1
+ {"version":3,"file":"promote-branch.yml.tpl.d.ts","sourceRoot":"","sources":["../../../src/templates/actions/promote-branch.yml.tpl.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,KAAK,aAAa,EAA0B,MAAM,uBAAuB,CAAA;AAKlF,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAA;AA6W3D;;;;;GAKG;AACH,eAAO,MAAM,QAAQ,GAAI,KAAK,aAAa,GAAG;IAAE,MAAM,CAAC,EAAE,OAAO,CAAC,eAAe,CAAC,CAAA;CAAE,iBAgB/E,CAAA"}
@@ -309,9 +309,34 @@ const promoteBranchActionTemplate = (ctx) => {
309
309
  echo " Run number: \$RUN_NUMBER (for traceability)"
310
310
  fi
311
311
 
312
- gh workflow run pipeline.yml "\${WORKFLOW_ARGS[@]}"
312
+ # Dispatch and fail loudly if the API call itself is rejected (previously the
313
+ # trailing echo masked a failed dispatch).
314
+ if ! gh workflow run pipeline.yml "\${WORKFLOW_ARGS[@]}"; then
315
+ echo "::error::Failed to dispatch pipeline workflow on \$TARGET"
316
+ exit 1
317
+ fi
313
318
 
314
- echo "✅ Pipeline workflow triggered on \$TARGET with version \$VERSION at commit \$COMMIT_SHA"
319
+ # 'gh workflow run' returns success once accepted, but a dropped dispatch
320
+ # (misconfig / rate limit) would otherwise be invisible. Poll briefly to confirm
321
+ # a run actually started; warn (non-fatal) if it doesn't appear.
322
+ echo "âŗ Verifying a pipeline run started on \$TARGET..."
323
+ RUN_STARTED=""
324
+ for _attempt in 1 2 3 4 5 6; do
325
+ sleep 5
326
+ if gh run list --workflow=pipeline.yml --branch "\$TARGET" --limit 5 \\
327
+ --json status --jq '.[].status' 2>/dev/null \\
328
+ | grep -qE 'queued|in_progress|requested|waiting'; then
329
+ RUN_STARTED="yes"
330
+ break
331
+ fi
332
+ done
333
+
334
+ if [ -n "\$RUN_STARTED" ]; then
335
+ echo "✅ Pipeline workflow triggered on \$TARGET with version \$VERSION at commit \$COMMIT_SHA"
336
+ else
337
+ echo "::warning::Dispatched pipeline on \$TARGET but no run appeared within ~30s. \\
338
+ Verify the workflow_dispatch trigger and Actions permissions; the promotion may need a manual re-trigger."
339
+ fi
315
340
 
316
341
  - name: Close PR and Delete Branch
317
342
  if: inputs.autoPromote == 'true'
@@ -1 +1 @@
1
- {"version":3,"file":"promote-branch.yml.tpl.js","sourceRoot":"","sources":["../../../src/templates/actions/promote-branch.yml.tpl.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAsB,cAAc,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAA;AAClF,OAAO,MAAM,MAAM,QAAQ,CAAA;AAC3B,OAAO,EAAE,MAAM,IAAI,CAAA;AACnB,OAAO,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAA;AAC9C,OAAO,EAAE,kBAAkB,EAAE,qBAAqB,EAAE,MAAM,iCAAiC,CAAA;AAG3F;;;;;GAKG;AACH,MAAM,2BAA2B,GAAG,CAAC,GAAQ,EAAE,EAAE;IAC/C,OAAO,MAAM,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwUZ,CAAA;AACH,CAAC,CAAA;AAED;;;;;GAKG;AACH,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAC,GAA0D,EAAE,EAAE,CACrF,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE;IAC9B,MAAM,MAAM,GAAG,GAAG,CAAC,MAAM,IAAI,EAAE,CAAA;IAE/B,IAAI,CAAC,qBAAqB,CAAC,MAAM,CAAC,EAAE,CAAC;QACnC,MAAM,CAAC,OAAO,CAAC,kEAAkE,CAAC,CAAA;QAClF,OAAO,GAAG,CAAA;IACZ,CAAC;IAED,MAAM,SAAS,GAAG,kBAAkB,CAAC,MAAM,CAAC,CAAA;IAC5C,MAAM,QAAQ,GAAG,GAAG,SAAS,4BAA4B,CAAA;IACzD,MAAM,MAAM,GAAG,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAA;IACtC,MAAM,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC,yBAAyB,CAAC,CAAC,CAAC,gBAAgB,CAAA;IACpE,MAAM,CAAC,OAAO,CAAC,GAAG,MAAM,IAAI,QAAQ,EAAE,CAAC,CAAA;IAEvC,OAAO,cAAc,CAAC,2BAA2B,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAA;AAC3E,CAAC,CAAC,CAAA"}
1
+ {"version":3,"file":"promote-branch.yml.tpl.js","sourceRoot":"","sources":["../../../src/templates/actions/promote-branch.yml.tpl.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAsB,cAAc,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAA;AAClF,OAAO,MAAM,MAAM,QAAQ,CAAA;AAC3B,OAAO,EAAE,MAAM,IAAI,CAAA;AACnB,OAAO,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAA;AAC9C,OAAO,EAAE,kBAAkB,EAAE,qBAAqB,EAAE,MAAM,iCAAiC,CAAA;AAG3F;;;;;GAKG;AACH,MAAM,2BAA2B,GAAG,CAAC,GAAQ,EAAE,EAAE;IAC/C,OAAO,MAAM,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiWZ,CAAA;AACH,CAAC,CAAA;AAED;;;;;GAKG;AACH,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAC,GAA0D,EAAE,EAAE,CACrF,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE;IAC9B,MAAM,MAAM,GAAG,GAAG,CAAC,MAAM,IAAI,EAAE,CAAA;IAE/B,IAAI,CAAC,qBAAqB,CAAC,MAAM,CAAC,EAAE,CAAC;QACnC,MAAM,CAAC,OAAO,CAAC,kEAAkE,CAAC,CAAA;QAClF,OAAO,GAAG,CAAA;IACZ,CAAC;IAED,MAAM,SAAS,GAAG,kBAAkB,CAAC,MAAM,CAAC,CAAA;IAC5C,MAAM,QAAQ,GAAG,GAAG,SAAS,4BAA4B,CAAA;IACzD,MAAM,MAAM,GAAG,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAA;IACtC,MAAM,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC,yBAAyB,CAAC,CAAC,CAAC,gBAAgB,CAAA;IACpE,MAAM,CAAC,OAAO,CAAC,GAAG,MAAM,IAAI,QAAQ,EAAE,CAAC,CAAA;IAEvC,OAAO,cAAc,CAAC,2BAA2B,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAA;AAC3E,CAAC,CAAC,CAAA"}
@@ -14,6 +14,47 @@ interface PathBasedPipelineContext extends PinionContext {
14
14
  domains: Record<string, any>;
15
15
  outputPipelinePath?: string;
16
16
  }
17
+ /**
18
+ * Header comment written at the top of generated pipelines. It states the managed-section
19
+ * contract honestly: customizations (custom jobs, managed-job `needs`/`runs-on`, name) are
20
+ * preserved across `pipecraft generate`; correctness-critical wiring is re-asserted; and
21
+ * `--force` resets managed sections to defaults.
22
+ */
23
+ export declare const MANAGED_WORKFLOW_HEADER = "=============================================================================\n PIPECRAFT MANAGED WORKFLOW\n=============================================================================\n\n \u2705 YOU CAN CUSTOMIZE (preserved across 'pipecraft generate'):\n - Custom jobs between the '# <--START CUSTOM JOBS-->' / '# <--END CUSTOM JOBS-->' markers\n - The 'needs' list and 'runs-on' of managed jobs\n - The workflow name\n\n \uD83D\uDD12 PIPECRAFT MANAGES (re-asserted on every generate; edits here are reset):\n - Workflow triggers and the changes / version / tag / promote / release job logic\n - The gate's 'if: always()' and its fail-on-failure step\n\n \u267B\uFE0F Regeneration PRESERVES the customizations above. To reset managed sections\n (including the gate) to template defaults, run: pipecraft generate --force\n\n \uD83D\uDCCC VERSION PROMOTION BEHAVIOR:\n - Only commits that trigger a version bump promote to staging/main\n - Non-versioned commits (test, build, etc.) remain on develop\n\n \uD83D\uDCD6 Learn more: https://pipecraft.thecraftlab.dev\n=============================================================================";
24
+ /**
25
+ * Detect duplicate keys in the generated workflow (e.g. a custom job whose name collides
26
+ * with a Pipecraft-managed job: changes/version/gate/tag/promote/release). Duplicate keys
27
+ * make the workflow unparseable on GitHub.
28
+ *
29
+ * Returns the duplicate-key error messages (empty when clean). Callers surface these as a
30
+ * non-fatal warning rather than throwing: the marker/merge path can produce duplicates in
31
+ * messy edge cases (jobs scattered outside markers, repeated in-process regenerations), and
32
+ * hard-failing there would regress existing preservation behavior. See ROADMAP for the
33
+ * deeper merge-dedup fix.
34
+ *
35
+ * @param yamlContent - The fully generated workflow YAML, about to be written
36
+ * @returns Duplicate-key error messages (empty array when there are none)
37
+ */
38
+ export declare function findDuplicateKeyMessages(yamlContent: string): string[];
39
+ /**
40
+ * Strip top-level job blocks whose name is a Pipecraft-managed job (changes/version/
41
+ * gate/tag/promote/release) from a custom-jobs section.
42
+ *
43
+ * Managed jobs are emitted by the managed operations, never by the custom section. If one
44
+ * leaks into the extracted custom section (e.g. a workflow edited so a managed job landed
45
+ * between the markers), keeping it would duplicate the key. This is a no-op on the normal
46
+ * case (the custom section never legitimately contains managed jobs), so preservation
47
+ * behaviour is unchanged — it only removes the abnormal duplicate source.
48
+ *
49
+ * Top-level job keys sit at two-space indent; a block runs until the next top-level key.
50
+ *
51
+ * @param section - The custom-jobs section text (between markers), or null
52
+ * @returns The cleaned section and the names of any managed jobs removed
53
+ */
54
+ export declare function stripReservedJobBlocks(section: string | null): {
55
+ cleaned: string | null;
56
+ removed: string[];
57
+ };
17
58
  /**
18
59
  * Main generator that handles merging with existing workflow
19
60
  */
@@ -1 +1 @@
1
- {"version":3,"file":"pipeline.yml.tpl.d.ts","sourceRoot":"","sources":["../../../src/templates/workflows/pipeline.yml.tpl.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,KAAK,aAAa,EAA0B,MAAM,uBAAuB,CAAA;AAGlF,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAA;AAe3D,UAAU,wBAAyB,SAAQ,aAAa;IACtD,MAAM,EAAE,eAAe,CAAA;IACvB,UAAU,EAAE,MAAM,EAAE,CAAA;IACpB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;IAC5B,kBAAkB,CAAC,EAAE,MAAM,CAAA;CAC5B;AAiKD;;GAEG;AACH,eAAO,MAAM,QAAQ,GAAI,KAAK,wBAAwB,iBAgWjD,CAAA"}
1
+ {"version":3,"file":"pipeline.yml.tpl.d.ts","sourceRoot":"","sources":["../../../src/templates/workflows/pipeline.yml.tpl.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,KAAK,aAAa,EAA0B,MAAM,uBAAuB,CAAA;AAGlF,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAA;AAgB3D,UAAU,wBAAyB,SAAQ,aAAa;IACtD,MAAM,EAAE,eAAe,CAAA;IACvB,UAAU,EAAE,MAAM,EAAE,CAAA;IACpB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;IAC5B,kBAAkB,CAAC,EAAE,MAAM,CAAA;CAC5B;AAED;;;;;GAKG;AACH,eAAO,MAAM,uBAAuB,6oCAqB0C,CAAA;AAE9E;;;;;;;;;;;;;GAaG;AACH,wBAAgB,wBAAwB,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,EAAE,CAItE;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,GAAG;IAC9D,OAAO,EAAE,MAAM,GAAG,IAAI,CAAA;IACtB,OAAO,EAAE,MAAM,EAAE,CAAA;CAClB,CA+BA;AA8KD;;GAEG;AACH,eAAO,MAAM,QAAQ,GAAI,KAAK,wBAAwB,iBAuVjD,CAAA"}
@@ -9,9 +9,115 @@
9
9
  import { renderTemplate, toFile } from '@featherscloud/pinion';
10
10
  import fs from 'fs';
11
11
  import { Document, parseDocument, Scalar, stringify, YAMLMap } from 'yaml';
12
+ import { RESERVED_JOB_NAMES } from '../../utils/config.js';
12
13
  import { logger } from '../../utils/logger.js';
13
14
  import { formatIfConditions } from '../yaml-format-utils.js';
14
15
  import { createChangesJobOperation, createHeaderOperations, createTagPromoteReleaseOperations, createVersionJobOperation, createManagedWorkflowDocument, stringifyManagedWorkflow, applyManagedWorkflowOperations } from './shared/index.js';
16
+ /**
17
+ * Header comment written at the top of generated pipelines. It states the managed-section
18
+ * contract honestly: customizations (custom jobs, managed-job `needs`/`runs-on`, name) are
19
+ * preserved across `pipecraft generate`; correctness-critical wiring is re-asserted; and
20
+ * `--force` resets managed sections to defaults.
21
+ */
22
+ export const MANAGED_WORKFLOW_HEADER = `=============================================================================
23
+ PIPECRAFT MANAGED WORKFLOW
24
+ =============================================================================
25
+
26
+ ✅ YOU CAN CUSTOMIZE (preserved across 'pipecraft generate'):
27
+ - Custom jobs between the '# <--START CUSTOM JOBS-->' / '# <--END CUSTOM JOBS-->' markers
28
+ - The 'needs' list and 'runs-on' of managed jobs
29
+ - The workflow name
30
+
31
+ 🔒 PIPECRAFT MANAGES (re-asserted on every generate; edits here are reset):
32
+ - Workflow triggers and the changes / version / tag / promote / release job logic
33
+ - The gate's 'if: always()' and its fail-on-failure step
34
+
35
+ â™ģī¸ Regeneration PRESERVES the customizations above. To reset managed sections
36
+ (including the gate) to template defaults, run: pipecraft generate --force
37
+
38
+ 📌 VERSION PROMOTION BEHAVIOR:
39
+ - Only commits that trigger a version bump promote to staging/main
40
+ - Non-versioned commits (test, build, etc.) remain on develop
41
+
42
+ 📖 Learn more: https://pipecraft.thecraftlab.dev
43
+ =============================================================================`;
44
+ /**
45
+ * Detect duplicate keys in the generated workflow (e.g. a custom job whose name collides
46
+ * with a Pipecraft-managed job: changes/version/gate/tag/promote/release). Duplicate keys
47
+ * make the workflow unparseable on GitHub.
48
+ *
49
+ * Returns the duplicate-key error messages (empty when clean). Callers surface these as a
50
+ * non-fatal warning rather than throwing: the marker/merge path can produce duplicates in
51
+ * messy edge cases (jobs scattered outside markers, repeated in-process regenerations), and
52
+ * hard-failing there would regress existing preservation behavior. See ROADMAP for the
53
+ * deeper merge-dedup fix.
54
+ *
55
+ * @param yamlContent - The fully generated workflow YAML, about to be written
56
+ * @returns Duplicate-key error messages (empty array when there are none)
57
+ */
58
+ export function findDuplicateKeyMessages(yamlContent) {
59
+ return parseDocument(yamlContent)
60
+ .errors.filter(err => err.code === 'DUPLICATE_KEY')
61
+ .map(err => err.message);
62
+ }
63
+ /**
64
+ * Strip top-level job blocks whose name is a Pipecraft-managed job (changes/version/
65
+ * gate/tag/promote/release) from a custom-jobs section.
66
+ *
67
+ * Managed jobs are emitted by the managed operations, never by the custom section. If one
68
+ * leaks into the extracted custom section (e.g. a workflow edited so a managed job landed
69
+ * between the markers), keeping it would duplicate the key. This is a no-op on the normal
70
+ * case (the custom section never legitimately contains managed jobs), so preservation
71
+ * behaviour is unchanged — it only removes the abnormal duplicate source.
72
+ *
73
+ * Top-level job keys sit at two-space indent; a block runs until the next top-level key.
74
+ *
75
+ * @param section - The custom-jobs section text (between markers), or null
76
+ * @returns The cleaned section and the names of any managed jobs removed
77
+ */
78
+ export function stripReservedJobBlocks(section) {
79
+ if (!section)
80
+ return { cleaned: section, removed: [] };
81
+ const reserved = new Set(RESERVED_JOB_NAMES);
82
+ const lines = section.split('\n');
83
+ const jobStart = /^ {2}([A-Za-z0-9_-]+):/;
84
+ // Index of every top-level job key line.
85
+ const starts = [];
86
+ lines.forEach((line, idx) => {
87
+ const match = line.match(jobStart);
88
+ if (match)
89
+ starts.push({ name: match[1], idx });
90
+ });
91
+ const drop = new Array(lines.length).fill(false);
92
+ const removed = [];
93
+ starts.forEach((start, s) => {
94
+ if (!reserved.has(start.name.toLowerCase()))
95
+ return;
96
+ removed.push(start.name);
97
+ const end = s + 1 < starts.length ? starts[s + 1].idx : lines.length;
98
+ for (let k = start.idx; k < end; k++)
99
+ drop[k] = true;
100
+ });
101
+ if (removed.length === 0)
102
+ return { cleaned: section, removed: [] };
103
+ const cleaned = lines
104
+ .filter((_, idx) => !drop[idx])
105
+ .join('\n')
106
+ .replace(/\n{3,}/g, '\n\n')
107
+ .trim();
108
+ return { cleaned: cleaned.length > 0 ? cleaned : null, removed: [...new Set(removed)] };
109
+ }
110
+ /** Warn (non-fatal) if the generated workflow contains duplicate keys. */
111
+ function warnOnDuplicateKeys(yamlContent) {
112
+ const duplicates = findDuplicateKeyMessages(yamlContent);
113
+ if (duplicates.length > 0) {
114
+ logger.warn(`âš ī¸ Generated workflow has duplicate keys — usually a custom job name colliding ` +
115
+ `with a Pipecraft-managed job (${RESERVED_JOB_NAMES.join(', ')}). ` +
116
+ `Rename the custom job(s) and regenerate.`);
117
+ for (const message of duplicates)
118
+ logger.warn(` ${message}`);
119
+ }
120
+ }
15
121
  /**
16
122
  * Extract user-customized section between markers from YAML content
17
123
  * Returns content WITHOUT the markers themselves
@@ -233,7 +339,7 @@ export const generate = (ctx) => Promise.resolve(ctx)
233
339
  const existingJobs = existingDoc.contents && existingDoc.contents.get
234
340
  ? existingDoc.contents.get('jobs')
235
341
  : null;
236
- const managedJobs = new Set(['changes', 'version', 'gate', 'tag', 'promote', 'release']);
342
+ const managedJobs = new Set(RESERVED_JOB_NAMES);
237
343
  // Extract gate job's needs and if for preservation
238
344
  if (existingJobs && existingJobs.get) {
239
345
  const existingGate = existingJobs.get('gate');
@@ -298,36 +404,22 @@ export const generate = (ctx) => Promise.resolve(ctx)
298
404
  logger.warn('âš ī¸ No custom jobs found in existing pipeline');
299
405
  }
300
406
  }
407
+ // Managed jobs are emitted separately; if any leaked into the extracted custom
408
+ // section, drop them here so they can't duplicate the managed key in the output.
409
+ const stripped = stripReservedJobBlocks(userSection);
410
+ if (stripped.removed.length > 0) {
411
+ logger.warn(`âš ī¸ Dropped ${stripped.removed.length} managed-named job(s) from the custom ` +
412
+ `section (${stripped.removed.join(', ')}); these are managed by Pipecraft. ` +
413
+ `Rename them if they were meant to be custom jobs.`);
414
+ userSection = stripped.cleaned;
415
+ }
301
416
  // In force mode or new file, create fresh document to ensure correct structure
302
417
  if (!fileExists || ctx.pinion?.force) {
303
418
  const logMessage = !fileExists
304
419
  ? '📝 Creating new path-based pipeline'
305
420
  : '🔄 Force mode: Rebuilding path-based pipeline from scratch';
306
421
  logger.verbose(logMessage);
307
- const headerComment = `=============================================================================
308
- PIPECRAFT MANAGED WORKFLOW
309
- =============================================================================
310
-
311
- ✅ YOU CAN CUSTOMIZE:
312
- - Custom jobs between the '# <--START CUSTOM JOBS-->' and '# <--END CUSTOM JOBS-->' comment markers
313
- - Workflow name
314
-
315
- âš ī¸ PIPECRAFT MANAGES (do not modify):
316
- - Workflow triggers, job dependencies, and conditionals
317
- - Changes detection, version calculation, and tag creation
318
- - Tag, promote, and release jobs
319
-
320
- 📌 VERSION PROMOTION BEHAVIOR:
321
- - Only commits that trigger a version bump will promote to staging/main
322
- - Non-versioned commits (test, build, etc.) remain on develop
323
- - This keeps staging/main aligned with tagged releases
324
-
325
- Running 'pipecraft generate' updates managed sections while preserving
326
- your customizations in test/deploy/remote-test jobs.
327
-
328
- 📖 Learn more: https://pipecraft.thecraftlab.dev
329
- =============================================================================`;
330
- const doc = createManagedWorkflowDocument(headerComment, operations, ctx);
422
+ const doc = createManagedWorkflowDocument(MANAGED_WORKFLOW_HEADER, operations, ctx);
331
423
  // Restore preserved gate job needs/if (for force mode)
332
424
  if (preservedGateNeeds || preservedGateIf) {
333
425
  const jobs = doc.contents?.get('jobs');
@@ -377,6 +469,7 @@ export const generate = (ctx) => Promise.resolve(ctx)
377
469
  yamlContent = yamlContent.replace(versionOutputsPattern, '$1\n\n # <--START CUSTOM JOBS-->\n\n # <--END CUSTOM JOBS-->\n');
378
470
  logger.verbose('📝 Added placeholder user section markers');
379
471
  }
472
+ warnOnDuplicateKeys(yamlContent);
380
473
  const formattedContent = formatIfConditions(yamlContent);
381
474
  const status = mergedCustomContent ? 'merged' : fileExists ? 'rebuilt' : 'created';
382
475
  return { ...ctx, yamlContent: formattedContent, mergeStatus: status };
@@ -430,6 +523,7 @@ export const generate = (ctx) => Promise.resolve(ctx)
430
523
  '\n' +
431
524
  yamlContent.slice(insertionIndex);
432
525
  }
526
+ warnOnDuplicateKeys(yamlContent);
433
527
  const formattedContent = formatIfConditions(yamlContent);
434
528
  const status = userSection ? 'merged' : 'updated';
435
529
  return { ...ctx, yamlContent: formattedContent, mergeStatus: status };
@@ -1 +1 @@
1
- {"version":3,"file":"pipeline.yml.tpl.js","sourceRoot":"","sources":["../../../src/templates/workflows/pipeline.yml.tpl.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"pipeline.yml.tpl.js","sourceRoot":"","sources":["../../../src/templates/workflows/pipeline.yml.tpl.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,4 @@
1
1
  import { Document } from 'yaml';
2
+ export declare const GATE_COMMENT: "\n=============================================================================\n GATE (Managed by Pipecraft)\n=============================================================================\n Ensures prerequisite jobs pass before tag/promote/release run.\n\n \u2705 CUSTOMIZABLE (preserved on regeneration): add your test/build jobs to 'needs'.\n The gate checks every job in 'needs' automatically (via needs.*.result), so you\n do NOT edit the 'if' or the steps.\n Example: needs: [changes, version, test-myapp, build-myapp]\n\n \uD83D\uDD12 MANAGED (re-asserted on every 'pipecraft generate'): 'if: always()' and the\n fail-on-failure step. This keeps the gate from being silently disabled. Run\n 'pipecraft generate --force' to reset the whole gate to template defaults.\n";
2
3
  export declare function ensureGateJob(doc: Document.Parsed): void;
3
4
  //# sourceMappingURL=operations-gate.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"operations-gate.d.ts","sourceRoot":"","sources":["../../../../src/templates/workflows/shared/operations-gate.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAkC,MAAM,MAAM,CAAA;AAuE/D,wBAAgB,aAAa,CAAC,GAAG,EAAE,QAAQ,CAAC,MAAM,QA2EjD"}
1
+ {"version":3,"file":"operations-gate.d.ts","sourceRoot":"","sources":["../../../../src/templates/workflows/shared/operations-gate.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAkC,MAAM,MAAM,CAAA;AAG/D,eAAO,MAAM,YAAY,yxBAcf,CAAA;AAmHV,wBAAgB,aAAa,CAAC,GAAG,EAAE,QAAQ,CAAC,MAAM,QAoGjD"}
@@ -1,15 +1,19 @@
1
1
  import { Pair, Scalar, YAMLMap, YAMLSeq } from 'yaml';
2
2
  import { logger } from '../../../utils/logger.js';
3
- const GATE_COMMENT = `
3
+ export const GATE_COMMENT = `
4
4
  =============================================================================
5
- GATE (âš ī¸ Managed by Pipecraft - customizable needs and if)
5
+ GATE (Managed by Pipecraft)
6
6
  =============================================================================
7
- Gate job that ensures prior jobs succeed before allowing tag/promote/release.
8
- Uses pattern: allow only SUCCESS or SKIPPED results (failures block progression).
7
+ Ensures prerequisite jobs pass before tag/promote/release run.
9
8
 
10
- ⚡ CUSTOMIZATION: Add your custom test/build jobs to 'needs' array and update
11
- the 'if' condition to include them. These fields are preserved on regeneration.
12
- Example: needs: [changes, version, test-myapp, build-myapp]
9
+ ✅ CUSTOMIZABLE (preserved on regeneration): add your test/build jobs to 'needs'.
10
+ The gate checks every job in 'needs' automatically (via needs.*.result), so you
11
+ do NOT edit the 'if' or the steps.
12
+ Example: needs: [changes, version, test-myapp, build-myapp]
13
+
14
+ 🔒 MANAGED (re-asserted on every 'pipecraft generate'): 'if: always()' and the
15
+ fail-on-failure step. This keeps the gate from being silently disabled. Run
16
+ 'pipecraft generate --force' to reset the whole gate to template defaults.
13
17
  `;
14
18
  const DEFAULT_GATE_STEP_RUN = 'echo "All prerequisite jobs succeeded or were skipped - gate allows progression"';
15
19
  function toKeyString(key) {
@@ -23,24 +27,78 @@ function buildNeedsSequence(jobNames) {
23
27
  seq.items = jobNames.map(name => new Scalar(name));
24
28
  return seq;
25
29
  }
26
- function buildIfExpression(jobNames) {
27
- const clauses = jobNames.map(name => `(needs['${name}'].result == 'success' || needs['${name}'].result == 'skipped')`);
28
- const expression = clauses.length > 0 ? `always() && ${clauses.join(' && ')}` : 'always()';
29
- const scalar = new Scalar(`\${{ ${expression} }}`);
30
+ /**
31
+ * The gate always runs. An `if` that can evaluate false would make the gate *skip* on a
32
+ * prerequisite failure, and GitHub treats a skipped required check as passed — so a
33
+ * conditional gate cannot actually block. Instead the gate runs unconditionally and
34
+ * fails in-step (see buildGateSteps).
35
+ */
36
+ function buildGateIf() {
37
+ const scalar = new Scalar('${{ always() }}');
30
38
  scalar.type = Scalar.QUOTE_DOUBLE;
31
39
  return scalar;
32
40
  }
41
+ const GATE_FAIL_IF = "${{ contains(needs.*.result, 'failure') || contains(needs.*.result, 'cancelled') }}";
42
+ const GATE_FAIL_RUN = 'echo "::error::A prerequisite job failed - blocking progression" && exit 1';
43
+ /**
44
+ * Build the gate's steps: first a step that FAILS the job when any prerequisite failed or
45
+ * was cancelled (skipped/path-filtered prerequisites are allowed), then a success marker.
46
+ * `needs.*.result` automatically includes any jobs the user added to `needs`, so custom
47
+ * test jobs are covered without editing this step.
48
+ */
49
+ function buildFailStep() {
50
+ const failStep = new YAMLMap();
51
+ failStep.set('name', new Scalar('Fail if any prerequisite job failed'));
52
+ const failIf = new Scalar(GATE_FAIL_IF);
53
+ failIf.type = Scalar.QUOTE_DOUBLE;
54
+ failStep.set('if', failIf);
55
+ failStep.set('run', new Scalar(GATE_FAIL_RUN));
56
+ return failStep;
57
+ }
58
+ function buildPassStep() {
59
+ const passStep = new YAMLMap();
60
+ passStep.set('name', new Scalar('Gate passed'));
61
+ passStep.set('run', new Scalar(DEFAULT_GATE_STEP_RUN));
62
+ return passStep;
63
+ }
64
+ function buildGateSteps() {
65
+ const stepsSeq = new YAMLSeq();
66
+ stepsSeq.items = [buildFailStep(), buildPassStep()];
67
+ return stepsSeq;
68
+ }
69
+ /** True if the gate already has the managed fail-on-failure step. */
70
+ function gateHasFailStep(steps) {
71
+ return steps.items.some(item => {
72
+ if (!(item instanceof YAMLMap))
73
+ return false;
74
+ const ifVal = item.get('if');
75
+ const ifStr = ifVal instanceof Scalar ? String(ifVal.value) : String(ifVal ?? '');
76
+ return ifStr.includes('needs.*.result');
77
+ });
78
+ }
79
+ /**
80
+ * Ensure the gate carries the managed fail-on-failure step, preserving any other
81
+ * (user) steps. Returns true if a change was made.
82
+ */
83
+ function ensureFailStep(gateMap) {
84
+ const steps = gateMap.get('steps');
85
+ if (!(steps instanceof YAMLSeq)) {
86
+ gateMap.set('steps', buildGateSteps());
87
+ return true;
88
+ }
89
+ if (!gateHasFailStep(steps)) {
90
+ ;
91
+ steps.items.unshift(buildFailStep());
92
+ return true;
93
+ }
94
+ return false;
95
+ }
33
96
  function ensureDefaultRunsAndSteps(gateMap) {
34
97
  if (!gateMap.has('runs-on')) {
35
98
  gateMap.set('runs-on', new Scalar('ubuntu-latest'));
36
99
  }
37
100
  if (!gateMap.has('steps')) {
38
- const stepsSeq = new YAMLSeq();
39
- const stepMap = new YAMLMap();
40
- stepMap.set('name', new Scalar('Gate passed'));
41
- stepMap.set('run', new Scalar(DEFAULT_GATE_STEP_RUN));
42
- stepsSeq.items = [stepMap];
43
- gateMap.set('steps', stepsSeq);
101
+ gateMap.set('steps', buildGateSteps());
44
102
  }
45
103
  }
46
104
  function dedupePreserveOrder(values) {
@@ -111,12 +169,32 @@ export function ensureGateJob(doc) {
111
169
  if (!gateExisted) {
112
170
  ensureDefaultRunsAndSteps(gateMap);
113
171
  }
114
- // Only set needs/if when creating a new gate job - always preserve existing values
115
- // This allows users to customize their gate job prerequisites (like the tag job)
172
+ // `needs` and `runs-on` are user-customizable: only seed them when creating a new gate,
173
+ // then preserve them across regeneration.
116
174
  if (!gateExisted) {
117
175
  ;
118
176
  gateMap.set('needs', buildNeedsSequence(prerequisites));
119
- gateMap.set('if', buildIfExpression(prerequisites));
177
+ }
178
+ // The gate's `if: always()` and fail-on-failure step are correctness-critical and
179
+ // MANAGED: re-assert them on every regeneration so the gate can't be silently
180
+ // disabled. (Use `pipecraft generate --force` for a full reset.)
181
+ const gm = gateMap;
182
+ const desiredIf = '${{ always() }}';
183
+ const previousIf = gm.get('if');
184
+ const previousIfStr = previousIf instanceof Scalar ? String(previousIf.value) : String(previousIf ?? '');
185
+ let healed = false;
186
+ if (previousIfStr !== desiredIf) {
187
+ gm.set('if', buildGateIf());
188
+ if (gateExisted)
189
+ healed = true;
190
+ }
191
+ if (ensureFailStep(gm) && gateExisted) {
192
+ healed = true;
193
+ }
194
+ if (healed) {
195
+ logger.info('📋 Re-asserted managed gate wiring (if / fail-on-failure step) that had drifted; ' +
196
+ "your gate 'needs' and 'runs-on' were preserved. " +
197
+ "Run 'pipecraft generate --force' to reset the gate to template defaults.");
120
198
  }
121
199
  }
122
200
  //# sourceMappingURL=operations-gate.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"operations-gate.js","sourceRoot":"","sources":["../../../../src/templates/workflows/shared/operations-gate.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"operations-gate.js","sourceRoot":"","sources":["../../../../src/templates/workflows/shared/operations-gate.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"operations-header.d.ts","sourceRoot":"","sources":["../../../../src/templates/workflows/shared/operations-header.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,uCAAuC,CAAA;AAEhF,MAAM,WAAW,aAAa;IAC5B,UAAU,EAAE,MAAM,EAAE,CAAA;IACpB;;;OAGG;IACH,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB;;;OAGG;IACH,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB;;;;OAIG;IACH,qBAAqB,CAAC,EAAE,OAAO,CAAA;IAC/B,sDAAsD;IACtD,qBAAqB,CAAC,EAAE,OAAO,CAAA;CAChC;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,GAAG,EAAE,aAAa,GAAG,mBAAmB,EAAE,CAiPhF"}
1
+ {"version":3,"file":"operations-header.d.ts","sourceRoot":"","sources":["../../../../src/templates/workflows/shared/operations-header.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,uCAAuC,CAAA;AAEhF,MAAM,WAAW,aAAa;IAC5B,UAAU,EAAE,MAAM,EAAE,CAAA;IACpB;;;OAGG;IACH,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB;;;OAGG;IACH,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB;;;;OAIG;IACH,qBAAqB,CAAC,EAAE,OAAO,CAAA;IAC/B,sDAAsD;IACtD,qBAAqB,CAAC,EAAE,OAAO,CAAA;CAChC;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,GAAG,EAAE,aAAa,GAAG,mBAAmB,EAAE,CAqQhF"}
@@ -14,7 +14,10 @@ export function createHeaderOperations(ctx) {
14
14
  const validBranchFlow = branchFlow && Array.isArray(branchFlow) && branchFlow.length > 0 ? branchFlow : ['main'];
15
15
  const branchList = validBranchFlow.join(',');
16
16
  const normalizedNodeVersion = typeof nodeVersion === 'string' && nodeVersion.trim().length > 0 ? nodeVersion.trim() : '22';
17
- const normalizedPnpmVersion = typeof pnpmVersion === 'string' && pnpmVersion.trim().length > 0 ? pnpmVersion.trim() : '10';
17
+ // Default to an exact pnpm patch (not a floating major). pnpm 'latest' silently became
18
+ // pnpm 11 and broke installs (ERR_PNPM_IGNORED_BUILDS); an exact default is reproducible.
19
+ // Projects can override via config.runtime.pnpmVersion.
20
+ const normalizedPnpmVersion = typeof pnpmVersion === 'string' && pnpmVersion.trim().length > 0 ? pnpmVersion.trim() : '10.6.2';
18
21
  return [
19
22
  // =============================================================================
20
23
  // WORKFLOW NAME
@@ -26,6 +29,22 @@ export function createHeaderOperations(ctx) {
26
29
  required: true
27
30
  },
28
31
  // =============================================================================
32
+ // CONCURRENCY - One pipeline per branch at a time
33
+ // =============================================================================
34
+ // Prevents two rapid pushes / a re-run from racing version -> tag -> promote.
35
+ // Queued (cancel-in-progress: false) rather than cancelled, so an in-flight
36
+ // promotion is never interrupted mid-way (which could half-promote).
37
+ {
38
+ path: 'concurrency',
39
+ operation: 'preserve',
40
+ value: {
41
+ group: '${{ github.workflow }}-${{ github.ref_name }}',
42
+ 'cancel-in-progress': false
43
+ },
44
+ required: true,
45
+ spaceBefore: true
46
+ },
47
+ // =============================================================================
29
48
  // PERMISSIONS - Required for workflow operations
30
49
  // =============================================================================
31
50
  // contents: write - For creating tags and pushing changes
@@ -1 +1 @@
1
- {"version":3,"file":"operations-header.js","sourceRoot":"","sources":["../../../../src/templates/workflows/shared/operations-header.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"operations-header.js","sourceRoot":"","sources":["../../../../src/templates/workflows/shared/operations-header.ts"],"names":[],"mappings":"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"}
@@ -160,6 +160,13 @@ export interface PipecraftConfig {
160
160
  * @default 'auto'
161
161
  */
162
162
  mergeMethod?: 'auto' | 'merge' | 'squash' | 'rebase' | Record<string, 'auto' | 'merge' | 'squash' | 'rebase'>;
163
+ /**
164
+ * Auto-merge configuration.
165
+ *
166
+ * @deprecated Use `autoPromote` instead. This is a backwards-compatible alias and
167
+ * has no independent effect.
168
+ */
169
+ autoMerge?: boolean | Record<string, boolean>;
163
170
  /**
164
171
  * Semantic versioning configuration.
165
172
  * Maps conventional commit types to version bump levels.
@@ -385,4 +392,19 @@ export interface PipecraftContext {
385
392
  bumpRules: Record<string, string>;
386
393
  };
387
394
  }
395
+ /**
396
+ * Every recognized top-level config key.
397
+ *
398
+ * This is the runtime allowlist counterpart to {@link PipecraftConfig}. It is kept in
399
+ * lockstep with the interface by the compile-time assertions below (a missing or extra
400
+ * key fails `tsc`) and with `.pipecraft-schema.json` by
401
+ * `tests/unit/schema-types-consistency.test.ts`. When you add a config field, add it in
402
+ * all three places.
403
+ */
404
+ export declare const KNOWN_CONFIG_KEYS: readonly ["ciProvider", "mergeStrategy", "requireConventionalCommits", "initialBranch", "finalBranch", "branchFlow", "autoPromote", "mergeMethod", "autoMerge", "semver", "domains", "packageManager", "runtime", "actionSourceMode", "actionVersion", "rebuild", "versioning"];
405
+ /**
406
+ * Every recognized key inside a single domain entry.
407
+ * Kept in lockstep with {@link DomainConfig} and the schema's `definitions.DomainConfig`.
408
+ */
409
+ export declare const KNOWN_DOMAIN_KEYS: readonly ["paths", "description", "prefixes", "testable", "deployable", "remoteTestable"];
388
410
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH;;;;;;;;;;;;;;;GAeG;AACH,MAAM,WAAW,YAAY;IAC3B;;;OAGG;IACH,KAAK,EAAE,MAAM,EAAE,CAAA;IAEf;;;OAGG;IACH,WAAW,EAAE,MAAM,CAAA;IAEnB;;;;;;;;;;;;;;OAcG;IACH,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAA;IAEnB;;;;;OAKG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAA;IAElB;;;;;OAKG;IACH,UAAU,CAAC,EAAE,OAAO,CAAA;IAEpB;;;;;OAKG;IACH,cAAc,CAAC,EAAE,OAAO,CAAA;CACzB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,MAAM,WAAW,eAAe;IAC9B;;;OAGG;IACH,UAAU,EAAE,QAAQ,GAAG,QAAQ,CAAA;IAE/B;;;;OAIG;IACH,aAAa,EAAE,cAAc,GAAG,OAAO,CAAA;IAEvC;;;;OAIG;IACH,0BAA0B,EAAE,OAAO,CAAA;IAEnC;;;OAGG;IACH,aAAa,EAAE,MAAM,CAAA;IAErB;;;OAGG;IACH,WAAW,EAAE,MAAM,CAAA;IAEnB;;;;;OAKG;IACH,UAAU,EAAE,MAAM,EAAE,CAAA;IAEpB;;;;;;;;;OASG;IACH,WAAW,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAE/C;;;;;;;;;OASG;IACH,WAAW,CAAC,EACR,MAAM,GACN,OAAO,GACP,QAAQ,GACR,QAAQ,GACR,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,GAAG,QAAQ,GAAG,QAAQ,CAAC,CAAA;IAE1D;;;;;;;;;;;;;;OAcG;IACH,MAAM,EAAE;QACN;;WAEG;QACH,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;KAClC,CAAA;IAED;;;;OAIG;IACH,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,CAAA;IAErC;;;;;;;OAOG;IACH,cAAc,CAAC,EAAE,KAAK,GAAG,MAAM,GAAG,MAAM,CAAA;IAExC;;;;;;;;;;;;;OAaG;IACH,OAAO,CAAC,EAAE;QACR;;;;WAIG;QACH,WAAW,CAAC,EAAE,MAAM,CAAA;QAEpB;;;;WAIG;QACH,WAAW,CAAC,EAAE,MAAM,CAAA;KACrB,CAAA;IAED;;;;;;;;;;;;;;;;;;;;;;;OAuBG;IACH,gBAAgB,CAAC,EAAE,OAAO,GAAG,QAAQ,GAAG,QAAQ,CAAA;IAEhD;;;;;;OAMG;IACH,aAAa,CAAC,EAAE,MAAM,CAAA;IAEtB;;;OAGG;IACH,OAAO,CAAC,EAAE;QACR;;;WAGG;QACH,OAAO,EAAE,OAAO,CAAA;QAEhB;;WAEG;QACH,eAAe,EAAE,OAAO,CAAA;QAExB;;;WAGG;QACH,eAAe,EAAE,OAAO,CAAA;QAExB;;WAEG;QACH,SAAS,EAAE,OAAO,CAAA;QAElB;;WAEG;QACH,aAAa,EAAE,KAAK,GAAG,MAAM,GAAG,QAAQ,CAAA;QAExC;;WAEG;QACH,SAAS,EAAE,MAAM,CAAA;QAEjB;;WAEG;QACH,cAAc,EAAE,MAAM,EAAE,CAAA;KACzB,CAAA;IAED;;;OAGG;IACH,UAAU,CAAC,EAAE;QACX;;WAEG;QACH,OAAO,EAAE,OAAO,CAAA;QAEhB;;WAEG;QACH,eAAe,EAAE,MAAM,CAAA;QAEvB;;WAEG;QACH,mBAAmB,EAAE,OAAO,CAAA;QAE5B;;WAEG;QACH,OAAO,EAAE,OAAO,CAAA;QAEhB;;WAEG;QACH,QAAQ,EAAE,OAAO,CAAA;QAEjB;;WAEG;QACH,SAAS,EAAE,OAAO,CAAA;QAElB;;;WAGG;QACH,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;KACnC,CAAA;CACF;AAED;;;;;;;;GAQG;AACH,MAAM,WAAW,gBAAgB;IAC/B;;OAEG;IACH,WAAW,EAAE,MAAM,CAAA;IAEnB;;OAEG;IACH,UAAU,EAAE,QAAQ,GAAG,QAAQ,CAAA;IAE/B;;OAEG;IACH,aAAa,EAAE,cAAc,GAAG,OAAO,CAAA;IAEvC;;OAEG;IACH,0BAA0B,EAAE,OAAO,CAAA;IAEnC;;OAEG;IACH,aAAa,EAAE,MAAM,CAAA;IAErB;;OAEG;IACH,WAAW,EAAE,MAAM,CAAA;IAEnB;;OAEG;IACH,UAAU,EAAE,MAAM,EAAE,CAAA;IAEpB;;OAEG;IACH,OAAO,EAAE,MAAM,CACb,MAAM,EACN;QACE,KAAK,EAAE,MAAM,EAAE,CAAA;QACf,WAAW,EAAE,MAAM,CAAA;QACnB,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAA;QACnB,QAAQ,CAAC,EAAE,OAAO,CAAA;QAClB,UAAU,CAAC,EAAE,OAAO,CAAA;QACpB,cAAc,CAAC,EAAE,OAAO,CAAA;KACzB,CACF,CAAA;IAED;;OAEG;IACH,MAAM,EAAE;QACN,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;KAClC,CAAA;CACF"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH;;;;;;;;;;;;;;;GAeG;AACH,MAAM,WAAW,YAAY;IAC3B;;;OAGG;IACH,KAAK,EAAE,MAAM,EAAE,CAAA;IAEf;;;OAGG;IACH,WAAW,EAAE,MAAM,CAAA;IAEnB;;;;;;;;;;;;;;OAcG;IACH,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAA;IAEnB;;;;;OAKG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAA;IAElB;;;;;OAKG;IACH,UAAU,CAAC,EAAE,OAAO,CAAA;IAEpB;;;;;OAKG;IACH,cAAc,CAAC,EAAE,OAAO,CAAA;CACzB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,MAAM,WAAW,eAAe;IAC9B;;;OAGG;IACH,UAAU,EAAE,QAAQ,GAAG,QAAQ,CAAA;IAE/B;;;;OAIG;IACH,aAAa,EAAE,cAAc,GAAG,OAAO,CAAA;IAEvC;;;;OAIG;IACH,0BAA0B,EAAE,OAAO,CAAA;IAEnC;;;OAGG;IACH,aAAa,EAAE,MAAM,CAAA;IAErB;;;OAGG;IACH,WAAW,EAAE,MAAM,CAAA;IAEnB;;;;;OAKG;IACH,UAAU,EAAE,MAAM,EAAE,CAAA;IAEpB;;;;;;;;;OASG;IACH,WAAW,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAE/C;;;;;;;;;OASG;IACH,WAAW,CAAC,EACR,MAAM,GACN,OAAO,GACP,QAAQ,GACR,QAAQ,GACR,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,GAAG,QAAQ,GAAG,QAAQ,CAAC,CAAA;IAE1D;;;;;OAKG;IACH,SAAS,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAE7C;;;;;;;;;;;;;;OAcG;IACH,MAAM,EAAE;QACN;;WAEG;QACH,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;KAClC,CAAA;IAED;;;;OAIG;IACH,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,CAAA;IAErC;;;;;;;OAOG;IACH,cAAc,CAAC,EAAE,KAAK,GAAG,MAAM,GAAG,MAAM,CAAA;IAExC;;;;;;;;;;;;;OAaG;IACH,OAAO,CAAC,EAAE;QACR;;;;WAIG;QACH,WAAW,CAAC,EAAE,MAAM,CAAA;QAEpB;;;;WAIG;QACH,WAAW,CAAC,EAAE,MAAM,CAAA;KACrB,CAAA;IAED;;;;;;;;;;;;;;;;;;;;;;;OAuBG;IACH,gBAAgB,CAAC,EAAE,OAAO,GAAG,QAAQ,GAAG,QAAQ,CAAA;IAEhD;;;;;;OAMG;IACH,aAAa,CAAC,EAAE,MAAM,CAAA;IAEtB;;;OAGG;IACH,OAAO,CAAC,EAAE;QACR;;;WAGG;QACH,OAAO,EAAE,OAAO,CAAA;QAEhB;;WAEG;QACH,eAAe,EAAE,OAAO,CAAA;QAExB;;;WAGG;QACH,eAAe,EAAE,OAAO,CAAA;QAExB;;WAEG;QACH,SAAS,EAAE,OAAO,CAAA;QAElB;;WAEG;QACH,aAAa,EAAE,KAAK,GAAG,MAAM,GAAG,QAAQ,CAAA;QAExC;;WAEG;QACH,SAAS,EAAE,MAAM,CAAA;QAEjB;;WAEG;QACH,cAAc,EAAE,MAAM,EAAE,CAAA;KACzB,CAAA;IAED;;;OAGG;IACH,UAAU,CAAC,EAAE;QACX;;WAEG;QACH,OAAO,EAAE,OAAO,CAAA;QAEhB;;WAEG;QACH,eAAe,EAAE,MAAM,CAAA;QAEvB;;WAEG;QACH,mBAAmB,EAAE,OAAO,CAAA;QAE5B;;WAEG;QACH,OAAO,EAAE,OAAO,CAAA;QAEhB;;WAEG;QACH,QAAQ,EAAE,OAAO,CAAA;QAEjB;;WAEG;QACH,SAAS,EAAE,OAAO,CAAA;QAElB;;;WAGG;QACH,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;KACnC,CAAA;CACF;AAED;;;;;;;;GAQG;AACH,MAAM,WAAW,gBAAgB;IAC/B;;OAEG;IACH,WAAW,EAAE,MAAM,CAAA;IAEnB;;OAEG;IACH,UAAU,EAAE,QAAQ,GAAG,QAAQ,CAAA;IAE/B;;OAEG;IACH,aAAa,EAAE,cAAc,GAAG,OAAO,CAAA;IAEvC;;OAEG;IACH,0BAA0B,EAAE,OAAO,CAAA;IAEnC;;OAEG;IACH,aAAa,EAAE,MAAM,CAAA;IAErB;;OAEG;IACH,WAAW,EAAE,MAAM,CAAA;IAEnB;;OAEG;IACH,UAAU,EAAE,MAAM,EAAE,CAAA;IAEpB;;OAEG;IACH,OAAO,EAAE,MAAM,CACb,MAAM,EACN;QACE,KAAK,EAAE,MAAM,EAAE,CAAA;QACf,WAAW,EAAE,MAAM,CAAA;QACnB,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAA;QACnB,QAAQ,CAAC,EAAE,OAAO,CAAA;QAClB,UAAU,CAAC,EAAE,OAAO,CAAA;QACpB,cAAc,CAAC,EAAE,OAAO,CAAA;KACzB,CACF,CAAA;IAED;;OAEG;IACH,MAAM,EAAE;QACN,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;KAClC,CAAA;CACF;AAED;;;;;;;;GAQG;AACH,eAAO,MAAM,iBAAiB,iRAkBpB,CAAA;AAEV;;;GAGG;AACH,eAAO,MAAM,iBAAiB,2FAOpB,CAAA"}
@@ -7,5 +7,48 @@
7
7
  *
8
8
  * @module types
9
9
  */
10
- export {};
10
+ /**
11
+ * Every recognized top-level config key.
12
+ *
13
+ * This is the runtime allowlist counterpart to {@link PipecraftConfig}. It is kept in
14
+ * lockstep with the interface by the compile-time assertions below (a missing or extra
15
+ * key fails `tsc`) and with `.pipecraft-schema.json` by
16
+ * `tests/unit/schema-types-consistency.test.ts`. When you add a config field, add it in
17
+ * all three places.
18
+ */
19
+ export const KNOWN_CONFIG_KEYS = [
20
+ 'ciProvider',
21
+ 'mergeStrategy',
22
+ 'requireConventionalCommits',
23
+ 'initialBranch',
24
+ 'finalBranch',
25
+ 'branchFlow',
26
+ 'autoPromote',
27
+ 'mergeMethod',
28
+ 'autoMerge',
29
+ 'semver',
30
+ 'domains',
31
+ 'packageManager',
32
+ 'runtime',
33
+ 'actionSourceMode',
34
+ 'actionVersion',
35
+ 'rebuild',
36
+ 'versioning'
37
+ ];
38
+ /**
39
+ * Every recognized key inside a single domain entry.
40
+ * Kept in lockstep with {@link DomainConfig} and the schema's `definitions.DomainConfig`.
41
+ */
42
+ export const KNOWN_DOMAIN_KEYS = [
43
+ 'paths',
44
+ 'description',
45
+ 'prefixes',
46
+ 'testable',
47
+ 'deployable',
48
+ 'remoteTestable'
49
+ ];
50
+ const _assertConfigKeys = true;
51
+ const _assertDomainKeys = true;
52
+ void _assertConfigKeys;
53
+ void _assertDomainKeys;
11
54
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAwbH;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG;IAC/B,YAAY;IACZ,eAAe;IACf,4BAA4B;IAC5B,eAAe;IACf,aAAa;IACb,YAAY;IACZ,aAAa;IACb,aAAa;IACb,WAAW;IACX,QAAQ;IACR,SAAS;IACT,gBAAgB;IAChB,SAAS;IACT,kBAAkB;IAClB,eAAe;IACf,SAAS;IACT,YAAY;CACJ,CAAA;AAEV;;;GAGG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG;IAC/B,OAAO;IACP,aAAa;IACb,UAAU;IACV,UAAU;IACV,YAAY;IACZ,gBAAgB;CACR,CAAA;AAYV,MAAM,iBAAiB,GACrB,IAAI,CAAA;AACN,MAAM,iBAAiB,GAAwE,IAAI,CAAA;AACnG,KAAK,iBAAiB,CAAA;AACtB,KAAK,iBAAiB,CAAA"}
@@ -74,4 +74,16 @@ export declare const loadConfig: (configPath?: string) => any;
74
74
  * ```
75
75
  */
76
76
  export declare const validateConfig: (config: any) => boolean;
77
+ /**
78
+ * Collect non-fatal warnings for config fields that are declared/documented but have no
79
+ * effect, so the dead surface is visible instead of silently ignored.
80
+ *
81
+ * - `mergeMethod` and `mergeStrategy: 'merge'` are consumed nowhere — promotions always
82
+ * fast-forward (the promote action hardcodes `--ff-only`).
83
+ * - `autoMerge` is a deprecated alias for `autoPromote`.
84
+ *
85
+ * @param config - A config object (already structurally validated)
86
+ * @returns Human-readable warning strings (empty when the config is clean)
87
+ */
88
+ export declare const getConfigWarnings: (config: any) => string[];
77
89
  //# sourceMappingURL=config.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/utils/config.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAKH;;;GAGG;AACH,eAAO,MAAM,kBAAkB,sEAOrB,CAAA;AAEV;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,eAAO,MAAM,UAAU,GAAI,aAAa,MAAM,QAwB7C,CAAA;AAED;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,eAAO,MAAM,cAAc,GAAI,QAAQ,GAAG,YAgGzC,CAAA"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/utils/config.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAWH;;;GAGG;AACH,eAAO,MAAM,kBAAkB,sEAOrB,CAAA;AAEV;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,eAAO,MAAM,UAAU,GAAI,aAAa,MAAM,QAwB7C,CAAA;AAED;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,eAAO,MAAM,cAAc,GAAI,QAAQ,GAAG,YAmIzC,CAAA;AAED;;;;;;;;;;GAUG;AACH,eAAO,MAAM,iBAAiB,GAAI,QAAQ,GAAG,KAAG,MAAM,EAiBrD,CAAA"}
@@ -17,6 +17,8 @@
17
17
  * @module utils/config
18
18
  */
19
19
  import { cosmiconfigSync } from 'cosmiconfig';
20
+ import { KNOWN_CONFIG_KEYS, KNOWN_DOMAIN_KEYS } from '../types/index.js';
21
+ import { logger } from './logger.js';
20
22
  /**
21
23
  * Reserved job names that cannot be used as domain names.
22
24
  * These are managed by Pipecraft and would conflict with generated workflow jobs.
@@ -100,6 +102,21 @@ export const loadConfig = (configPath) => {
100
102
  * ```
101
103
  */
102
104
  export const validateConfig = (config) => {
105
+ if (!config || typeof config !== 'object' || Array.isArray(config)) {
106
+ throw new Error('Configuration must be an object');
107
+ }
108
+ // Reject unknown / misspelled top-level keys. Silently ignoring them was the root
109
+ // cause of the historical autoMerge / nx bugs: a wrong key passed validation and was
110
+ // dropped at generation time. KNOWN_CONFIG_KEYS is kept in lockstep with the types
111
+ // (compile-time) and the JSON schema (schema-types-consistency.test.ts). `$schema` is
112
+ // allowed as an editor-only meta key.
113
+ const allowedTopLevel = new Set([...KNOWN_CONFIG_KEYS, '$schema']);
114
+ const unknownTopLevel = Object.keys(config).filter(key => !allowedTopLevel.has(key));
115
+ if (unknownTopLevel.length > 0) {
116
+ throw new Error(`Unknown config key${unknownTopLevel.length > 1 ? 's' : ''}: ` +
117
+ `${unknownTopLevel.map(k => `"${k}"`).join(', ')}. ` +
118
+ `Allowed keys: ${KNOWN_CONFIG_KEYS.join(', ')}.`);
119
+ }
103
120
  // Check for all required top-level fields
104
121
  const requiredFields = [
105
122
  'ciProvider',
@@ -157,6 +174,14 @@ export const validateConfig = (config) => {
157
174
  if (!domainConfig || typeof domainConfig !== 'object') {
158
175
  throw new Error(`Domain "${domainName}" must be an object`);
159
176
  }
177
+ // Reject unknown / misspelled domain keys.
178
+ const allowedDomainKeys = new Set(KNOWN_DOMAIN_KEYS);
179
+ const unknownDomainKeys = Object.keys(domainConfig).filter(key => !allowedDomainKeys.has(key));
180
+ if (unknownDomainKeys.length > 0) {
181
+ throw new Error(`Domain "${domainName}" has unknown key${unknownDomainKeys.length > 1 ? 's' : ''}: ` +
182
+ `${unknownDomainKeys.map(k => `"${k}"`).join(', ')}. ` +
183
+ `Allowed keys: ${KNOWN_DOMAIN_KEYS.join(', ')}.`);
184
+ }
160
185
  if (!domainConfig.paths || !Array.isArray(domainConfig.paths)) {
161
186
  throw new Error(`Domain "${domainName}" must have a "paths" array`);
162
187
  }
@@ -172,6 +197,35 @@ export const validateConfig = (config) => {
172
197
  domainConfig.deployable = true;
173
198
  }
174
199
  }
200
+ // Surface declared-but-inert / deprecated fields (non-fatal).
201
+ for (const warning of getConfigWarnings(config)) {
202
+ logger.warn(`âš ī¸ ${warning}`);
203
+ }
175
204
  return true;
176
205
  };
206
+ /**
207
+ * Collect non-fatal warnings for config fields that are declared/documented but have no
208
+ * effect, so the dead surface is visible instead of silently ignored.
209
+ *
210
+ * - `mergeMethod` and `mergeStrategy: 'merge'` are consumed nowhere — promotions always
211
+ * fast-forward (the promote action hardcodes `--ff-only`).
212
+ * - `autoMerge` is a deprecated alias for `autoPromote`.
213
+ *
214
+ * @param config - A config object (already structurally validated)
215
+ * @returns Human-readable warning strings (empty when the config is clean)
216
+ */
217
+ export const getConfigWarnings = (config) => {
218
+ const warnings = [];
219
+ if (config?.mergeStrategy === 'merge') {
220
+ warnings.push("mergeStrategy: 'merge' is not implemented; promotions always fast-forward. " +
221
+ "Use 'fast-forward'.");
222
+ }
223
+ if (config?.mergeMethod !== undefined) {
224
+ warnings.push('mergeMethod is declared but has no effect; promotions always fast-forward.');
225
+ }
226
+ if (config?.autoMerge !== undefined) {
227
+ warnings.push('autoMerge is deprecated; use autoPromote instead.');
228
+ }
229
+ return warnings;
230
+ };
177
231
  //# sourceMappingURL=config.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/utils/config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/utils/config.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAA;AAC7C,OAAO,EAEL,iBAAiB,EACjB,iBAAiB,EAElB,MAAM,mBAAmB,CAAA;AAC1B,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AAEpC;;;GAGG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG;IAChC,SAAS;IACT,SAAS;IACT,MAAM;IACN,KAAK;IACL,SAAS;IACT,SAAS;CACD,CAAA;AAEV;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,UAAmB,EAAE,EAAE;IAChD,MAAM,QAAQ,GAAG,eAAe,CAAC,WAAW,EAAE;QAC5C,YAAY,EAAE;YACZ,cAAc;YACd,mBAAmB;YACnB,mBAAmB;YACnB,kBAAkB;YAClB,iBAAiB;YACjB,qBAAqB;YACrB,cAAc;SACf;KACF,CAAC,CAAA;IACF,MAAM,MAAM,GAAG,UAAU,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAA;IAEzE,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,MAAM,IAAI,KAAK,CACb,0CACE,UAAU;YACV,0FACF,EAAE,CACH,CAAA;IACH,CAAC;IAED,OAAO,MAAM,CAAC,MAAM,CAAA;AACtB,CAAC,CAAA;AAED;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,MAAW,EAAE,EAAE;IAC5C,IAAI,CAAC,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;QACnE,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAA;IACpD,CAAC;IAED,kFAAkF;IAClF,qFAAqF;IACrF,mFAAmF;IACnF,sFAAsF;IACtF,sCAAsC;IACtC,MAAM,eAAe,GAAG,IAAI,GAAG,CAAS,CAAC,GAAG,iBAAiB,EAAE,SAAS,CAAC,CAAC,CAAA;IAC1E,MAAM,eAAe,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,eAAe,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAA;IACpF,IAAI,eAAe,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC/B,MAAM,IAAI,KAAK,CACb,qBAAqB,eAAe,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,IAAI;YAC5D,GAAG,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI;YACpD,iBAAiB,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CACnD,CAAA;IACH,CAAC;IAED,0CAA0C;IAC1C,MAAM,cAAc,GAAG;QACrB,YAAY;QACZ,eAAe;QACf,4BAA4B;QAC5B,eAAe;QACf,aAAa;QACb,YAAY;QACZ,SAAS;KACV,CAAA;IAED,KAAK,MAAM,KAAK,IAAI,cAAc,EAAE,CAAC;QACnC,IAAI,CAAC,CAAC,KAAK,IAAI,MAAM,CAAC,EAAE,CAAC;YACvB,MAAM,IAAI,KAAK,CAAC,2BAA2B,KAAK,EAAE,CAAC,CAAA;QACrD,CAAC;IACH,CAAC;IAED,2BAA2B;IAC3B,IAAI,CAAC,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE,CAAC;QACtD,MAAM,IAAI,KAAK,CAAC,gDAAgD,CAAC,CAAA;IACnE,CAAC;IAED,8BAA8B;IAC9B,IAAI,CAAC,CAAC,cAAc,EAAE,OAAO,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,aAAa,CAAC,EAAE,CAAC;QAC9D,MAAM,IAAI,KAAK,CAAC,wDAAwD,CAAC,CAAA;IAC3E,CAAC;IAED,2CAA2C;IAC3C,6FAA6F;IAC7F,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,MAAM,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACtE,MAAM,IAAI,KAAK,CAAC,oDAAoD,CAAC,CAAA;IACvE,CAAC;IAED,gDAAgD;IAChD,IAAI,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,MAAM,CAAC,aAAa,EAAE,CAAC;QAClD,MAAM,IAAI,KAAK,CACb,kBAAkB,MAAM,CAAC,aAAa,4CAA4C;YAChF,oBAAoB,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CACtD,CAAA;IACH,CAAC;IAED,6CAA6C;IAC7C,IAAI,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,KAAK,MAAM,CAAC,WAAW,EAAE,CAAC;QAC3E,MAAM,IAAI,KAAK,CACb,gBAAgB,MAAM,CAAC,WAAW,2CAA2C;YAC3E,oBAAoB,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CACtD,CAAA;IACH,CAAC;IAED,6BAA6B;IAC7B,IAAI,OAAO,MAAM,CAAC,OAAO,KAAK,QAAQ,EAAE,CAAC;QACvC,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAA;IAC9C,CAAC;IAED,+DAA+D;IAC/D,MAAM,WAAW,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;IAC/C,KAAK,MAAM,UAAU,IAAI,WAAW,EAAE,CAAC;QACrC,MAAM,SAAS,GAAG,UAAU,CAAC,WAAW,EAAE,CAAA;QAC1C,IAAK,kBAAwC,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;YAClE,MAAM,IAAI,KAAK,CACb,gBAAgB,UAAU,oCAAoC;gBAC5D,mBAAmB,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI;gBACpD,0DAA0D,CAC7D,CAAA;QACH,CAAC;IACH,CAAC;IAED,qCAAqC;IACrC,KAAK,MAAM,CAAC,UAAU,EAAE,YAAY,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAGnE,EAAE,CAAC;QACJ,IAAI,CAAC,YAAY,IAAI,OAAO,YAAY,KAAK,QAAQ,EAAE,CAAC;YACtD,MAAM,IAAI,KAAK,CAAC,WAAW,UAAU,qBAAqB,CAAC,CAAA;QAC7D,CAAC;QAED,2CAA2C;QAC3C,MAAM,iBAAiB,GAAG,IAAI,GAAG,CAAS,iBAAiB,CAAC,CAAA;QAC5D,MAAM,iBAAiB,GAAG,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,iBAAiB,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAA;QAC9F,IAAI,iBAAiB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACjC,MAAM,IAAI,KAAK,CACb,WAAW,UAAU,oBAAoB,iBAAiB,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,IAAI;gBAClF,GAAG,iBAAiB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI;gBACtD,iBAAiB,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CACnD,CAAA;QACH,CAAC;QAED,IAAI,CAAC,YAAY,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,KAAK,CAAC,EAAE,CAAC;YAC9D,MAAM,IAAI,KAAK,CAAC,WAAW,UAAU,6BAA6B,CAAC,CAAA;QACrE,CAAC;QAED,IAAI,YAAY,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACpC,MAAM,IAAI,KAAK,CAAC,WAAW,UAAU,uCAAuC,CAAC,CAAA;QAC/E,CAAC;QAED,uCAAuC;QACvC,uDAAuD;QACvD,IAAI,YAAY,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;YACxC,YAAY,CAAC,QAAQ,GAAG,IAAI,CAAA;QAC9B,CAAC;QACD,IAAI,YAAY,CAAC,UAAU,KAAK,SAAS,EAAE,CAAC;YAC1C,YAAY,CAAC,UAAU,GAAG,IAAI,CAAA;QAChC,CAAC;IACH,CAAC;IAED,8DAA8D;IAC9D,KAAK,MAAM,OAAO,IAAI,iBAAiB,CAAC,MAAM,CAAC,EAAE,CAAC;QAChD,MAAM,CAAC,IAAI,CAAC,OAAO,OAAO,EAAE,CAAC,CAAA;IAC/B,CAAC;IAED,OAAO,IAAI,CAAA;AACb,CAAC,CAAA;AAED;;;;;;;;;;GAUG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,MAAW,EAAY,EAAE;IACzD,MAAM,QAAQ,GAAa,EAAE,CAAA;IAE7B,IAAI,MAAM,EAAE,aAAa,KAAK,OAAO,EAAE,CAAC;QACtC,QAAQ,CAAC,IAAI,CACX,6EAA6E;YAC3E,qBAAqB,CACxB,CAAA;IACH,CAAC;IACD,IAAI,MAAM,EAAE,WAAW,KAAK,SAAS,EAAE,CAAC;QACtC,QAAQ,CAAC,IAAI,CAAC,4EAA4E,CAAC,CAAA;IAC7F,CAAC;IACD,IAAI,MAAM,EAAE,SAAS,KAAK,SAAS,EAAE,CAAC;QACpC,QAAQ,CAAC,IAAI,CAAC,mDAAmD,CAAC,CAAA;IACpE,CAAC;IAED,OAAO,QAAQ,CAAA;AACjB,CAAC,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"preflight.d.ts","sourceRoot":"","sources":["../../src/utils/preflight.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAOH;;;;;GAKG;AACH,MAAM,WAAW,eAAe;IAC9B,+BAA+B;IAC/B,MAAM,EAAE,OAAO,CAAA;IAEf,qDAAqD;IACrD,OAAO,EAAE,MAAM,CAAA;IAEf,iDAAiD;IACjD,UAAU,CAAC,EAAE,MAAM,CAAA;CACpB;AAED;;;;;GAKG;AACH,MAAM,WAAW,eAAe;IAC9B,oDAAoD;IACpD,YAAY,EAAE,eAAe,CAAA;IAE7B,0DAA0D;IAC1D,WAAW,EAAE,eAAe,CAAA;IAE5B,4CAA4C;IAC5C,SAAS,EAAE,eAAe,CAAA;IAE1B,wCAAwC;IACxC,YAAY,EAAE,eAAe,CAAA;IAE7B,8CAA8C;IAC9C,iBAAiB,EAAE,eAAe,CAAA;CACnC;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,iBAAiB,IAAI,eAAe,CAgBnD;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,gBAAgB,IAAI,eAAe,CAuDlD;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,cAAc,IAAI,eAAe,CAkBhD;AAED;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,wBAAgB,iBAAiB,IAAI,eAAe,CAgCnD;AAED;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,wBAAgB,sBAAsB,IAAI,eAAe,CAyCxD;AAED;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAgB,gBAAgB,CAAC,UAAU,GAAE,MAAiB,GAAG,eAAe,CAkB/E;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AACH,wBAAgB,kBAAkB,IAAI,eAAe,CAQpD;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,eAAe,GAAG;IAC/D,SAAS,EAAE,OAAO,CAAA;IAClB,MAAM,EAAE,MAAM,CAAA;IACd,SAAS,CAAC,EAAE,MAAM,EAAE,CAAA;CACrB,CAoDA"}
1
+ {"version":3,"file":"preflight.d.ts","sourceRoot":"","sources":["../../src/utils/preflight.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAQH;;;;;GAKG;AACH,MAAM,WAAW,eAAe;IAC9B,+BAA+B;IAC/B,MAAM,EAAE,OAAO,CAAA;IAEf,qDAAqD;IACrD,OAAO,EAAE,MAAM,CAAA;IAEf,iDAAiD;IACjD,UAAU,CAAC,EAAE,MAAM,CAAA;CACpB;AAED;;;;;GAKG;AACH,MAAM,WAAW,eAAe;IAC9B,oDAAoD;IACpD,YAAY,EAAE,eAAe,CAAA;IAE7B,0DAA0D;IAC1D,WAAW,EAAE,eAAe,CAAA;IAE5B,4CAA4C;IAC5C,SAAS,EAAE,eAAe,CAAA;IAE1B,wCAAwC;IACxC,YAAY,EAAE,eAAe,CAAA;IAE7B,8CAA8C;IAC9C,iBAAiB,EAAE,eAAe,CAAA;CACnC;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,iBAAiB,IAAI,eAAe,CAgBnD;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,gBAAgB,IAAI,eAAe,CAoElD;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,cAAc,IAAI,eAAe,CAkBhD;AAED;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,wBAAgB,iBAAiB,IAAI,eAAe,CAgCnD;AAED;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,wBAAgB,sBAAsB,IAAI,eAAe,CAyCxD;AAED;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAgB,gBAAgB,CAAC,UAAU,GAAE,MAAiB,GAAG,eAAe,CAkB/E;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AACH,wBAAgB,kBAAkB,IAAI,eAAe,CAQpD;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,eAAe,GAAG;IAC/D,SAAS,EAAE,OAAO,CAAA;IAClB,MAAM,EAAE,MAAM,CAAA;IACd,SAAS,CAAC,EAAE,MAAM,EAAE,CAAA;CACrB,CAoDA"}
@@ -17,6 +17,7 @@
17
17
  */
18
18
  import { execSync } from 'child_process';
19
19
  import { cosmiconfigSync } from 'cosmiconfig';
20
+ import { validateConfig } from './config.js';
20
21
  import { existsSync, mkdirSync, unlinkSync, writeFileSync } from 'fs';
21
22
  import { join } from 'path';
22
23
  /**
@@ -108,6 +109,19 @@ export function checkConfigValid() {
108
109
  suggestion: 'Add at least one domain to your config file'
109
110
  };
110
111
  }
112
+ // Delegate to the full validator so preflight and `pipecraft validate` agree:
113
+ // catches unknown/misspelled keys, invalid enums, and branch-flow ordering that the
114
+ // lightweight checks above do not cover.
115
+ try {
116
+ validateConfig(config);
117
+ }
118
+ catch (error) {
119
+ return {
120
+ passed: false,
121
+ message: error.message,
122
+ suggestion: "Fix the reported issue, or run 'pipecraft init --force' to recreate config"
123
+ };
124
+ }
111
125
  return {
112
126
  passed: true,
113
127
  message: 'Configuration is valid'
@@ -1 +1 @@
1
- {"version":3,"file":"preflight.js","sourceRoot":"","sources":["../../src/utils/preflight.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"preflight.js","sourceRoot":"","sources":["../../src/utils/preflight.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AACxC,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAA;AAC7C,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AAC5C,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,IAAI,CAAA;AACrE,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;AA0C3B;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,UAAU,iBAAiB;IAC/B,MAAM,QAAQ,GAAG,eAAe,CAAC,WAAW,CAAC,CAAA;IAC7C,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAA;IAEhC,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,OAAO;YACL,MAAM,EAAE,KAAK;YACb,OAAO,EAAE,kCAAkC;YAC3C,UAAU,EAAE,qDAAqD;SAClE,CAAA;IACH,CAAC;IAED,OAAO;QACL,MAAM,EAAE,IAAI;QACZ,OAAO,EAAE,wBAAwB,MAAM,CAAC,QAAQ,EAAE;KACnD,CAAA;AACH,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,UAAU,gBAAgB;IAC9B,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,eAAe,CAAC,WAAW,CAAC,CAAA;QAC7C,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAA;QAEhC,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,OAAO;gBACL,MAAM,EAAE,KAAK;gBACb,OAAO,EAAE,6BAA6B;gBACtC,UAAU,EAAE,4BAA4B;aACzC,CAAA;QACH,CAAC;QAED,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAA;QAE5B,4BAA4B;QAC5B,MAAM,cAAc,GAAG,CAAC,YAAY,EAAE,YAAY,EAAE,SAAS,CAAC,CAAA;QAC9D,MAAM,aAAa,GAAG,cAAc,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,IAAI,MAAM,CAAC,CAAC,CAAA;QAExE,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC7B,OAAO;gBACL,MAAM,EAAE,KAAK;gBACb,OAAO,EAAE,sCAAsC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;gBACzE,UAAU,EAAE,iDAAiD;aAC9D,CAAA;QACH,CAAC;QAED,6BAA6B;QAC7B,IAAI,CAAC,MAAM,CAAC,OAAO,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAChE,OAAO;gBACL,MAAM,EAAE,KAAK;gBACb,OAAO,EAAE,kCAAkC;gBAC3C,UAAU,EAAE,6CAA6C;aAC1D,CAAA;QACH,CAAC;QAED,8EAA8E;QAC9E,oFAAoF;QACpF,yCAAyC;QACzC,IAAI,CAAC;YACH,cAAc,CAAC,MAAM,CAAC,CAAA;QACxB,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YACpB,OAAO;gBACL,MAAM,EAAE,KAAK;gBACb,OAAO,EAAE,KAAK,CAAC,OAAO;gBACtB,UAAU,EAAE,4EAA4E;aACzF,CAAA;QACH,CAAC;QAED,OAAO;YACL,MAAM,EAAE,IAAI;YACZ,OAAO,EAAE,wBAAwB;SAClC,CAAA;IACH,CAAC;IAAC,OAAO,KAAU,EAAE,CAAC;QACpB,IAAI,KAAK,YAAY,WAAW,EAAE,CAAC;YACjC,OAAO;gBACL,MAAM,EAAE,KAAK;gBACb,OAAO,EAAE,gCAAgC,KAAK,CAAC,OAAO,EAAE;gBACxD,UAAU,EAAE,qCAAqC;aAClD,CAAA;QACH,CAAC;QAED,OAAO;YACL,MAAM,EAAE,KAAK;YACb,OAAO,EAAE,yBAAyB,KAAK,CAAC,OAAO,EAAE;YACjD,UAAU,EAAE,6CAA6C;SAC1D,CAAA;IACH,CAAC;AACH,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,UAAU,cAAc;IAC5B,IAAI,CAAC;QACH,QAAQ,CAAC,qCAAqC,EAAE;YAC9C,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,yDAAyD;YAC5F,QAAQ,EAAE,MAAM;SACjB,CAAC,CAAA;QAEF,OAAO;YACL,MAAM,EAAE,IAAI;YACZ,OAAO,EAAE,uCAAuC;SACjD,CAAA;IACH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO;YACL,MAAM,EAAE,KAAK;YACb,OAAO,EAAE,yBAAyB;YAClC,UAAU,EAAE,4DAA4D;SACzE,CAAA;IACH,CAAC;AACH,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,MAAM,UAAU,iBAAiB;IAC/B,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,QAAQ,CAAC,2BAA2B,EAAE;YACnD,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,kBAAkB;YACrD,QAAQ,EAAE,MAAM;SACjB,CAAC,CAAC,IAAI,EAAE,CAAA;QAET,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,OAAO;gBACL,MAAM,EAAE,KAAK;gBACb,OAAO,EAAE,0BAA0B;gBACnC,UAAU,EAAE,2CAA2C;aACxD,CAAA;QACH,CAAC;QAED,gCAAgC;QAChC,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAA;QAE9C,OAAO;YACL,MAAM,EAAE,IAAI;YACZ,OAAO,EAAE,0BAA0B,MAAM,EAAE;YAC3C,UAAU,EAAE,CAAC,QAAQ;gBACnB,CAAC,CAAC,0EAA0E;gBAC5E,CAAC,CAAC,SAAS;SACd,CAAA;IACH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO;YACL,MAAM,EAAE,KAAK;YACb,OAAO,EAAE,8BAA8B;YACvC,UAAU,EAAE,2CAA2C;SACxD,CAAA;IACH,CAAC;AACH,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,MAAM,UAAU,sBAAsB;IACpC,MAAM,SAAS,GAAG,SAAS,CAAA;IAC3B,MAAM,YAAY,GAAG,IAAI,CAAC,SAAS,EAAE,WAAW,CAAC,CAAA;IAEjD,IAAI,CAAC;QACH,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;YAC3B,mBAAmB;YACnB,SAAS,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;YACzC,SAAS,CAAC,YAAY,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;YAE5C,OAAO;gBACL,MAAM,EAAE,IAAI;gBACZ,OAAO,EAAE,qCAAqC;aAC/C,CAAA;QACH,CAAC;QAED,sCAAsC;QACtC,IAAI,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;YAC7B,2BAA2B;YAC3B,MAAM,QAAQ,GAAG,IAAI,CAAC,YAAY,EAAE,iBAAiB,CAAC,CAAA;YACtD,aAAa,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAA;YAC/B,UAAU,CAAC,QAAQ,CAAC,CAAA;YAEpB,OAAO;gBACL,MAAM,EAAE,IAAI;gBACZ,OAAO,EAAE,yCAAyC;aACnD,CAAA;QACH,CAAC;aAAM,CAAC;YACN,SAAS,CAAC,YAAY,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;YAC5C,OAAO;gBACL,MAAM,EAAE,IAAI;gBACZ,OAAO,EAAE,qCAAqC;aAC/C,CAAA;QACH,CAAC;IACH,CAAC;IAAC,OAAO,KAAU,EAAE,CAAC;QACpB,OAAO;YACL,MAAM,EAAE,KAAK;YACb,OAAO,EAAE,sCAAsC,KAAK,CAAC,OAAO,EAAE;YAC9D,UAAU,EAAE,6BAA6B;SAC1C,CAAA;IACH,CAAC;AACH,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,MAAM,UAAU,gBAAgB,CAAC,aAAqB,QAAQ;IAC5D,MAAM,cAAc,GAAG,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA,CAAC,oBAAoB;IAEpE,MAAM,CAAC,YAAY,CAAC,GAAG,cAAc,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;IAC5D,MAAM,CAAC,QAAQ,CAAC,GAAG,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;IAEpD,IAAI,YAAY,GAAG,QAAQ,EAAE,CAAC;QAC5B,OAAO;YACL,MAAM,EAAE,KAAK;YACb,OAAO,EAAE,WAAW,cAAc,yBAAyB,UAAU,GAAG;YACxE,UAAU,EAAE,oCAAoC;SACjD,CAAA;IACH,CAAC;IAED,OAAO;QACL,MAAM,EAAE,IAAI;QACZ,OAAO,EAAE,WAAW,cAAc,QAAQ,UAAU,GAAG;KACxD,CAAA;AACH,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AACH,MAAM,UAAU,kBAAkB;IAChC,OAAO;QACL,YAAY,EAAE,iBAAiB,EAAE;QACjC,WAAW,EAAE,gBAAgB,EAAE;QAC/B,SAAS,EAAE,cAAc,EAAE;QAC3B,YAAY,EAAE,iBAAiB,EAAE;QACjC,iBAAiB,EAAE,sBAAsB,EAAE;KAC5C,CAAA;AACH,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,MAAM,UAAU,sBAAsB,CAAC,MAAuB;IAK5D,MAAM,OAAO,GAAa,EAAE,CAAA;IAC5B,IAAI,SAAS,GAAG,IAAI,CAAA;IAEpB,KAAK,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;QACnD,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAA;QACtC,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC,CAAA;QAEzC,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;YACnB,SAAS,GAAG,KAAK,CAAA;YACjB,IAAI,MAAM,CAAC,UAAU,EAAE,CAAC;gBACtB,OAAO,CAAC,IAAI,CAAC,SAAS,MAAM,CAAC,UAAU,EAAE,CAAC,CAAA;YAC5C,CAAC;QACH,CAAC;IACH,CAAC;IAED,0CAA0C;IAC1C,MAAM,SAAS,GAAyB,SAAS;QAC/C,CAAC,CAAC;YACE,kDAAkD;YAClD,EAAE;YACF,gBAAgB;YAChB,EAAE;YACF,kDAAkD;YAClD,uCAAuC;YACvC,kEAAkE;YAClE,uEAAuE;YACvE,EAAE;YACF,2BAA2B;YAC3B,iEAAiE;YACjE,EAAE;YACF,iDAAiD;YACjD,yDAAyD;YACzD,+DAA+D;YAC/D,EAAE;YACF,qBAAqB;YACrB,4CAA4C;YAC5C,kDAAkD;YAClD,aAAa;YACb,EAAE;YACF,sCAAsC;YACtC,yBAAyB,WAAW,EAAE,UAAU;YAChD,EAAE;YACF,qGAAqG;SACtG;QACH,CAAC,CAAC,SAAS,CAAA;IAEb,OAAO;QACL,SAAS;QACT,MAAM,EAAE,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC;QAC1B,SAAS;KACV,CAAA;AACH,CAAC;AAED;;;;;;;;;;;GAWG;AACH,SAAS,gBAAgB;IACvB,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,QAAQ,CAAC,2BAA2B,EAAE;YACnD,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,kBAAkB;YACrD,QAAQ,EAAE,MAAM;SACjB,CAAC,CAAC,IAAI,EAAE,CAAA;QACT,OAAO,MAAM,IAAI,MAAM,CAAA;IACzB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,MAAM,CAAA;IACf,CAAC;AACH,CAAC;AAED;;;;;;;;GAQG;AACH,SAAS,WAAW;IAClB,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,QAAQ,CAAC,2BAA2B,EAAE;YACnD,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,kBAAkB;YACrD,QAAQ,EAAE,MAAM;SACjB,CAAC,CAAC,IAAI,EAAE,CAAA;QAET,qCAAqC;QACrC,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,6CAA6C,CAAC,CAAA;QACzE,IAAI,KAAK,EAAE,CAAC;YACV,OAAO,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,EAAE,CAAA;QAClC,CAAC;QAED,OAAO,yBAAyB,CAAA;IAClC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,yBAAyB,CAAA;IAClC,CAAC;AACH,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "pipecraft",
3
- "version": "0.40.2",
3
+ "version": "0.40.4",
4
4
  "description": "Automated CI/CD pipeline generator for trunk-based development. Generates intelligent GitHub Actions workflows with domain-based change detection, semantic versioning, and branch flow management. Full documentation: https://pipecraft.thecraftlab.dev",
5
5
  "license": "MIT",
6
6
  "type": "module",