pipecraft 0.29.3 → 0.36.14

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 (142) hide show
  1. package/README.md +128 -54
  2. package/dist/cli/index.d.ts +3 -3
  3. package/dist/cli/index.js +68 -25
  4. package/dist/cli/index.js.map +1 -1
  5. package/dist/generators/init.tpl.d.ts +4 -4
  6. package/dist/generators/init.tpl.d.ts.map +1 -1
  7. package/dist/generators/init.tpl.js +214 -108
  8. package/dist/generators/init.tpl.js.map +1 -1
  9. package/dist/generators/workflows.tpl.d.ts +9 -9
  10. package/dist/generators/workflows.tpl.d.ts.map +1 -1
  11. package/dist/generators/workflows.tpl.js +33 -36
  12. package/dist/generators/workflows.tpl.js.map +1 -1
  13. package/dist/templates/actions/calculate-version.yml.tpl.d.ts +7 -4
  14. package/dist/templates/actions/calculate-version.yml.tpl.d.ts.map +1 -1
  15. package/dist/templates/actions/calculate-version.yml.tpl.js +49 -23
  16. package/dist/templates/actions/calculate-version.yml.tpl.js.map +1 -1
  17. package/dist/templates/actions/create-pr.yml.tpl.d.ts +5 -2
  18. package/dist/templates/actions/create-pr.yml.tpl.d.ts.map +1 -1
  19. package/dist/templates/actions/create-pr.yml.tpl.js +14 -8
  20. package/dist/templates/actions/create-pr.yml.tpl.js.map +1 -1
  21. package/dist/templates/actions/create-release.yml.tpl.d.ts +5 -2
  22. package/dist/templates/actions/create-release.yml.tpl.d.ts.map +1 -1
  23. package/dist/templates/actions/create-release.yml.tpl.js +16 -11
  24. package/dist/templates/actions/create-release.yml.tpl.js.map +1 -1
  25. package/dist/templates/actions/create-tag.yml.tpl.d.ts +5 -2
  26. package/dist/templates/actions/create-tag.yml.tpl.d.ts.map +1 -1
  27. package/dist/templates/actions/create-tag.yml.tpl.js +13 -9
  28. package/dist/templates/actions/create-tag.yml.tpl.js.map +1 -1
  29. package/dist/templates/actions/detect-changes.yml.tpl.d.ts +17 -51
  30. package/dist/templates/actions/detect-changes.yml.tpl.d.ts.map +1 -1
  31. package/dist/templates/actions/detect-changes.yml.tpl.js +130 -110
  32. package/dist/templates/actions/detect-changes.yml.tpl.js.map +1 -1
  33. package/dist/templates/actions/manage-branch.yml.tpl.d.ts +5 -2
  34. package/dist/templates/actions/manage-branch.yml.tpl.d.ts.map +1 -1
  35. package/dist/templates/actions/manage-branch.yml.tpl.js +13 -9
  36. package/dist/templates/actions/manage-branch.yml.tpl.js.map +1 -1
  37. package/dist/templates/actions/promote-branch.yml.tpl.d.ts +5 -2
  38. package/dist/templates/actions/promote-branch.yml.tpl.d.ts.map +1 -1
  39. package/dist/templates/actions/promote-branch.yml.tpl.js +39 -92
  40. package/dist/templates/actions/promote-branch.yml.tpl.js.map +1 -1
  41. package/dist/templates/release-it.cjs.tpl.d.ts +1 -1
  42. package/dist/templates/release-it.cjs.tpl.d.ts.map +1 -1
  43. package/dist/templates/release-it.cjs.tpl.js +38 -29
  44. package/dist/templates/release-it.cjs.tpl.js.map +1 -1
  45. package/dist/templates/workflows/enforce-pr-target.yml.tpl.d.ts +1 -1
  46. package/dist/templates/workflows/enforce-pr-target.yml.tpl.d.ts.map +1 -1
  47. package/dist/templates/workflows/enforce-pr-target.yml.tpl.js +2 -3
  48. package/dist/templates/workflows/enforce-pr-target.yml.tpl.js.map +1 -1
  49. package/dist/templates/workflows/pipeline.yml.tpl.d.ts +2 -2
  50. package/dist/templates/workflows/pipeline.yml.tpl.d.ts.map +1 -1
  51. package/dist/templates/workflows/pipeline.yml.tpl.js +337 -84
  52. package/dist/templates/workflows/pipeline.yml.tpl.js.map +1 -1
  53. package/dist/templates/workflows/pr-title-check.yml.tpl.d.ts +1 -1
  54. package/dist/templates/workflows/pr-title-check.yml.tpl.d.ts.map +1 -1
  55. package/dist/templates/workflows/pr-title-check.yml.tpl.js +101 -22
  56. package/dist/templates/workflows/pr-title-check.yml.tpl.js.map +1 -1
  57. package/dist/templates/workflows/shared/index.d.ts +4 -2
  58. package/dist/templates/workflows/shared/index.d.ts.map +1 -1
  59. package/dist/templates/workflows/shared/index.js +4 -2
  60. package/dist/templates/workflows/shared/index.js.map +1 -1
  61. package/dist/templates/workflows/shared/managed-workflow.d.ts +32 -0
  62. package/dist/templates/workflows/shared/managed-workflow.d.ts.map +1 -0
  63. package/dist/templates/workflows/shared/managed-workflow.js +51 -0
  64. package/dist/templates/workflows/shared/managed-workflow.js.map +1 -0
  65. package/dist/templates/workflows/shared/operations-changes.d.ts +13 -3
  66. package/dist/templates/workflows/shared/operations-changes.d.ts.map +1 -1
  67. package/dist/templates/workflows/shared/operations-changes.js +42 -16
  68. package/dist/templates/workflows/shared/operations-changes.js.map +1 -1
  69. package/dist/templates/workflows/shared/operations-domain-jobs.d.ts +18 -1
  70. package/dist/templates/workflows/shared/operations-domain-jobs.d.ts.map +1 -1
  71. package/dist/templates/workflows/shared/operations-domain-jobs.js +142 -17
  72. package/dist/templates/workflows/shared/operations-domain-jobs.js.map +1 -1
  73. package/dist/templates/workflows/shared/operations-gate.d.ts +6 -0
  74. package/dist/templates/workflows/shared/operations-gate.d.ts.map +1 -0
  75. package/dist/templates/workflows/shared/operations-gate.js +116 -0
  76. package/dist/templates/workflows/shared/operations-gate.js.map +1 -0
  77. package/dist/templates/workflows/shared/operations-header.d.ts +11 -1
  78. package/dist/templates/workflows/shared/operations-header.d.ts.map +1 -1
  79. package/dist/templates/workflows/shared/operations-header.js +66 -7
  80. package/dist/templates/workflows/shared/operations-header.js.map +1 -1
  81. package/dist/templates/workflows/shared/operations-tag-promote.d.ts +4 -3
  82. package/dist/templates/workflows/shared/operations-tag-promote.d.ts.map +1 -1
  83. package/dist/templates/workflows/shared/operations-tag-promote.js +144 -33
  84. package/dist/templates/workflows/shared/operations-tag-promote.js.map +1 -1
  85. package/dist/templates/workflows/shared/operations-version.d.ts +3 -2
  86. package/dist/templates/workflows/shared/operations-version.d.ts.map +1 -1
  87. package/dist/templates/workflows/shared/operations-version.js +17 -16
  88. package/dist/templates/workflows/shared/operations-version.js.map +1 -1
  89. package/dist/templates/yaml-format-utils.d.ts.map +1 -1
  90. package/dist/templates/yaml-format-utils.js +1 -5
  91. package/dist/templates/yaml-format-utils.js.map +1 -1
  92. package/dist/types/index.d.ts +65 -53
  93. package/dist/types/index.d.ts.map +1 -1
  94. package/dist/utils/action-reference.d.ts +73 -0
  95. package/dist/utils/action-reference.d.ts.map +1 -0
  96. package/dist/utils/action-reference.js +120 -0
  97. package/dist/utils/action-reference.js.map +1 -0
  98. package/dist/utils/ast-path-operations.d.ts +3 -3
  99. package/dist/utils/ast-path-operations.d.ts.map +1 -1
  100. package/dist/utils/ast-path-operations.js +58 -17
  101. package/dist/utils/ast-path-operations.js.map +1 -1
  102. package/dist/utils/config.d.ts +16 -5
  103. package/dist/utils/config.d.ts.map +1 -1
  104. package/dist/utils/config.js +69 -12
  105. package/dist/utils/config.js.map +1 -1
  106. package/dist/utils/github-setup.d.ts +7 -7
  107. package/dist/utils/github-setup.d.ts.map +1 -1
  108. package/dist/utils/github-setup.js +84 -63
  109. package/dist/utils/github-setup.js.map +1 -1
  110. package/dist/utils/logger.d.ts.map +1 -1
  111. package/dist/utils/logger.js.map +1 -1
  112. package/dist/utils/messaging.d.ts +2 -2
  113. package/dist/utils/messaging.d.ts.map +1 -1
  114. package/dist/utils/messaging.js +12 -8
  115. package/dist/utils/messaging.js.map +1 -1
  116. package/dist/utils/preflight.d.ts +2 -2
  117. package/dist/utils/preflight.d.ts.map +1 -1
  118. package/dist/utils/preflight.js +43 -41
  119. package/dist/utils/preflight.js.map +1 -1
  120. package/dist/utils/versioning.d.ts +1 -1
  121. package/dist/utils/versioning.d.ts.map +1 -1
  122. package/dist/utils/versioning.js +10 -10
  123. package/dist/utils/versioning.js.map +1 -1
  124. package/dist/utils/workflow-semantics.d.ts +61 -0
  125. package/dist/utils/workflow-semantics.d.ts.map +1 -0
  126. package/dist/utils/workflow-semantics.js +230 -0
  127. package/dist/utils/workflow-semantics.js.map +1 -0
  128. package/package.json +12 -4
  129. package/src/generators/init.tpl.ts +275 -128
  130. package/src/generators/workflows.tpl.ts +54 -57
  131. package/dist/templates/actions/detect-changes-nx.yml.tpl.d.ts +0 -32
  132. package/dist/templates/actions/detect-changes-nx.yml.tpl.d.ts.map +0 -1
  133. package/dist/templates/actions/detect-changes-nx.yml.tpl.js +0 -227
  134. package/dist/templates/actions/detect-changes-nx.yml.tpl.js.map +0 -1
  135. package/dist/templates/workflows/pipeline-nx.yml.tpl.d.ts +0 -22
  136. package/dist/templates/workflows/pipeline-nx.yml.tpl.d.ts.map +0 -1
  137. package/dist/templates/workflows/pipeline-nx.yml.tpl.js +0 -196
  138. package/dist/templates/workflows/pipeline-nx.yml.tpl.js.map +0 -1
  139. package/dist/utils/idempotency.d.ts +0 -187
  140. package/dist/utils/idempotency.d.ts.map +0 -1
  141. package/dist/utils/idempotency.js +0 -304
  142. package/dist/utils/idempotency.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"workflows.tpl.js","sourceRoot":"","sources":["../../src/generators/workflows.tpl.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"workflows.tpl.js","sourceRoot":"","sources":["../../src/generators/workflows.tpl.ts"],"names":[],"mappings":"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"}
@@ -15,7 +15,7 @@
15
15
  *
16
16
  * ## Generated Action Location
17
17
  *
18
- * `.github/actions/calculate-version/action.yml`
18
+ * `actions/calculate-version/action.yml`
19
19
  *
20
20
  * ## Usage in Workflows
21
21
  *
@@ -26,7 +26,7 @@
26
26
  * outputs:
27
27
  * version: ${{ steps.calc.outputs.version }}
28
28
  * steps:
29
- * - uses: ./.github/actions/calculate-version
29
+ * - uses: ./actions/calculate-version
30
30
  * id: calc
31
31
  * with:
32
32
  * baseRef: main
@@ -39,12 +39,15 @@
39
39
  *
40
40
  * @module templates/actions/calculate-version.yml.tpl
41
41
  */
42
- import { PinionContext } from '@featherscloud/pinion';
42
+ import { type PinionContext } from '@featherscloud/pinion';
43
+ import type { PipecraftConfig } from '../../types/index.js';
43
44
  /**
44
45
  * Generator entry point for calculate-version composite action.
45
46
  *
46
47
  * @param {PinionContext} ctx - Pinion generator context
47
48
  * @returns {Promise<PinionContext>} Updated context after file generation
48
49
  */
49
- export declare const generate: (ctx: PinionContext) => Promise<any>;
50
+ export declare const generate: (ctx: PinionContext & {
51
+ config?: Partial<PipecraftConfig>;
52
+ }) => Promise<any>;
50
53
  //# sourceMappingURL=calculate-version.yml.tpl.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"calculate-version.yml.tpl.d.ts","sourceRoot":"","sources":["../../../src/templates/actions/calculate-version.yml.tpl.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwCG;AAEH,OAAO,EAAE,aAAa,EAA0B,MAAM,uBAAuB,CAAA;AAuI7E;;;;;GAKG;AACH,eAAO,MAAM,QAAQ,GAAI,KAAK,aAAa,iBAU6D,CAAA"}
1
+ {"version":3,"file":"calculate-version.yml.tpl.d.ts","sourceRoot":"","sources":["../../../src/templates/actions/calculate-version.yml.tpl.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwCG;AAEH,OAAO,EAAE,KAAK,aAAa,EAA0B,MAAM,uBAAuB,CAAA;AAIlF,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAA;AAyJ3D;;;;;GAKG;AACH,eAAO,MAAM,QAAQ,GAAI,KAAK,aAAa,GAAG;IAAE,MAAM,CAAC,EAAE,OAAO,CAAC,eAAe,CAAC,CAAA;CAAE,iBAkB/E,CAAA"}
@@ -15,7 +15,7 @@
15
15
  *
16
16
  * ## Generated Action Location
17
17
  *
18
- * `.github/actions/calculate-version/action.yml`
18
+ * `actions/calculate-version/action.yml`
19
19
  *
20
20
  * ## Usage in Workflows
21
21
  *
@@ -26,7 +26,7 @@
26
26
  * outputs:
27
27
  * version: ${{ steps.calc.outputs.version }}
28
28
  * steps:
29
- * - uses: ./.github/actions/calculate-version
29
+ * - uses: ./actions/calculate-version
30
30
  * id: calc
31
31
  * with:
32
32
  * baseRef: main
@@ -39,9 +39,10 @@
39
39
  *
40
40
  * @module templates/actions/calculate-version.yml.tpl
41
41
  */
42
- import { toFile, renderTemplate } from '@featherscloud/pinion';
42
+ import { renderTemplate, toFile } from '@featherscloud/pinion';
43
43
  import fs from 'fs';
44
44
  import { logger } from '../../utils/logger.js';
45
+ import { getActionOutputDir, shouldGenerateActions } from '../../utils/action-reference.js';
45
46
  /**
46
47
  * Generates the calculate-version composite action YAML content.
47
48
  *
@@ -58,6 +59,14 @@ inputs:
58
59
  description: 'Base reference for version calculation'
59
60
  required: false
60
61
  default: 'main'
62
+ version:
63
+ description: 'Pre-determined version to use (skips calculation if provided)'
64
+ required: false
65
+ default: ''
66
+ node-version:
67
+ description: 'Node.js version to use'
68
+ required: false
69
+ default: '22'
61
70
 
62
71
  outputs:
63
72
  version:
@@ -75,7 +84,7 @@ runs:
75
84
  - name: Install Node.js
76
85
  uses: actions/setup-node@v4
77
86
  with:
78
- node-version: 22
87
+ node-version: \${{ inputs.node-version }}
79
88
 
80
89
  - name: Configure Git
81
90
  shell: bash
@@ -99,8 +108,21 @@ runs:
99
108
  echo "✅ Already on a branch: $(git branch --show-current)"
100
109
  fi
101
110
 
111
+ - name: Check for input version
112
+ id: check_input_version
113
+ shell: bash
114
+ run: |
115
+ INPUT_VERSION="\${{ inputs.version }}"
116
+ if [ -n "$INPUT_VERSION" ]; then
117
+ echo "✅ Using provided version: $INPUT_VERSION"
118
+ echo "version=$INPUT_VERSION" >> $GITHUB_OUTPUT
119
+ else
120
+ echo "No input version provided, will calculate from commits"
121
+ fi
122
+
102
123
  - name: Get existing version tag
103
124
  id: get_version_old
125
+ if: steps.check_input_version.outputs.version == ''
104
126
  shell: bash
105
127
  run: |
106
128
  set -x # Enable debugging output
@@ -108,11 +130,11 @@ runs:
108
130
  git rev-parse HEAD
109
131
  COMMIT_HASH=$(git rev-parse HEAD)
110
132
  echo "Current commit hash: $COMMIT_HASH"
111
-
133
+
112
134
  # Check for tags on the current commit
113
135
  TAG=$(git tag --points-at $COMMIT_HASH | grep -E '^v[0-9]+\\.[0-9]+\\.[0-9]+$' || true)
114
136
  echo "Tags found: $TAG"
115
-
137
+
116
138
  if [ -z "$TAG" ]; then
117
139
  echo "No existing tag found on the current commit"
118
140
  else
@@ -128,17 +150,13 @@ runs:
128
150
  "version": "0.0.0-release-it"
129
151
  }' > package.json
130
152
 
131
- - name: Install dependencies
132
- shell: bash
133
- run: npm install @release-it/conventional-changelog conventional-changelog-angular
134
-
135
153
  - name: Get version
136
- if: steps.get_version_old.outputs.version == ''
154
+ if: steps.check_input_version.outputs.version == '' && steps.get_version_old.outputs.version == ''
137
155
  id: get_version_new
138
156
  shell: bash
139
157
  run: |
140
- # Get version and filter out warnings
141
- RAW_OUTPUT=$(npx release-it --ci --release-version 2>&1 || echo "")
158
+ # Get version and filter out warnings (install release-it & plugin on the fly)
159
+ RAW_OUTPUT=$(npx --yes --package release-it --package @release-it/conventional-changelog release-it --ci --release-version 2>&1 || echo "")
142
160
  # Extract just the version number (last line that looks like a version)
143
161
  VERSION=$(echo "$RAW_OUTPUT" | grep -E '^[0-9]+\\.[0-9]+\\.[0-9]+' | tail -1 || true)
144
162
 
@@ -156,11 +174,14 @@ runs:
156
174
  id: set_version
157
175
  shell: bash
158
176
  run: |
159
- if [ -n "\${{ steps.get_version_old.outputs.version }}" ]; then
160
- echo "Using old version: \${{ steps.get_version_old.outputs.version }}"
177
+ if [ -n "\${{ steps.check_input_version.outputs.version }}" ]; then
178
+ echo "Using input version: \${{ steps.check_input_version.outputs.version }}"
179
+ echo "version=\${{ steps.check_input_version.outputs.version }}" >> $GITHUB_OUTPUT
180
+ elif [ -n "\${{ steps.get_version_old.outputs.version }}" ]; then
181
+ echo "Using tag version: \${{ steps.get_version_old.outputs.version }}"
161
182
  echo "version=\${{ steps.get_version_old.outputs.version }}" >> $GITHUB_OUTPUT
162
183
  elif [ -n "\${{ steps.get_version_new.outputs.version }}" ]; then
163
- echo "Using new version: \${{ steps.get_version_new.outputs.version }}"
184
+ echo "Using calculated version: \${{ steps.get_version_new.outputs.version }}"
164
185
  echo "version=\${{ steps.get_version_new.outputs.version }}" >> $GITHUB_OUTPUT
165
186
  else
166
187
  echo "No version determined"
@@ -178,14 +199,19 @@ runs:
178
199
  * @param {PinionContext} ctx - Pinion generator context
179
200
  * @returns {Promise<PinionContext>} Updated context after file generation
180
201
  */
181
- export const generate = (ctx) => Promise.resolve(ctx)
182
- .then((ctx) => {
183
- // Check if file exists to determine merge status
184
- const filePath = '.github/actions/calculate-version/action.yml';
202
+ export const generate = (ctx) => Promise.resolve(ctx).then(ctx => {
203
+ // Determine output directory based on actionSourceMode
204
+ const config = ctx.config || {};
205
+ // Skip generation in remote mode - actions come from marketplace
206
+ if (!shouldGenerateActions(config)) {
207
+ logger.verbose('Skipping calculate-version action generation (using remote actions)');
208
+ return ctx;
209
+ }
210
+ const outputDir = getActionOutputDir(config);
211
+ const filePath = `${outputDir}/calculate-version/action.yml`;
185
212
  const exists = fs.existsSync(filePath);
186
213
  const status = exists ? '🔄 Merged with existing' : '📝 Created new';
187
214
  logger.verbose(`${status} ${filePath}`);
188
- return ctx;
189
- })
190
- .then(renderTemplate(versionActionTemplate, toFile('.github/actions/calculate-version/action.yml')));
215
+ return renderTemplate(versionActionTemplate, toFile(filePath))(ctx);
216
+ });
191
217
  //# sourceMappingURL=calculate-version.yml.tpl.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"calculate-version.yml.tpl.js","sourceRoot":"","sources":["../../../src/templates/actions/calculate-version.yml.tpl.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwCG;AAEH,OAAO,EAAiB,MAAM,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;AAC7E,OAAO,EAAE,MAAM,IAAI,CAAA;AACnB,OAAO,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAA;AAE9C;;;;;GAKG;AACH,MAAM,qBAAqB,GAAG,CAAC,GAAQ,EAAE,EAAE;IACzC,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6EAyHoE,CAAA;AAC7E,CAAC,CAAA;AAED;;;;;GAKG;AACH,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAC,GAAkB,EAAE,EAAE,CAC7C,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC;KACjB,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE;IACZ,iDAAiD;IACjD,MAAM,QAAQ,GAAG,8CAA8C,CAAA;IAC/D,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;IACvC,OAAO,GAAG,CAAA;AACZ,CAAC,CAAC;KACD,IAAI,CAAC,cAAc,CAAC,qBAAqB,EAAE,MAAM,CAAC,8CAA8C,CAAC,CAAC,CAAC,CAAA"}
1
+ {"version":3,"file":"calculate-version.yml.tpl.js","sourceRoot":"","sources":["../../../src/templates/actions/calculate-version.yml.tpl.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwCG;AAEH,OAAO,EAAsB,cAAc,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAA;AAClF,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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6EA6IoE,CAAA;AAC7E,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,uDAAuD;IACvD,MAAM,MAAM,GAAG,GAAG,CAAC,MAAM,IAAI,EAAE,CAAA;IAE/B,iEAAiE;IACjE,IAAI,CAAC,qBAAqB,CAAC,MAAM,CAAC,EAAE,CAAC;QACnC,MAAM,CAAC,OAAO,CAAC,qEAAqE,CAAC,CAAA;QACrF,OAAO,GAAG,CAAA;IACZ,CAAC;IAED,MAAM,SAAS,GAAG,kBAAkB,CAAC,MAAM,CAAC,CAAA;IAC5C,MAAM,QAAQ,GAAG,GAAG,SAAS,+BAA+B,CAAA;IAC5D,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"}
@@ -6,12 +6,15 @@
6
6
  *
7
7
  * @module templates/actions/create-pr.yml.tpl
8
8
  */
9
- import { PinionContext } from '@featherscloud/pinion';
9
+ import { type PinionContext } from '@featherscloud/pinion';
10
+ import type { PipecraftConfig } from '../../types/index.js';
10
11
  /**
11
12
  * Generator entry point for create-pr composite action.
12
13
  *
13
14
  * @param {PinionContext} ctx - Pinion generator context
14
15
  * @returns {Promise<PinionContext>} Updated context after file generation
15
16
  */
16
- export declare const generate: (ctx: PinionContext) => Promise<any>;
17
+ export declare const generate: (ctx: PinionContext & {
18
+ config?: Partial<PipecraftConfig>;
19
+ }) => Promise<any>;
17
20
  //# sourceMappingURL=create-pr.yml.tpl.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"create-pr.yml.tpl.d.ts","sourceRoot":"","sources":["../../../src/templates/actions/create-pr.yml.tpl.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,aAAa,EAA0B,MAAM,uBAAuB,CAAA;AA8I7E;;;;;GAKG;AACH,eAAO,MAAM,QAAQ,GAAI,KAAK,aAAa,iBAUsD,CAAA"}
1
+ {"version":3,"file":"create-pr.yml.tpl.d.ts","sourceRoot":"","sources":["../../../src/templates/actions/create-pr.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;AA2I3D;;;;;GAKG;AACH,eAAO,MAAM,QAAQ,GAAI,KAAK,aAAa,GAAG;IAAE,MAAM,CAAC,EAAE,OAAO,CAAC,eAAe,CAAC,CAAA;CAAE,iBAiB/E,CAAA"}
@@ -6,10 +6,11 @@
6
6
  *
7
7
  * @module templates/actions/create-pr.yml.tpl
8
8
  */
9
- import { toFile, renderTemplate } from '@featherscloud/pinion';
10
- import fs from 'fs';
9
+ import { renderTemplate, toFile } from '@featherscloud/pinion';
11
10
  import dedent from 'dedent';
11
+ import fs from 'fs';
12
12
  import { logger } from '../../utils/logger.js';
13
+ import { getActionOutputDir, shouldGenerateActions } from '../../utils/action-reference.js';
13
14
  /**
14
15
  * Generates the create-pr composite action YAML content.
15
16
  *
@@ -152,14 +153,19 @@ const createprActionTemplate = (ctx) => {
152
153
  * @param {PinionContext} ctx - Pinion generator context
153
154
  * @returns {Promise<PinionContext>} Updated context after file generation
154
155
  */
155
- export const generate = (ctx) => Promise.resolve(ctx)
156
- .then((ctx) => {
156
+ export const generate = (ctx) => Promise.resolve(ctx).then(ctx => {
157
157
  // Check if file exists to determine merge status
158
- const filePath = '.github/actions/create-pr/action.yml';
158
+ const config = ctx.config || {};
159
+ // Skip generation in remote mode - actions come from marketplace
160
+ if (!shouldGenerateActions(config)) {
161
+ logger.verbose('Skipping create-pr action generation (using remote actions)');
162
+ return ctx;
163
+ }
164
+ const outputDir = getActionOutputDir(config);
165
+ const filePath = `${outputDir}/create-pr/action.yml`;
159
166
  const exists = fs.existsSync(filePath);
160
167
  const status = exists ? '🔄 Merged with existing' : '📝 Created new';
161
168
  logger.verbose(`${status} ${filePath}`);
162
- return ctx;
163
- })
164
- .then(renderTemplate(createprActionTemplate, toFile('.github/actions/create-pr/action.yml')));
169
+ return renderTemplate(createprActionTemplate, toFile(filePath))(ctx);
170
+ });
165
171
  //# sourceMappingURL=create-pr.yml.tpl.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"create-pr.yml.tpl.js","sourceRoot":"","sources":["../../../src/templates/actions/create-pr.yml.tpl.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAiB,MAAM,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;AAC7E,OAAO,EAAE,MAAM,IAAI,CAAA;AACnB,OAAO,MAAM,MAAM,QAAQ,CAAA;AAC3B,OAAO,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAA;AAE9C;;;;;GAKG;AACH,MAAM,sBAAsB,GAAG,CAAC,GAAQ,EAAE,EAAE;IAC1C,OAAO,MAAM,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;eA+HA,CAAA;AACf,CAAC,CAAC;AAEF;;;;;GAKG;AACH,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAC,GAAkB,EAAE,EAAE,CAC7C,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC;KACjB,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE;IACZ,iDAAiD;IACjD,MAAM,QAAQ,GAAG,sCAAsC,CAAA;IACvD,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;IACvC,OAAO,GAAG,CAAA;AACZ,CAAC,CAAC;KACD,IAAI,CAAC,cAAc,CAAC,sBAAsB,EAAE,MAAM,CAAC,sCAAsC,CAAC,CAAC,CAAC,CAAA"}
1
+ {"version":3,"file":"create-pr.yml.tpl.js","sourceRoot":"","sources":["../../../src/templates/actions/create-pr.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,sBAAsB,GAAG,CAAC,GAAQ,EAAE,EAAE;IAC1C,OAAO,MAAM,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;eA+HA,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,iDAAiD;IACjD,MAAM,MAAM,GAAG,GAAG,CAAC,MAAM,IAAI,EAAE,CAAA;IAE/B,iEAAiE;IACjE,IAAI,CAAC,qBAAqB,CAAC,MAAM,CAAC,EAAE,CAAC;QACnC,MAAM,CAAC,OAAO,CAAC,6DAA6D,CAAC,CAAA;QAC7E,OAAO,GAAG,CAAA;IACZ,CAAC;IACD,MAAM,SAAS,GAAG,kBAAkB,CAAC,MAAM,CAAC,CAAA;IAC5C,MAAM,QAAQ,GAAG,GAAG,SAAS,uBAAuB,CAAA;IACpD,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,sBAAsB,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAA;AACtE,CAAC,CAAC,CAAA"}
@@ -7,12 +7,15 @@
7
7
  *
8
8
  * @module templates/actions/create-release.yml.tpl
9
9
  */
10
- import { PinionContext } from '@featherscloud/pinion';
10
+ import { type PinionContext } from '@featherscloud/pinion';
11
+ import type { PipecraftConfig } from '../../types/index.js';
11
12
  /**
12
13
  * Generator entry point for create-release composite action.
13
14
  *
14
15
  * @param {PinionContext} ctx - Pinion generator context
15
16
  * @returns {Promise<PinionContext>} Updated context after file generation
16
17
  */
17
- export declare const generate: (ctx: PinionContext) => Promise<any>;
18
+ export declare const generate: (ctx: PinionContext & {
19
+ config?: Partial<PipecraftConfig>;
20
+ }) => Promise<any>;
18
21
  //# sourceMappingURL=create-release.yml.tpl.d.ts.map
@@ -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,aAAa,EAA0B,MAAM,uBAAuB,CAAA;AAqH7E;;;;;GAKG;AACH,eAAO,MAAM,QAAQ,GAAI,KAAK,aAAa,iBAU0D,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;AAmH3D;;;;;GAKG;AACH,eAAO,MAAM,QAAQ,GAAI,KAAK,aAAa,GAAG;IAAE,MAAM,CAAC,EAAE,OAAO,CAAC,eAAe,CAAC,CAAA;CAAE,iBAgB/E,CAAA"}
@@ -7,10 +7,11 @@
7
7
  *
8
8
  * @module templates/actions/create-release.yml.tpl
9
9
  */
10
- import { toFile, renderTemplate } from '@featherscloud/pinion';
11
- import fs from 'fs';
10
+ import { renderTemplate, toFile } from '@featherscloud/pinion';
12
11
  import dedent from 'dedent';
12
+ import fs from 'fs';
13
13
  import { logger } from '../../utils/logger.js';
14
+ import { getActionOutputDir, shouldGenerateActions } from '../../utils/action-reference.js';
14
15
  /**
15
16
  * Generates the create-release composite action YAML content.
16
17
  *
@@ -109,9 +110,10 @@ const releaseActionTemplate = (ctx) => {
109
110
  if [ -f ".github/workflows/$PUBLISH_WORKFLOW" ]; then
110
111
  echo "🔄 Triggering $PUBLISH_WORKFLOW for $VERSION"
111
112
 
112
- # Trigger the publish workflow with the release tag
113
+ # Trigger the publish workflow with the release tag on main branch
113
114
  # This is necessary because GITHUB_TOKEN release creation doesn't trigger workflows
114
- if gh workflow run "$PUBLISH_WORKFLOW" --field tag="$VERSION" 2>&1; then
115
+ # Explicitly use --ref main to ensure it runs on main, not the default branch (develop)
116
+ if gh workflow run "$PUBLISH_WORKFLOW" --ref main --field tag="$VERSION" 2>&1; then
115
117
  echo "✅ Publish workflow triggered for $VERSION"
116
118
  else
117
119
  echo "⚠️ Failed to trigger publish workflow, but continuing"
@@ -128,14 +130,17 @@ const releaseActionTemplate = (ctx) => {
128
130
  * @param {PinionContext} ctx - Pinion generator context
129
131
  * @returns {Promise<PinionContext>} Updated context after file generation
130
132
  */
131
- export const generate = (ctx) => Promise.resolve(ctx)
132
- .then((ctx) => {
133
- // Check if file exists to determine merge status
134
- const filePath = '.github/actions/create-release/action.yml';
133
+ export const generate = (ctx) => Promise.resolve(ctx).then(ctx => {
134
+ const config = ctx.config || {};
135
+ if (!shouldGenerateActions(config)) {
136
+ logger.verbose('Skipping create-release action generation (using remote actions)');
137
+ return ctx;
138
+ }
139
+ const outputDir = getActionOutputDir(config);
140
+ const filePath = `${outputDir}/create-release/action.yml`;
135
141
  const exists = fs.existsSync(filePath);
136
142
  const status = exists ? '🔄 Merged with existing' : '📝 Created new';
137
143
  logger.verbose(`${status} ${filePath}`);
138
- return ctx;
139
- })
140
- .then(renderTemplate(releaseActionTemplate, toFile('.github/actions/create-release/action.yml')));
144
+ return renderTemplate(releaseActionTemplate, toFile(filePath))(ctx);
145
+ });
141
146
  //# sourceMappingURL=create-release.yml.tpl.js.map
@@ -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,EAAiB,MAAM,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;AAC7E,OAAO,EAAE,MAAM,IAAI,CAAA;AACnB,OAAO,MAAM,MAAM,QAAQ,CAAA;AAC3B,OAAO,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAA;AAE9C;;;;;GAKG;AACH,MAAM,qBAAqB,GAAG,CAAC,GAAQ,EAAE,EAAE;IACzC,OAAO,MAAM,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;eAsGA,CAAA;AACf,CAAC,CAAC;AAEF;;;;;GAKG;AACH,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAC,GAAkB,EAAE,EAAE,CAC7C,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC;KACjB,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE;IACZ,iDAAiD;IACjD,MAAM,QAAQ,GAAG,2CAA2C,CAAA;IAC5D,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;IACvC,OAAO,GAAG,CAAA;AACZ,CAAC,CAAC;KACD,IAAI,CAAC,cAAc,CAAC,qBAAqB,EAAE,MAAM,CAAC,2CAA2C,CAAC,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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;eAuGA,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"}
@@ -6,12 +6,15 @@
6
6
  *
7
7
  * @module templates/actions/create-tag.yml.tpl
8
8
  */
9
- import { PinionContext } from '@featherscloud/pinion';
9
+ import { type PinionContext } from '@featherscloud/pinion';
10
+ import type { PipecraftConfig } from '../../types/index.js';
10
11
  /**
11
12
  * Generator entry point for create-tag composite action.
12
13
  *
13
14
  * @param {PinionContext} ctx - Pinion generator context
14
15
  * @returns {Promise<PinionContext>} Updated context after file generation
15
16
  */
16
- export declare const generate: (ctx: PinionContext) => Promise<any>;
17
+ export declare const generate: (ctx: PinionContext & {
18
+ config?: Partial<PipecraftConfig>;
19
+ }) => Promise<any>;
17
20
  //# sourceMappingURL=create-tag.yml.tpl.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"create-tag.yml.tpl.d.ts","sourceRoot":"","sources":["../../../src/templates/actions/create-tag.yml.tpl.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,aAAa,EAA0B,MAAM,uBAAuB,CAAA;AA4G7E;;;;;GAKG;AACH,eAAO,MAAM,QAAQ,GAAI,KAAK,aAAa,iBAUkD,CAAA"}
1
+ {"version":3,"file":"create-tag.yml.tpl.d.ts","sourceRoot":"","sources":["../../../src/templates/actions/create-tag.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;AAyG3D;;;;;GAKG;AACH,eAAO,MAAM,QAAQ,GAAI,KAAK,aAAa,GAAG;IAAE,MAAM,CAAC,EAAE,OAAO,CAAC,eAAe,CAAC,CAAA;CAAE,iBAgB/E,CAAA"}
@@ -6,10 +6,11 @@
6
6
  *
7
7
  * @module templates/actions/create-tag.yml.tpl
8
8
  */
9
- import { toFile, renderTemplate } from '@featherscloud/pinion';
10
- import fs from 'fs';
9
+ import { renderTemplate, toFile } from '@featherscloud/pinion';
11
10
  import dedent from 'dedent';
11
+ import fs from 'fs';
12
12
  import { logger } from '../../utils/logger.js';
13
+ import { getActionOutputDir, shouldGenerateActions } from '../../utils/action-reference.js';
13
14
  /**
14
15
  * Generates the create-tag composite action YAML content.
15
16
  *
@@ -118,14 +119,17 @@ const tagActionTemplate = (ctx) => {
118
119
  * @param {PinionContext} ctx - Pinion generator context
119
120
  * @returns {Promise<PinionContext>} Updated context after file generation
120
121
  */
121
- export const generate = (ctx) => Promise.resolve(ctx)
122
- .then((ctx) => {
123
- // Check if file exists to determine merge status
124
- const filePath = '.github/actions/create-tag/action.yml';
122
+ export const generate = (ctx) => Promise.resolve(ctx).then(ctx => {
123
+ const config = ctx.config || {};
124
+ if (!shouldGenerateActions(config)) {
125
+ logger.verbose('Skipping create-tag action generation (using remote actions)');
126
+ return ctx;
127
+ }
128
+ const outputDir = getActionOutputDir(config);
129
+ const filePath = `${outputDir}/create-tag/action.yml`;
125
130
  const exists = fs.existsSync(filePath);
126
131
  const status = exists ? '🔄 Merged with existing' : '📝 Created new';
127
132
  logger.verbose(`${status} ${filePath}`);
128
- return ctx;
129
- })
130
- .then(renderTemplate(tagActionTemplate, toFile('.github/actions/create-tag/action.yml')));
133
+ return renderTemplate(tagActionTemplate, toFile(filePath))(ctx);
134
+ });
131
135
  //# sourceMappingURL=create-tag.yml.tpl.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"create-tag.yml.tpl.js","sourceRoot":"","sources":["../../../src/templates/actions/create-tag.yml.tpl.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAiB,MAAM,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;AAC7E,OAAO,EAAE,MAAM,IAAI,CAAA;AACnB,OAAO,MAAM,MAAM,QAAQ,CAAA;AAC3B,OAAO,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAA;AAE9C;;;;;GAKG;AACH,MAAM,iBAAiB,GAAG,CAAC,GAAQ,EAAE,EAAE;IACrC,OAAO,MAAM,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;eA6FA,CAAA;AACf,CAAC,CAAC;AAEF;;;;;GAKG;AACH,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAC,GAAkB,EAAE,EAAE,CAC7C,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC;KACjB,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE;IACZ,iDAAiD;IACjD,MAAM,QAAQ,GAAG,uCAAuC,CAAA;IACxD,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;IACvC,OAAO,GAAG,CAAA;AACZ,CAAC,CAAC;KACD,IAAI,CAAC,cAAc,CAAC,iBAAiB,EAAE,MAAM,CAAC,uCAAuC,CAAC,CAAC,CAAC,CAAA"}
1
+ {"version":3,"file":"create-tag.yml.tpl.js","sourceRoot":"","sources":["../../../src/templates/actions/create-tag.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,iBAAiB,GAAG,CAAC,GAAQ,EAAE,EAAE;IACrC,OAAO,MAAM,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;eA6FA,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,8DAA8D,CAAC,CAAA;QAC9E,OAAO,GAAG,CAAA;IACZ,CAAC;IAED,MAAM,SAAS,GAAG,kBAAkB,CAAC,MAAM,CAAC,CAAA;IAC5C,MAAM,QAAQ,GAAG,GAAG,SAAS,wBAAwB,CAAA;IACrD,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,iBAAiB,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAA;AACjE,CAAC,CAAC,CAAA"}
@@ -1,73 +1,39 @@
1
1
  /**
2
2
  * Detect Changes Action Template
3
3
  *
4
- * Generates a GitHub composite action that detects which domains (application areas)
5
- * have changes in a pull request. This is the foundation for PipeCraft's path-based
6
- * conditional workflow execution.
4
+ * Generates a REUSABLE GitHub composite action that detects which domains have changed
5
+ * using path-based change detection with dorny/paths-filter.
7
6
  *
8
7
  * ## Purpose
9
8
  *
10
- * In monorepos or multi-domain projects, not every change affects every part of the
11
- * system. This action uses GitHub's `dorny/paths-filter` to detect which domains
12
- * have modifications, allowing subsequent jobs to run conditionally.
9
+ * This action is **configuration-driven** and accepts domain definitions as YAML input,
10
+ * making it truly reusable across any project without regeneration.
11
+ * It uses path filters to detect which domains changed based on file glob patterns.
13
12
  *
14
- * ## How It Works
13
+ * ## Key Design Principle
15
14
  *
16
- * 1. Checks out the repository with full history
17
- * 2. Uses paths-filter action to check each domain's file patterns
18
- * 3. Outputs a boolean for each domain (true if changed, false if not)
19
- * 4. Logs results for debugging
15
+ * **Domains are passed as input, not hardcoded in the action.**
16
+ * This allows the same action to work with any domain configuration without regeneration.
20
17
  *
21
18
  * ## Generated Action Location
22
19
  *
23
- * `.github/actions/detect-changes/action.yml`
24
- *
25
- * ## Usage in Workflows
26
- *
27
- * ```yaml
28
- * jobs:
29
- * changes:
30
- * runs-on: ubuntu-latest
31
- * outputs:
32
- * api: ${{ steps.changes.outputs.api }}
33
- * web: ${{ steps.changes.outputs.web }}
34
- * steps:
35
- * - uses: ./.github/actions/detect-changes
36
- * id: changes
37
- * with:
38
- * baseRef: main
39
- *
40
- * test-api:
41
- * needs: changes
42
- * if: needs.changes.outputs.api == 'true'
43
- * # Only runs if API domain changed
44
- * ```
20
+ * `actions/detect-changes/action.yml`
45
21
  *
46
22
  * @module templates/actions/detect-changes.yml.tpl
47
23
  */
48
- import { PinionContext } from '@featherscloud/pinion';
24
+ import { type PinionContext } from '@featherscloud/pinion';
25
+ import type { PipecraftConfig } from '../../types/index.js';
49
26
  /**
50
27
  * Generator entry point for detect-changes composite action.
51
28
  *
52
- * Generates the `.github/actions/detect-changes/action.yml` file with domain-specific
53
- * change detection logic. This action is used by the main pipeline to determine which
54
- * domains have changes and need to run tests/deployment.
29
+ * Generates the \`actions/detect-changes/action.yml\` file with configuration-driven
30
+ * change detection logic. This action accepts domain configuration as input at runtime,
31
+ * making it truly reusable without regeneration.
55
32
  *
56
33
  * @param {PinionContext} ctx - Pinion generator context
57
- * @param {Record<string, DomainConfig>} ctx.domains - Domain configurations
58
34
  * @returns {Promise<PinionContext>} Updated context after file generation
59
- *
60
- * @example
61
- * ```typescript
62
- * await generate({
63
- * cwd: '/path/to/project',
64
- * domains: {
65
- * api: { paths: ['src/api/**'], description: 'API' },
66
- * web: { paths: ['src/web/**'], description: 'Web' }
67
- * }
68
- * })
69
- * // Creates: .github/actions/detect-changes/action.yml
70
- * ```
71
35
  */
72
- export declare const generate: (ctx: PinionContext) => Promise<any>;
36
+ export declare const generate: (ctx: PinionContext & {
37
+ config?: Partial<PipecraftConfig>;
38
+ }) => Promise<any>;
73
39
  //# sourceMappingURL=detect-changes.yml.tpl.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"detect-changes.yml.tpl.d.ts","sourceRoot":"","sources":["../../../src/templates/actions/detect-changes.yml.tpl.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8CG;AAEH,OAAO,EAAE,aAAa,EAA0B,MAAM,uBAAuB,CAAA;AAsG7E;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,eAAO,MAAM,QAAQ,GAAI,KAAK,aAAa,iBAU0D,CAAA"}
1
+ {"version":3,"file":"detect-changes.yml.tpl.d.ts","sourceRoot":"","sources":["../../../src/templates/actions/detect-changes.yml.tpl.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAEH,OAAO,EAAE,KAAK,aAAa,EAA0B,MAAM,uBAAuB,CAAA;AAIlF,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAA;AAmJ3D;;;;;;;;;GASG;AACH,eAAO,MAAM,QAAQ,GAAI,KAAK,aAAa,GAAG;IAAE,MAAM,CAAC,EAAE,OAAO,CAAC,eAAe,CAAC,CAAA;CAAE,iBAgB/E,CAAA"}