pipecraft 0.29.2 → 0.36.2
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.
- package/README.md +98 -34
- package/dist/cli/index.d.ts +3 -3
- package/dist/cli/index.js +66 -24
- package/dist/cli/index.js.map +1 -1
- package/dist/generators/init.tpl.d.ts +4 -4
- package/dist/generators/init.tpl.d.ts.map +1 -1
- package/dist/generators/init.tpl.js +369 -79
- package/dist/generators/init.tpl.js.map +1 -1
- package/dist/generators/workflows.tpl.d.ts +9 -9
- package/dist/generators/workflows.tpl.d.ts.map +1 -1
- package/dist/generators/workflows.tpl.js +33 -24
- package/dist/generators/workflows.tpl.js.map +1 -1
- package/dist/templates/actions/calculate-version.yml.tpl.d.ts +7 -4
- package/dist/templates/actions/calculate-version.yml.tpl.d.ts.map +1 -1
- package/dist/templates/actions/calculate-version.yml.tpl.js +16 -9
- package/dist/templates/actions/calculate-version.yml.tpl.js.map +1 -1
- package/dist/templates/actions/create-pr.yml.tpl.d.ts +5 -2
- package/dist/templates/actions/create-pr.yml.tpl.d.ts.map +1 -1
- package/dist/templates/actions/create-pr.yml.tpl.js +9 -6
- package/dist/templates/actions/create-pr.yml.tpl.js.map +1 -1
- package/dist/templates/actions/create-release.yml.tpl.d.ts +5 -2
- package/dist/templates/actions/create-release.yml.tpl.d.ts.map +1 -1
- package/dist/templates/actions/create-release.yml.tpl.js +9 -6
- package/dist/templates/actions/create-release.yml.tpl.js.map +1 -1
- package/dist/templates/actions/create-tag.yml.tpl.d.ts +5 -2
- package/dist/templates/actions/create-tag.yml.tpl.d.ts.map +1 -1
- package/dist/templates/actions/create-tag.yml.tpl.js +9 -6
- package/dist/templates/actions/create-tag.yml.tpl.js.map +1 -1
- package/dist/templates/actions/detect-changes.yml.tpl.d.ts +24 -52
- package/dist/templates/actions/detect-changes.yml.tpl.d.ts.map +1 -1
- package/dist/templates/actions/detect-changes.yml.tpl.js +281 -108
- package/dist/templates/actions/detect-changes.yml.tpl.js.map +1 -1
- package/dist/templates/actions/manage-branch.yml.tpl.d.ts +5 -2
- package/dist/templates/actions/manage-branch.yml.tpl.d.ts.map +1 -1
- package/dist/templates/actions/manage-branch.yml.tpl.js +9 -6
- package/dist/templates/actions/manage-branch.yml.tpl.js.map +1 -1
- package/dist/templates/actions/promote-branch.yml.tpl.d.ts +5 -2
- package/dist/templates/actions/promote-branch.yml.tpl.d.ts.map +1 -1
- package/dist/templates/actions/promote-branch.yml.tpl.js +27 -76
- package/dist/templates/actions/promote-branch.yml.tpl.js.map +1 -1
- package/dist/templates/actions/run-nx-affected.yml.tpl.d.ts +33 -0
- package/dist/templates/actions/run-nx-affected.yml.tpl.d.ts.map +1 -0
- package/dist/templates/actions/run-nx-affected.yml.tpl.js +346 -0
- package/dist/templates/actions/run-nx-affected.yml.tpl.js.map +1 -0
- package/dist/templates/release-it.cjs.tpl.d.ts +1 -1
- package/dist/templates/release-it.cjs.tpl.d.ts.map +1 -1
- package/dist/templates/release-it.cjs.tpl.js +24 -26
- package/dist/templates/release-it.cjs.tpl.js.map +1 -1
- package/dist/templates/workflows/enforce-pr-target.yml.tpl.d.ts +1 -1
- package/dist/templates/workflows/enforce-pr-target.yml.tpl.d.ts.map +1 -1
- package/dist/templates/workflows/enforce-pr-target.yml.tpl.js +2 -3
- package/dist/templates/workflows/enforce-pr-target.yml.tpl.js.map +1 -1
- package/dist/templates/workflows/pipeline-nx.yml.tpl.d.ts +2 -2
- package/dist/templates/workflows/pipeline-nx.yml.tpl.d.ts.map +1 -1
- package/dist/templates/workflows/pipeline-nx.yml.tpl.js +300 -93
- package/dist/templates/workflows/pipeline-nx.yml.tpl.js.map +1 -1
- package/dist/templates/workflows/pipeline.yml.tpl.d.ts +2 -2
- package/dist/templates/workflows/pipeline.yml.tpl.d.ts.map +1 -1
- package/dist/templates/workflows/pipeline.yml.tpl.js +347 -74
- package/dist/templates/workflows/pipeline.yml.tpl.js.map +1 -1
- package/dist/templates/workflows/pr-title-check.yml.tpl.d.ts +1 -1
- package/dist/templates/workflows/pr-title-check.yml.tpl.d.ts.map +1 -1
- package/dist/templates/workflows/pr-title-check.yml.tpl.js +101 -22
- package/dist/templates/workflows/pr-title-check.yml.tpl.js.map +1 -1
- package/dist/templates/workflows/shared/index.d.ts +3 -2
- package/dist/templates/workflows/shared/index.d.ts.map +1 -1
- package/dist/templates/workflows/shared/index.js +3 -2
- package/dist/templates/workflows/shared/index.js.map +1 -1
- package/dist/templates/workflows/shared/operations-changes.d.ts +13 -2
- package/dist/templates/workflows/shared/operations-changes.d.ts.map +1 -1
- package/dist/templates/workflows/shared/operations-changes.js +47 -16
- package/dist/templates/workflows/shared/operations-changes.js.map +1 -1
- package/dist/templates/workflows/shared/operations-domain-jobs.d.ts +18 -1
- package/dist/templates/workflows/shared/operations-domain-jobs.d.ts.map +1 -1
- package/dist/templates/workflows/shared/operations-domain-jobs.js +143 -19
- package/dist/templates/workflows/shared/operations-domain-jobs.js.map +1 -1
- package/dist/templates/workflows/shared/operations-gate.d.ts +32 -0
- package/dist/templates/workflows/shared/operations-gate.d.ts.map +1 -0
- package/dist/templates/workflows/shared/operations-gate.js +77 -0
- package/dist/templates/workflows/shared/operations-gate.js.map +1 -0
- package/dist/templates/workflows/shared/operations-header.d.ts +1 -1
- package/dist/templates/workflows/shared/operations-header.d.ts.map +1 -1
- package/dist/templates/workflows/shared/operations-header.js +46 -6
- package/dist/templates/workflows/shared/operations-header.js.map +1 -1
- package/dist/templates/workflows/shared/operations-tag-promote.d.ts +5 -1
- package/dist/templates/workflows/shared/operations-tag-promote.d.ts.map +1 -1
- package/dist/templates/workflows/shared/operations-tag-promote.js +138 -31
- package/dist/templates/workflows/shared/operations-tag-promote.js.map +1 -1
- package/dist/templates/workflows/shared/operations-version.d.ts +3 -1
- package/dist/templates/workflows/shared/operations-version.d.ts.map +1 -1
- package/dist/templates/workflows/shared/operations-version.js +18 -10
- package/dist/templates/workflows/shared/operations-version.js.map +1 -1
- package/dist/templates/yaml-format-utils.d.ts.map +1 -1
- package/dist/templates/yaml-format-utils.js.map +1 -1
- package/dist/types/index.d.ts +57 -4
- package/dist/types/index.d.ts.map +1 -1
- package/dist/utils/action-reference.d.ts +73 -0
- package/dist/utils/action-reference.d.ts.map +1 -0
- package/dist/utils/action-reference.js +120 -0
- package/dist/utils/action-reference.js.map +1 -0
- package/dist/utils/ast-path-operations.d.ts +3 -3
- package/dist/utils/ast-path-operations.d.ts.map +1 -1
- package/dist/utils/ast-path-operations.js +58 -17
- package/dist/utils/ast-path-operations.js.map +1 -1
- package/dist/utils/config.d.ts +11 -5
- package/dist/utils/config.d.ts.map +1 -1
- package/dist/utils/config.js +33 -8
- package/dist/utils/config.js.map +1 -1
- package/dist/utils/github-setup.d.ts +4 -4
- package/dist/utils/github-setup.d.ts.map +1 -1
- package/dist/utils/github-setup.js +57 -36
- package/dist/utils/github-setup.js.map +1 -1
- package/dist/utils/logger.d.ts.map +1 -1
- package/dist/utils/logger.js.map +1 -1
- package/dist/utils/messaging.d.ts.map +1 -1
- package/dist/utils/messaging.js +7 -3
- package/dist/utils/messaging.js.map +1 -1
- package/dist/utils/preflight.d.ts +2 -2
- package/dist/utils/preflight.d.ts.map +1 -1
- package/dist/utils/preflight.js +43 -41
- package/dist/utils/preflight.js.map +1 -1
- package/dist/utils/versioning.d.ts +1 -1
- package/dist/utils/versioning.d.ts.map +1 -1
- package/dist/utils/versioning.js +10 -10
- package/dist/utils/versioning.js.map +1 -1
- package/package.json +11 -4
- package/src/generators/init.tpl.ts +434 -96
- package/src/generators/workflows.tpl.ts +54 -45
- package/dist/templates/actions/detect-changes-nx.yml.tpl.d.ts +0 -32
- package/dist/templates/actions/detect-changes-nx.yml.tpl.d.ts.map +0 -1
- package/dist/templates/actions/detect-changes-nx.yml.tpl.js +0 -227
- package/dist/templates/actions/detect-changes-nx.yml.tpl.js.map +0 -1
- package/dist/utils/idempotency.d.ts +0 -187
- package/dist/utils/idempotency.d.ts.map +0 -1
- package/dist/utils/idempotency.js +0 -304
- package/dist/utils/idempotency.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pipeline-nx.yml.tpl.js","sourceRoot":"","sources":["../../../src/templates/workflows/pipeline-nx.yml.tpl.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"pipeline-nx.yml.tpl.js","sourceRoot":"","sources":["../../../src/templates/workflows/pipeline-nx.yml.tpl.ts"],"names":[],"mappings":"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"}
|
|
@@ -6,8 +6,8 @@
|
|
|
6
6
|
*
|
|
7
7
|
* Uses shared operations architecture for maintainability and consistency with Nx template.
|
|
8
8
|
*/
|
|
9
|
-
import { PinionContext } from '@featherscloud/pinion';
|
|
10
|
-
import { PipecraftConfig } from '../../types/index.js';
|
|
9
|
+
import { type PinionContext } from '@featherscloud/pinion';
|
|
10
|
+
import type { PipecraftConfig } from '../../types/index.js';
|
|
11
11
|
interface PathBasedPipelineContext extends PinionContext {
|
|
12
12
|
config: PipecraftConfig;
|
|
13
13
|
branchFlow: string[];
|
|
@@ -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,aAAa,EAA0B,MAAM,uBAAuB,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;AAc3D,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,iBAqTjD,CAAA"}
|
|
@@ -7,23 +7,156 @@
|
|
|
7
7
|
* Uses shared operations architecture for maintainability and consistency with Nx template.
|
|
8
8
|
*/
|
|
9
9
|
import { renderTemplate, toFile } from '@featherscloud/pinion';
|
|
10
|
-
import { parseDocument, stringify } from 'yaml';
|
|
11
10
|
import fs from 'fs';
|
|
12
|
-
import {
|
|
11
|
+
import { Document, parseDocument, Scalar, stringify, YAMLMap } from 'yaml';
|
|
13
12
|
import { applyPathOperations } from '../../utils/ast-path-operations.js';
|
|
13
|
+
import { logger } from '../../utils/logger.js';
|
|
14
14
|
import { formatIfConditions } from '../yaml-format-utils.js';
|
|
15
|
-
import {
|
|
15
|
+
import { createChangesJobOperation, createGateJobOperation, createHeaderOperations, createTagPromoteReleaseOperations, createVersionJobOperation } from './shared/index.js';
|
|
16
|
+
import { getDomainJobNames } from './shared/operations-domain-jobs.js';
|
|
17
|
+
/**
|
|
18
|
+
* Extract user-customized section between markers from YAML content
|
|
19
|
+
* Returns content WITHOUT the markers themselves
|
|
20
|
+
* Uses unique delimiters as YAML comments (indentation-independent)
|
|
21
|
+
*/
|
|
22
|
+
function extractUserSection(yamlContent) {
|
|
23
|
+
// Match markers as YAML comments: any leading whitespace + one or more # + optional whitespace + marker
|
|
24
|
+
// Example: " ### <--START CUSTOM JOBS-->"
|
|
25
|
+
const startMarkerRegex = /^.*#+\s*<--START CUSTOM JOBS-->\s*$/m;
|
|
26
|
+
const endMarkerRegex = /^.*#+\s*<--END CUSTOM JOBS-->\s*$/m;
|
|
27
|
+
const startMatch = yamlContent.match(startMarkerRegex);
|
|
28
|
+
const endMatch = yamlContent.match(endMarkerRegex);
|
|
29
|
+
if (!startMatch || !endMatch) {
|
|
30
|
+
return null;
|
|
31
|
+
}
|
|
32
|
+
const startIndex = startMatch.index + startMatch[0].length;
|
|
33
|
+
const endIndex = endMatch.index;
|
|
34
|
+
// Extract content between markers (NOT including the markers themselves)
|
|
35
|
+
let extracted = yamlContent.substring(startIndex, endIndex);
|
|
36
|
+
// Normalize whitespace: remove leading/trailing newlines
|
|
37
|
+
// These will be added back consistently during insertion
|
|
38
|
+
extracted = extracted.replace(/^\n+/, '');
|
|
39
|
+
extracted = extracted.replace(/\n+$/, '');
|
|
40
|
+
return extracted;
|
|
41
|
+
}
|
|
42
|
+
/**
|
|
43
|
+
* Generate placeholder jobs for domains with prefixes as YAML text
|
|
44
|
+
*
|
|
45
|
+
* @param domains - Domain configuration
|
|
46
|
+
* @returns YAML text for placeholder jobs, grouped by prefix
|
|
47
|
+
*/
|
|
48
|
+
function generatePrefixedJobsText(domains) {
|
|
49
|
+
// Group jobs by prefix
|
|
50
|
+
const jobsByPrefix = {};
|
|
51
|
+
Object.keys(domains)
|
|
52
|
+
.sort()
|
|
53
|
+
.forEach(domain => {
|
|
54
|
+
const domainConfig = domains[domain];
|
|
55
|
+
logger.verbose(`📋 Domain ${domain}: prefixes = ${domainConfig.prefixes ? JSON.stringify(domainConfig.prefixes) : 'undefined'}`);
|
|
56
|
+
if (domainConfig.prefixes && Array.isArray(domainConfig.prefixes)) {
|
|
57
|
+
domainConfig.prefixes.forEach((prefix) => {
|
|
58
|
+
if (!jobsByPrefix[prefix]) {
|
|
59
|
+
jobsByPrefix[prefix] = [];
|
|
60
|
+
}
|
|
61
|
+
jobsByPrefix[prefix].push({
|
|
62
|
+
domain,
|
|
63
|
+
jobName: `${prefix}-${domain}`
|
|
64
|
+
});
|
|
65
|
+
});
|
|
66
|
+
}
|
|
67
|
+
});
|
|
68
|
+
// Generate YAML text for each prefix group
|
|
69
|
+
const jobTexts = [];
|
|
70
|
+
Object.keys(jobsByPrefix)
|
|
71
|
+
.sort()
|
|
72
|
+
.forEach(prefix => {
|
|
73
|
+
const jobs = jobsByPrefix[prefix];
|
|
74
|
+
jobs.forEach(job => {
|
|
75
|
+
const jobYaml = ` ${job.jobName}:
|
|
76
|
+
needs: changes
|
|
77
|
+
if: \${{ needs.changes.outputs.${job.domain} == 'true' }}
|
|
78
|
+
runs-on: ubuntu-latest
|
|
79
|
+
steps:
|
|
80
|
+
- uses: actions/checkout@v4
|
|
81
|
+
with:
|
|
82
|
+
ref: \${{ inputs.commitSha || github.sha }}
|
|
83
|
+
# TODO: Replace with your ${job.domain} ${prefix} logic
|
|
84
|
+
- name: Run ${prefix} for ${job.domain}
|
|
85
|
+
run: |
|
|
86
|
+
echo "Running ${prefix} for ${job.domain} domain"
|
|
87
|
+
echo "Replace this with your actual ${prefix} commands"
|
|
88
|
+
# Example: npm run ${prefix}:${job.domain}`;
|
|
89
|
+
jobTexts.push(jobYaml);
|
|
90
|
+
});
|
|
91
|
+
});
|
|
92
|
+
return jobTexts.join('\n\n');
|
|
93
|
+
}
|
|
94
|
+
/**
|
|
95
|
+
* Merge generated placeholder jobs with existing custom section content
|
|
96
|
+
*
|
|
97
|
+
* Only adds jobs that don't already exist in the custom section
|
|
98
|
+
*
|
|
99
|
+
* @param userSection - Existing custom section content (may be null)
|
|
100
|
+
* @param generatedJobs - Generated placeholder jobs text
|
|
101
|
+
* @returns Merged content
|
|
102
|
+
*/
|
|
103
|
+
function mergeCustomJobsContent(userSection, generatedJobs) {
|
|
104
|
+
if (!generatedJobs) {
|
|
105
|
+
return userSection || '';
|
|
106
|
+
}
|
|
107
|
+
// Extract existing job names from userSection
|
|
108
|
+
const existingJobNames = new Set();
|
|
109
|
+
if (userSection) {
|
|
110
|
+
// Match job names: lines starting with spaces + jobname + :
|
|
111
|
+
const jobNameRegex = /^ {2}([a-zA-Z0-9_-]+):/gm;
|
|
112
|
+
let match;
|
|
113
|
+
while ((match = jobNameRegex.exec(userSection)) !== null) {
|
|
114
|
+
existingJobNames.add(match[1]);
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
logger.verbose(`📋 Existing custom job names: ${Array.from(existingJobNames).join(', ') || 'none'}`);
|
|
118
|
+
// Filter generated jobs to only include those that don't exist
|
|
119
|
+
const generatedJobLines = generatedJobs.split('\n\n');
|
|
120
|
+
const newJobs = [];
|
|
121
|
+
const skippedJobs = [];
|
|
122
|
+
generatedJobLines.forEach(jobText => {
|
|
123
|
+
// Extract job name from first line
|
|
124
|
+
const jobNameMatch = jobText.match(/^ {2}([a-zA-Z0-9_-]+):/);
|
|
125
|
+
if (jobNameMatch) {
|
|
126
|
+
const jobName = jobNameMatch[1];
|
|
127
|
+
if (!existingJobNames.has(jobName)) {
|
|
128
|
+
newJobs.push(jobText);
|
|
129
|
+
}
|
|
130
|
+
else {
|
|
131
|
+
skippedJobs.push(jobName);
|
|
132
|
+
}
|
|
133
|
+
}
|
|
134
|
+
});
|
|
135
|
+
logger.verbose(`📋 Generated ${newJobs.length} new placeholder job(s)`);
|
|
136
|
+
if (skippedJobs.length > 0) {
|
|
137
|
+
logger.verbose(`📋 Skipped ${skippedJobs.length} existing job(s): ${skippedJobs.join(', ')}`);
|
|
138
|
+
}
|
|
139
|
+
// Merge: existing jobs first, then new jobs
|
|
140
|
+
const parts = [];
|
|
141
|
+
if (userSection && userSection.trim()) {
|
|
142
|
+
parts.push(userSection);
|
|
143
|
+
}
|
|
144
|
+
if (newJobs.length > 0) {
|
|
145
|
+
parts.push(newJobs.join('\n\n'));
|
|
146
|
+
}
|
|
147
|
+
return parts.join('\n\n');
|
|
148
|
+
}
|
|
16
149
|
/**
|
|
17
150
|
* Main generator that handles merging with existing workflow
|
|
18
151
|
*/
|
|
19
152
|
export const generate = (ctx) => Promise.resolve(ctx)
|
|
20
153
|
.then(ctx => {
|
|
21
|
-
const filePath = `${ctx.cwd || process.cwd()}/.github/workflows/pipeline.yml`;
|
|
154
|
+
const filePath = ctx.pipelinePath || `${ctx.cwd || process.cwd()}/.github/workflows/pipeline.yml`;
|
|
22
155
|
const { config, branchFlow } = ctx;
|
|
23
156
|
const domains = config?.domains || {};
|
|
24
|
-
// Get
|
|
25
|
-
const { testJobs, deployJobs, remoteTestJobs } = getDomainJobNames(domains);
|
|
26
|
-
// Build operations array
|
|
157
|
+
// Get job names from domains (supports both prefixes and legacy boolean flags)
|
|
158
|
+
const { testJobs, deployJobs, remoteTestJobs, allJobsByPrefix } = getDomainJobNames(domains);
|
|
159
|
+
// Build operations array - only managed jobs
|
|
27
160
|
const operations = [
|
|
28
161
|
// Header (name, run-name, on triggers)
|
|
29
162
|
...createHeaderOperations({ branchFlow }),
|
|
@@ -31,104 +164,244 @@ export const generate = (ctx) => Promise.resolve(ctx)
|
|
|
31
164
|
createChangesJobOperation({
|
|
32
165
|
domains,
|
|
33
166
|
useNx: false,
|
|
34
|
-
baseRef: config.finalBranch
|
|
167
|
+
baseRef: config.finalBranch,
|
|
168
|
+
config
|
|
35
169
|
}),
|
|
36
|
-
//
|
|
37
|
-
// Domain test jobs (preserved for user customization)
|
|
38
|
-
...createDomainTestJobOperations({ domains }),
|
|
39
|
-
// Version calculation
|
|
170
|
+
// Version calculation (simplified - only depends on changes)
|
|
40
171
|
createVersionJobOperation({
|
|
41
|
-
testJobNames:
|
|
172
|
+
testJobNames: [], // No test job dependencies in new model
|
|
42
173
|
nxEnabled: false,
|
|
43
|
-
baseRef: config.finalBranch
|
|
174
|
+
baseRef: config.finalBranch,
|
|
175
|
+
config
|
|
176
|
+
}),
|
|
177
|
+
// NOTE: Prefixed domain jobs are NOT generated via operations
|
|
178
|
+
// They are generated as text and merged into the custom section below
|
|
179
|
+
// Gate job (runs after ALL prefix-based jobs, gates downstream jobs)
|
|
180
|
+
createGateJobOperation({
|
|
181
|
+
testJobNames: testJobs,
|
|
182
|
+
deployJobNames: deployJobs,
|
|
183
|
+
allJobsByPrefix // Includes ALL jobs from all prefixes (test, deploy, lint, build, etc.)
|
|
44
184
|
}),
|
|
45
|
-
// Domain deploy jobs (preserved for user customization)
|
|
46
|
-
...createDomainDeployJobOperations({ domains }),
|
|
47
|
-
// Domain remote test jobs (preserved for user customization)
|
|
48
|
-
...createDomainRemoteTestJobOperations({ domains }),
|
|
49
185
|
// Tag, promote, release
|
|
50
186
|
...createTagPromoteReleaseOperations({
|
|
51
187
|
branchFlow,
|
|
52
|
-
deployJobNames:
|
|
53
|
-
remoteTestJobNames:
|
|
188
|
+
deployJobNames: [], // No deployment dependencies in new model
|
|
189
|
+
remoteTestJobNames: [],
|
|
190
|
+
testJobNames: testJobs, // Pass test jobs for default tag job dependencies
|
|
191
|
+
autoMerge: typeof config.autoMerge === 'object' ? config.autoMerge : {},
|
|
192
|
+
config
|
|
54
193
|
})
|
|
55
194
|
];
|
|
56
195
|
// Check if file exists
|
|
57
|
-
|
|
58
|
-
|
|
196
|
+
const fileExists = fs.existsSync(filePath);
|
|
197
|
+
// Extract user-customized section and custom jobs from existing file if it exists
|
|
198
|
+
let userSection = null;
|
|
199
|
+
const customJobsFromExisting = [];
|
|
200
|
+
if (fileExists) {
|
|
201
|
+
const existingContent = fs.readFileSync(filePath, 'utf8');
|
|
202
|
+
userSection = extractUserSection(existingContent);
|
|
203
|
+
if (userSection) {
|
|
204
|
+
logger.verbose('📋 Found user-customized section between markers');
|
|
205
|
+
}
|
|
206
|
+
// Also extract custom jobs (for force mode preservation)
|
|
207
|
+
const existingDoc = parseDocument(existingContent);
|
|
208
|
+
const existingJobs = existingDoc.contents && existingDoc.contents.get
|
|
209
|
+
? existingDoc.contents.get('jobs')
|
|
210
|
+
: null;
|
|
211
|
+
const managedJobs = new Set(['changes', 'version', 'gate', 'tag', 'promote', 'release']);
|
|
212
|
+
if (existingJobs && existingJobs.items) {
|
|
213
|
+
for (const pair of existingJobs.items) {
|
|
214
|
+
const keyStr = pair.key instanceof Scalar ? pair.key.value : pair.key;
|
|
215
|
+
if (!managedJobs.has(keyStr)) {
|
|
216
|
+
customJobsFromExisting.push(pair);
|
|
217
|
+
}
|
|
218
|
+
}
|
|
219
|
+
}
|
|
220
|
+
if (customJobsFromExisting.length > 0) {
|
|
221
|
+
logger.verbose(`📋 Found ${customJobsFromExisting.length} custom job(s) to preserve`);
|
|
222
|
+
// If no userSection but custom jobs exist, convert custom jobs to YAML text
|
|
223
|
+
if (!userSection && customJobsFromExisting.length > 0) {
|
|
224
|
+
// Stringify each job pair individually to get proper formatting
|
|
225
|
+
const jobTexts = [];
|
|
226
|
+
for (const pair of customJobsFromExisting) {
|
|
227
|
+
// Create a temp doc for this one job to get proper YAML formatting
|
|
228
|
+
const tempDoc = new Document(new YAMLMap());
|
|
229
|
+
tempDoc.contents.items = [pair];
|
|
230
|
+
let jobYaml = tempDoc.toString({
|
|
231
|
+
lineWidth: 0,
|
|
232
|
+
indent: 2,
|
|
233
|
+
defaultStringType: 'PLAIN',
|
|
234
|
+
defaultKeyType: 'PLAIN',
|
|
235
|
+
minContentWidth: 0
|
|
236
|
+
});
|
|
237
|
+
// Remove trailing newlines and add proper indentation (2 spaces for YAML jobs section)
|
|
238
|
+
jobYaml = jobYaml
|
|
239
|
+
.trim()
|
|
240
|
+
.split('\n')
|
|
241
|
+
.map(line => ' ' + line)
|
|
242
|
+
.join('\n');
|
|
243
|
+
jobTexts.push(jobYaml);
|
|
244
|
+
}
|
|
245
|
+
// Join all jobs with double newlines
|
|
246
|
+
userSection = jobTexts.join('\n\n');
|
|
247
|
+
logger.verbose('📋 Converted custom jobs to user section');
|
|
248
|
+
}
|
|
249
|
+
}
|
|
250
|
+
}
|
|
251
|
+
// In force mode or new file, create fresh document to ensure correct structure
|
|
252
|
+
if (!fileExists || ctx.pinion?.force) {
|
|
253
|
+
const logMessage = !fileExists
|
|
254
|
+
? '📝 Creating new path-based pipeline'
|
|
255
|
+
: '🔄 Force mode: Rebuilding path-based pipeline from scratch';
|
|
256
|
+
logger.verbose(logMessage);
|
|
59
257
|
// Create new document with empty YAML map
|
|
60
258
|
const doc = parseDocument('{}');
|
|
259
|
+
// Ensure the root map uses block style (not flow/compact)
|
|
260
|
+
if (doc.contents && doc.contents.flow !== undefined) {
|
|
261
|
+
;
|
|
262
|
+
doc.contents.flow = false;
|
|
263
|
+
}
|
|
264
|
+
// Add header comment block to document
|
|
265
|
+
const headerComment = `=============================================================================
|
|
266
|
+
PIPECRAFT MANAGED WORKFLOW
|
|
267
|
+
=============================================================================
|
|
268
|
+
|
|
269
|
+
✅ YOU CAN CUSTOMIZE:
|
|
270
|
+
- Custom jobs between the '# <--START CUSTOM JOBS-->' and '# <--END CUSTOM JOBS-->' comment markers
|
|
271
|
+
- Workflow name
|
|
272
|
+
|
|
273
|
+
⚠️ PIPECRAFT MANAGES (do not modify):
|
|
274
|
+
- Workflow triggers, job dependencies, and conditionals
|
|
275
|
+
- Changes detection, version calculation, and tag creation
|
|
276
|
+
- Tag, promote, and release jobs
|
|
277
|
+
|
|
278
|
+
📌 VERSION PROMOTION BEHAVIOR:
|
|
279
|
+
- Only commits that trigger a version bump will promote to staging/main
|
|
280
|
+
- Non-versioned commits (test, build, etc.) remain on develop
|
|
281
|
+
- This keeps staging/main aligned with tagged releases
|
|
282
|
+
|
|
283
|
+
Running 'pipecraft generate' updates managed sections while preserving
|
|
284
|
+
your customizations in test/deploy/remote-test jobs.
|
|
285
|
+
|
|
286
|
+
📖 Learn more: https://pipecraft.thecraftlab.dev
|
|
287
|
+
=============================================================================`;
|
|
288
|
+
doc.commentBefore = headerComment;
|
|
289
|
+
// NOTE: Custom jobs are NOT added to the document via AST
|
|
290
|
+
// They are preserved in userSection and merged with generated placeholders
|
|
291
|
+
// Then inserted as text after version job (see below)
|
|
61
292
|
if (doc.contents) {
|
|
62
293
|
applyPathOperations(doc.contents, operations, doc);
|
|
63
294
|
}
|
|
64
|
-
|
|
295
|
+
// Stringify to YAML
|
|
296
|
+
let yamlContent = stringify(doc, {
|
|
297
|
+
lineWidth: 0,
|
|
298
|
+
indent: 2,
|
|
299
|
+
defaultStringType: 'PLAIN',
|
|
300
|
+
defaultKeyType: 'PLAIN',
|
|
301
|
+
minContentWidth: 0
|
|
302
|
+
});
|
|
303
|
+
// Generate placeholder jobs from prefixes and merge with existing custom section
|
|
304
|
+
const generatedPlaceholders = generatePrefixedJobsText(domains);
|
|
305
|
+
// Debug: log generated job names
|
|
306
|
+
const generatedJobNames = generatedPlaceholders
|
|
307
|
+
.split('\n\n')
|
|
308
|
+
.map(j => j.match(/^ {2}([a-zA-Z0-9_-]+):/))
|
|
309
|
+
.filter(m => m)
|
|
310
|
+
.map(m => m[1]);
|
|
311
|
+
logger.verbose(`📋 Generated ${generatedJobNames.length} placeholder jobs: ${generatedJobNames.join(', ')}`);
|
|
312
|
+
const mergedCustomContent = mergeCustomJobsContent(userSection, generatedPlaceholders);
|
|
313
|
+
// Insert merged custom section (user jobs + generated placeholders)
|
|
314
|
+
if (mergedCustomContent && mergedCustomContent.trim().length > 0) {
|
|
315
|
+
// Find the version job's outputs section
|
|
316
|
+
const versionOutputsPattern = /^ {2}version:\s*\n(?:.*\n)*? {4}outputs:\s*\n\s*version:.*$/m;
|
|
317
|
+
const match = yamlContent.match(versionOutputsPattern);
|
|
318
|
+
if (match) {
|
|
319
|
+
const insertionIndex = match.index + match[0].length;
|
|
320
|
+
const userSectionWithMarkers = `# <--START CUSTOM JOBS-->\n\n${mergedCustomContent}\n\n # <--END CUSTOM JOBS-->`;
|
|
321
|
+
yamlContent =
|
|
322
|
+
yamlContent.slice(0, insertionIndex) +
|
|
323
|
+
'\n\n ' +
|
|
324
|
+
userSectionWithMarkers +
|
|
325
|
+
'\n' +
|
|
326
|
+
yamlContent.slice(insertionIndex);
|
|
327
|
+
logger.verbose('📋 Inserted custom jobs section (user + generated placeholders) after version job');
|
|
328
|
+
}
|
|
329
|
+
}
|
|
330
|
+
else if (!fileExists) {
|
|
331
|
+
// For new files, add placeholder markers
|
|
332
|
+
const versionOutputsPattern = /^( {2}version:\s*\n(?:.*\n)*? {4}outputs:\s*\n\s*version:.*)$/m;
|
|
333
|
+
yamlContent = yamlContent.replace(versionOutputsPattern, '$1\n\n # <--START CUSTOM JOBS-->\n\n # <--END CUSTOM JOBS-->\n');
|
|
334
|
+
logger.verbose('📝 Added placeholder user section markers');
|
|
335
|
+
}
|
|
65
336
|
const formattedContent = formatIfConditions(yamlContent);
|
|
66
|
-
|
|
337
|
+
const status = mergedCustomContent ? 'merged' : fileExists ? 'rebuilt' : 'created';
|
|
338
|
+
return { ...ctx, yamlContent: formattedContent, mergeStatus: status };
|
|
67
339
|
}
|
|
68
|
-
// Parse existing file
|
|
340
|
+
// Parse existing file for merge mode (no force flag)
|
|
69
341
|
const existingContent = fs.readFileSync(filePath, 'utf8');
|
|
70
342
|
const doc = parseDocument(existingContent);
|
|
71
|
-
// Get managed jobs (always overwritten)
|
|
72
|
-
const managedJobs = new Set(['changes', 'version', 'tag', 'promote', 'release']);
|
|
73
|
-
// Get deprecated jobs (should be removed)
|
|
74
|
-
const deprecatedJobs = new Set(['createpr', 'branch']);
|
|
75
|
-
// Extract user jobs from existing (preserves comments!)
|
|
76
|
-
const userJobs = new Map();
|
|
77
|
-
const existingJobs = doc.contents && doc.contents.get ? doc.contents.get('jobs') : null;
|
|
78
|
-
if (existingJobs && existingJobs.items) {
|
|
79
|
-
for (const item of existingJobs.items) {
|
|
80
|
-
const jobName = item.key?.toString();
|
|
81
|
-
if (jobName &&
|
|
82
|
-
!managedJobs.has(jobName) &&
|
|
83
|
-
!deprecatedJobs.has(jobName) &&
|
|
84
|
-
!testJobs.includes(jobName) &&
|
|
85
|
-
!deployJobs.includes(jobName) &&
|
|
86
|
-
!remoteTestJobs.includes(jobName)) {
|
|
87
|
-
// This is a custom user job - preserve it completely
|
|
88
|
-
userJobs.set(jobName, item);
|
|
89
|
-
}
|
|
90
|
-
}
|
|
91
|
-
}
|
|
92
|
-
// Clear all jobs before applying operations to prevent duplicates
|
|
93
|
-
if (existingJobs && existingJobs.items) {
|
|
94
|
-
;
|
|
95
|
-
existingJobs.items = [];
|
|
96
|
-
}
|
|
97
343
|
// Apply operations to update managed jobs
|
|
98
344
|
if (doc.contents) {
|
|
99
345
|
applyPathOperations(doc.contents, operations, doc);
|
|
100
346
|
}
|
|
101
|
-
//
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
347
|
+
// Stringify to YAML
|
|
348
|
+
let yamlContent = stringify(doc, {
|
|
349
|
+
lineWidth: 0,
|
|
350
|
+
indent: 2,
|
|
351
|
+
defaultStringType: 'PLAIN',
|
|
352
|
+
defaultKeyType: 'PLAIN',
|
|
353
|
+
minContentWidth: 0
|
|
354
|
+
});
|
|
355
|
+
// Insert user section after version job if it exists
|
|
356
|
+
// Find the version job's outputs section
|
|
357
|
+
const versionOutputsPattern = /^ {2}version:\s*\n(?:.*\n)*? {4}outputs:\s*\n\s*version:.*$/m;
|
|
358
|
+
const match = yamlContent.match(versionOutputsPattern);
|
|
359
|
+
if (match) {
|
|
360
|
+
const insertionIndex = match.index + match[0].length;
|
|
361
|
+
// If no user section exists, create default with test-gate example
|
|
362
|
+
const defaultCustomSection = `#=============================================================================
|
|
363
|
+
# CUSTOM JOBS SECTION (✅ Add your test, deploy, and remote-test jobs here)
|
|
364
|
+
#=============================================================================
|
|
365
|
+
# This section is preserved across regenerations. Add your custom jobs between
|
|
366
|
+
# the START and END markers below.
|
|
367
|
+
#
|
|
368
|
+
# Example: test-gate pattern (recommended for production workflows)
|
|
369
|
+
# Uncomment and customize the example below to prevent deployments when tests fail.
|
|
370
|
+
|
|
371
|
+
# test-gate:
|
|
372
|
+
# needs: [ ] # TODO: Add all test job names (e.g., test-api, test-frontend)
|
|
373
|
+
# if: always() # TODO: Add failure checks and success conditions
|
|
374
|
+
# runs-on: ubuntu-latest
|
|
375
|
+
# steps:
|
|
376
|
+
# - run: echo "✅ All tests passed"`;
|
|
377
|
+
const contentToInsert = userSection || defaultCustomSection;
|
|
378
|
+
const userSectionWithMarkers = `# <--START CUSTOM JOBS-->\n\n${contentToInsert}\n\n # <--END CUSTOM JOBS-->`;
|
|
379
|
+
if (userSection) {
|
|
380
|
+
logger.verbose('📋 Inserting preserved user section between markers');
|
|
109
381
|
}
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
const deprecatedFound = [];
|
|
113
|
-
if (existingJobs && existingJobs.items) {
|
|
114
|
-
for (const item of existingJobs.items) {
|
|
115
|
-
const jobName = item.key?.toString();
|
|
116
|
-
if (jobName && deprecatedJobs.has(jobName)) {
|
|
117
|
-
deprecatedFound.push(jobName);
|
|
118
|
-
}
|
|
382
|
+
else {
|
|
383
|
+
logger.verbose('📝 Creating default custom section with test-gate example');
|
|
119
384
|
}
|
|
385
|
+
yamlContent =
|
|
386
|
+
yamlContent.slice(0, insertionIndex) +
|
|
387
|
+
'\n\n ' +
|
|
388
|
+
userSectionWithMarkers +
|
|
389
|
+
'\n' +
|
|
390
|
+
yamlContent.slice(insertionIndex);
|
|
120
391
|
}
|
|
121
|
-
if (deprecatedFound.length > 0) {
|
|
122
|
-
logger.verbose(`🗑️ Removed deprecated jobs: ${deprecatedFound.join(', ')}`);
|
|
123
|
-
}
|
|
124
|
-
const status = userJobs.size > 0 ? 'merged' : 'updated';
|
|
125
|
-
const yamlContent = stringify(doc, { lineWidth: 0, minContentWidth: 0 });
|
|
126
392
|
const formattedContent = formatIfConditions(yamlContent);
|
|
393
|
+
const status = userSection ? 'merged' : 'updated';
|
|
127
394
|
return { ...ctx, yamlContent: formattedContent, mergeStatus: status };
|
|
128
395
|
})
|
|
129
396
|
.then(ctx => {
|
|
130
397
|
const outputPath = ctx.outputPipelinePath || '.github/workflows/pipeline.yml';
|
|
131
|
-
const status = ctx.mergeStatus === 'merged'
|
|
398
|
+
const status = ctx.mergeStatus === 'merged'
|
|
399
|
+
? '🔄 Merged with existing'
|
|
400
|
+
: ctx.mergeStatus === 'updated'
|
|
401
|
+
? '🔄 Updated existing'
|
|
402
|
+
: ctx.mergeStatus === 'rebuilt'
|
|
403
|
+
? '🔄 Rebuilt from scratch'
|
|
404
|
+
: '📝 Created new';
|
|
132
405
|
logger.verbose(`${status} ${outputPath}`);
|
|
133
406
|
return ctx;
|
|
134
407
|
})
|
|
@@ -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":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAsB,cAAc,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAA;AAClF,OAAO,EAAE,MAAM,IAAI,CAAA;AACnB,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,MAAM,CAAA;AAE1E,OAAO,EAAE,mBAAmB,EAA4B,MAAM,oCAAoC,CAAA;AAClG,OAAO,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAA;AAC9C,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAA;AAC5D,OAAO,EACL,yBAAyB,EACzB,sBAAsB,EACtB,sBAAsB,EAEtB,iCAAiC,EACjC,yBAAyB,EAC1B,MAAM,mBAAmB,CAAA;AAC1B,OAAO,EAAE,iBAAiB,EAAE,MAAM,oCAAoC,CAAA;AAStE;;;;GAIG;AACH,SAAS,kBAAkB,CAAC,WAAmB;IAC7C,wGAAwG;IACxG,2CAA2C;IAC3C,MAAM,gBAAgB,GAAG,sCAAsC,CAAA;IAC/D,MAAM,cAAc,GAAG,oCAAoC,CAAA;IAE3D,MAAM,UAAU,GAAG,WAAW,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAA;IACtD,MAAM,QAAQ,GAAG,WAAW,CAAC,KAAK,CAAC,cAAc,CAAC,CAAA;IAElD,IAAI,CAAC,UAAU,IAAI,CAAC,QAAQ,EAAE,CAAC;QAC7B,OAAO,IAAI,CAAA;IACb,CAAC;IAED,MAAM,UAAU,GAAG,UAAU,CAAC,KAAM,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC,MAAM,CAAA;IAC3D,MAAM,QAAQ,GAAG,QAAQ,CAAC,KAAM,CAAA;IAEhC,yEAAyE;IACzE,IAAI,SAAS,GAAG,WAAW,CAAC,SAAS,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAA;IAE3D,yDAAyD;IACzD,yDAAyD;IACzD,SAAS,GAAG,SAAS,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAA;IACzC,SAAS,GAAG,SAAS,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAA;IAEzC,OAAO,SAAS,CAAA;AAClB,CAAC;AAED;;;;;GAKG;AACH,SAAS,wBAAwB,CAAC,OAA4B;IAC5D,uBAAuB;IACvB,MAAM,YAAY,GAA+D,EAAE,CAAA;IAEnF,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC;SACjB,IAAI,EAAE;SACN,OAAO,CAAC,MAAM,CAAC,EAAE;QAChB,MAAM,YAAY,GAAG,OAAO,CAAC,MAAM,CAAC,CAAA;QACpC,MAAM,CAAC,OAAO,CACZ,aAAa,MAAM,gBACjB,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,WAClE,EAAE,CACH,CAAA;QACD,IAAI,YAAY,CAAC,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,QAAQ,CAAC,EAAE,CAAC;YAClE,YAAY,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,MAAc,EAAE,EAAE;gBAC/C,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,EAAE,CAAC;oBAC1B,YAAY,CAAC,MAAM,CAAC,GAAG,EAAE,CAAA;gBAC3B,CAAC;gBACD,YAAY,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC;oBACxB,MAAM;oBACN,OAAO,EAAE,GAAG,MAAM,IAAI,MAAM,EAAE;iBAC/B,CAAC,CAAA;YACJ,CAAC,CAAC,CAAA;QACJ,CAAC;IACH,CAAC,CAAC,CAAA;IAEJ,2CAA2C;IAC3C,MAAM,QAAQ,GAAa,EAAE,CAAA;IAE7B,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC;SACtB,IAAI,EAAE;SACN,OAAO,CAAC,MAAM,CAAC,EAAE;QAChB,MAAM,IAAI,GAAG,YAAY,CAAC,MAAM,CAAC,CAAA;QAEjC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;YACjB,MAAM,OAAO,GAAG,KAAK,GAAG,CAAC,OAAO;;qCAEH,GAAG,CAAC,MAAM;;;;;;kCAMb,GAAG,CAAC,MAAM,IAAI,MAAM;oBAClC,MAAM,QAAQ,GAAG,CAAC,MAAM;;0BAElB,MAAM,QAAQ,GAAG,CAAC,MAAM;gDACF,MAAM;+BACvB,MAAM,IAAI,GAAG,CAAC,MAAM,EAAE,CAAA;YAE7C,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;QACxB,CAAC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;IAEJ,OAAO,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;AAC9B,CAAC;AAED;;;;;;;;GAQG;AACH,SAAS,sBAAsB,CAAC,WAA0B,EAAE,aAAqB;IAC/E,IAAI,CAAC,aAAa,EAAE,CAAC;QACnB,OAAO,WAAW,IAAI,EAAE,CAAA;IAC1B,CAAC;IAED,8CAA8C;IAC9C,MAAM,gBAAgB,GAAG,IAAI,GAAG,EAAU,CAAA;IAC1C,IAAI,WAAW,EAAE,CAAC;QAChB,4DAA4D;QAC5D,MAAM,YAAY,GAAG,0BAA0B,CAAA;QAC/C,IAAI,KAAK,CAAA;QACT,OAAO,CAAC,KAAK,GAAG,YAAY,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;YACzD,gBAAgB,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAA;QAChC,CAAC;IACH,CAAC;IAED,MAAM,CAAC,OAAO,CACZ,iCAAiC,KAAK,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,MAAM,EAAE,CACrF,CAAA;IAED,+DAA+D;IAC/D,MAAM,iBAAiB,GAAG,aAAa,CAAC,KAAK,CAAC,MAAM,CAAC,CAAA;IACrD,MAAM,OAAO,GAAa,EAAE,CAAA;IAC5B,MAAM,WAAW,GAAa,EAAE,CAAA;IAEhC,iBAAiB,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;QAClC,mCAAmC;QACnC,MAAM,YAAY,GAAG,OAAO,CAAC,KAAK,CAAC,wBAAwB,CAAC,CAAA;QAC5D,IAAI,YAAY,EAAE,CAAC;YACjB,MAAM,OAAO,GAAG,YAAY,CAAC,CAAC,CAAC,CAAA;YAC/B,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;gBACnC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;YACvB,CAAC;iBAAM,CAAC;gBACN,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;YAC3B,CAAC;QACH,CAAC;IACH,CAAC,CAAC,CAAA;IAEF,MAAM,CAAC,OAAO,CAAC,gBAAgB,OAAO,CAAC,MAAM,yBAAyB,CAAC,CAAA;IACvE,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC3B,MAAM,CAAC,OAAO,CAAC,cAAc,WAAW,CAAC,MAAM,qBAAqB,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;IAC/F,CAAC;IAED,4CAA4C;IAC5C,MAAM,KAAK,GAAa,EAAE,CAAA;IAC1B,IAAI,WAAW,IAAI,WAAW,CAAC,IAAI,EAAE,EAAE,CAAC;QACtC,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,CAAA;IACzB,CAAC;IACD,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACvB,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAA;IAClC,CAAC;IAED,OAAO,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;AAC3B,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAC,GAA6B,EAAE,EAAE,CACxD,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC;KACjB,IAAI,CAAC,GAAG,CAAC,EAAE;IACV,MAAM,QAAQ,GACX,GAAW,CAAC,YAAY,IAAI,GAAG,GAAG,CAAC,GAAG,IAAI,OAAO,CAAC,GAAG,EAAE,iCAAiC,CAAA;IAC3F,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,GAAG,GAAG,CAAA;IAClC,MAAM,OAAO,GAAG,MAAM,EAAE,OAAO,IAAI,EAAE,CAAA;IAErC,+EAA+E;IAC/E,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,cAAc,EAAE,eAAe,EAAE,GAAG,iBAAiB,CAAC,OAAO,CAAC,CAAA;IAE5F,6CAA6C;IAC7C,MAAM,UAAU,GAA0B;QACxC,uCAAuC;QACvC,GAAG,sBAAsB,CAAC,EAAE,UAAU,EAAE,CAAC;QAEzC,iCAAiC;QACjC,yBAAyB,CAAC;YACxB,OAAO;YACP,KAAK,EAAE,KAAK;YACZ,OAAO,EAAE,MAAM,CAAC,WAAW;YAC3B,MAAM;SACP,CAAC;QAEF,6DAA6D;QAC7D,yBAAyB,CAAC;YACxB,YAAY,EAAE,EAAE,EAAE,wCAAwC;YAC1D,SAAS,EAAE,KAAK;YAChB,OAAO,EAAE,MAAM,CAAC,WAAW;YAC3B,MAAM;SACP,CAAC;QAEF,8DAA8D;QAC9D,sEAAsE;QAEtE,qEAAqE;QACrE,sBAAsB,CAAC;YACrB,YAAY,EAAE,QAAQ;YACtB,cAAc,EAAE,UAAU;YAC1B,eAAe,CAAC,wEAAwE;SACzF,CAAC;QAEF,wBAAwB;QACxB,GAAG,iCAAiC,CAAC;YACnC,UAAU;YACV,cAAc,EAAE,EAAE,EAAE,0CAA0C;YAC9D,kBAAkB,EAAE,EAAE;YACtB,YAAY,EAAE,QAAQ,EAAE,kDAAkD;YAC1E,SAAS,EAAE,OAAO,MAAM,CAAC,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE;YACvE,MAAM;SACP,CAAC;KACH,CAAA;IAED,uBAAuB;IACvB,MAAM,UAAU,GAAG,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAA;IAE1C,kFAAkF;IAClF,IAAI,WAAW,GAAkB,IAAI,CAAA;IACrC,MAAM,sBAAsB,GAAU,EAAE,CAAA;IACxC,IAAI,UAAU,EAAE,CAAC;QACf,MAAM,eAAe,GAAG,EAAE,CAAC,YAAY,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAA;QACzD,WAAW,GAAG,kBAAkB,CAAC,eAAe,CAAC,CAAA;QACjD,IAAI,WAAW,EAAE,CAAC;YAChB,MAAM,CAAC,OAAO,CAAC,kDAAkD,CAAC,CAAA;QACpE,CAAC;QAED,yDAAyD;QACzD,MAAM,WAAW,GAAG,aAAa,CAAC,eAAe,CAAC,CAAA;QAClD,MAAM,YAAY,GAChB,WAAW,CAAC,QAAQ,IAAK,WAAW,CAAC,QAAgB,CAAC,GAAG;YACvD,CAAC,CAAE,WAAW,CAAC,QAAgB,CAAC,GAAG,CAAC,MAAM,CAAC;YAC3C,CAAC,CAAC,IAAI,CAAA;QACV,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC,CAAC,SAAS,EAAE,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC,CAAA;QACxF,IAAI,YAAY,IAAK,YAAoB,CAAC,KAAK,EAAE,CAAC;YAChD,KAAK,MAAM,IAAI,IAAK,YAAoB,CAAC,KAAK,EAAE,CAAC;gBAC/C,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,YAAY,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAA;gBACrE,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,MAAgB,CAAC,EAAE,CAAC;oBACvC,sBAAsB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;gBACnC,CAAC;YACH,CAAC;QACH,CAAC;QACD,IAAI,sBAAsB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACtC,MAAM,CAAC,OAAO,CAAC,YAAY,sBAAsB,CAAC,MAAM,4BAA4B,CAAC,CAAA;YAErF,4EAA4E;YAC5E,IAAI,CAAC,WAAW,IAAI,sBAAsB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACtD,gEAAgE;gBAChE,MAAM,QAAQ,GAAa,EAAE,CAAA;gBAE7B,KAAK,MAAM,IAAI,IAAI,sBAAsB,EAAE,CAAC;oBAC1C,mEAAmE;oBACnE,MAAM,OAAO,GAAG,IAAI,QAAQ,CAAC,IAAI,OAAO,EAAE,CAAC,CAC1C;oBAAC,OAAO,CAAC,QAAoB,CAAC,KAAK,GAAG,CAAC,IAAI,CAAC,CAAA;oBAE7C,IAAI,OAAO,GAAG,OAAO,CAAC,QAAQ,CAAC;wBAC7B,SAAS,EAAE,CAAC;wBACZ,MAAM,EAAE,CAAC;wBACT,iBAAiB,EAAE,OAAO;wBAC1B,cAAc,EAAE,OAAO;wBACvB,eAAe,EAAE,CAAC;qBACnB,CAAC,CAAA;oBAEF,uFAAuF;oBACvF,OAAO,GAAG,OAAO;yBACd,IAAI,EAAE;yBACN,KAAK,CAAC,IAAI,CAAC;yBACX,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,GAAG,IAAI,CAAC;yBACxB,IAAI,CAAC,IAAI,CAAC,CAAA;oBACb,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;gBACxB,CAAC;gBAED,qCAAqC;gBACrC,WAAW,GAAG,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;gBACnC,MAAM,CAAC,OAAO,CAAC,0CAA0C,CAAC,CAAA;YAC5D,CAAC;QACH,CAAC;IACH,CAAC;IAED,+EAA+E;IAC/E,IAAI,CAAC,UAAU,IAAI,GAAG,CAAC,MAAM,EAAE,KAAK,EAAE,CAAC;QACrC,MAAM,UAAU,GAAG,CAAC,UAAU;YAC5B,CAAC,CAAC,qCAAqC;YACvC,CAAC,CAAC,4DAA4D,CAAA;QAChE,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,CAAA;QAE1B,0CAA0C;QAC1C,MAAM,GAAG,GAAG,aAAa,CAAC,IAAI,CAAC,CAAA;QAC/B,0DAA0D;QAC1D,IAAI,GAAG,CAAC,QAAQ,IAAK,GAAG,CAAC,QAAgB,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;YAC7D,CAAC;YAAC,GAAG,CAAC,QAAgB,CAAC,IAAI,GAAG,KAAK,CAAA;QACrC,CAAC;QAED,uCAAuC;QACvC,MAAM,aAAa,GAAG;;;;;;;;;;;;;;;;;;;;;;8EAsBgD,CAAA;QACtE,GAAG,CAAC,aAAa,GAAG,aAAa,CAAA;QAEjC,0DAA0D;QAC1D,2EAA2E;QAC3E,sDAAsD;QAEtD,IAAI,GAAG,CAAC,QAAQ,EAAE,CAAC;YACjB,mBAAmB,CAAC,GAAG,CAAC,QAAe,EAAE,UAAU,EAAE,GAAG,CAAC,CAAA;QAC3D,CAAC;QAED,oBAAoB;QACpB,IAAI,WAAW,GAAG,SAAS,CAAC,GAAG,EAAE;YAC/B,SAAS,EAAE,CAAC;YACZ,MAAM,EAAE,CAAC;YACT,iBAAiB,EAAE,OAAO;YAC1B,cAAc,EAAE,OAAO;YACvB,eAAe,EAAE,CAAC;SACnB,CAAC,CAAA;QAEF,iFAAiF;QACjF,MAAM,qBAAqB,GAAG,wBAAwB,CAAC,OAAO,CAAC,CAAA;QAE/D,iCAAiC;QACjC,MAAM,iBAAiB,GAAG,qBAAqB;aAC5C,KAAK,CAAC,MAAM,CAAC;aACb,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,wBAAwB,CAAC,CAAC;aAC3C,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;aACd,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAE,CAAC,CAAC,CAAC,CAAC,CAAA;QAClB,MAAM,CAAC,OAAO,CACZ,gBAAgB,iBAAiB,CAAC,MAAM,sBAAsB,iBAAiB,CAAC,IAAI,CAClF,IAAI,CACL,EAAE,CACJ,CAAA;QAED,MAAM,mBAAmB,GAAG,sBAAsB,CAAC,WAAW,EAAE,qBAAqB,CAAC,CAAA;QAEtF,oEAAoE;QACpE,IAAI,mBAAmB,IAAI,mBAAmB,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACjE,yCAAyC;YACzC,MAAM,qBAAqB,GACzB,8DAA8D,CAAA;YAChE,MAAM,KAAK,GAAG,WAAW,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAA;YACtD,IAAI,KAAK,EAAE,CAAC;gBACV,MAAM,cAAc,GAAG,KAAK,CAAC,KAAM,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAA;gBAErD,MAAM,sBAAsB,GAAG,gCAAgC,mBAAmB,+BAA+B,CAAA;gBACjH,WAAW;oBACT,WAAW,CAAC,KAAK,CAAC,CAAC,EAAE,cAAc,CAAC;wBACpC,QAAQ;wBACR,sBAAsB;wBACtB,IAAI;wBACJ,WAAW,CAAC,KAAK,CAAC,cAAc,CAAC,CAAA;gBACnC,MAAM,CAAC,OAAO,CACZ,mFAAmF,CACpF,CAAA;YACH,CAAC;QACH,CAAC;aAAM,IAAI,CAAC,UAAU,EAAE,CAAC;YACvB,yCAAyC;YACzC,MAAM,qBAAqB,GACzB,gEAAgE,CAAA;YAClE,WAAW,GAAG,WAAW,CAAC,OAAO,CAC/B,qBAAqB,EACrB,kEAAkE,CACnE,CAAA;YACD,MAAM,CAAC,OAAO,CAAC,2CAA2C,CAAC,CAAA;QAC7D,CAAC;QAED,MAAM,gBAAgB,GAAG,kBAAkB,CAAC,WAAW,CAAC,CAAA;QACxD,MAAM,MAAM,GAAG,mBAAmB,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAA;QAClF,OAAO,EAAE,GAAG,GAAG,EAAE,WAAW,EAAE,gBAAgB,EAAE,WAAW,EAAE,MAAM,EAAE,CAAA;IACvE,CAAC;IAED,qDAAqD;IACrD,MAAM,eAAe,GAAG,EAAE,CAAC,YAAY,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAA;IACzD,MAAM,GAAG,GAAG,aAAa,CAAC,eAAe,CAAC,CAAA;IAE1C,0CAA0C;IAC1C,IAAI,GAAG,CAAC,QAAQ,EAAE,CAAC;QACjB,mBAAmB,CAAC,GAAG,CAAC,QAAe,EAAE,UAAU,EAAE,GAAG,CAAC,CAAA;IAC3D,CAAC;IAED,oBAAoB;IACpB,IAAI,WAAW,GAAG,SAAS,CAAC,GAAG,EAAE;QAC/B,SAAS,EAAE,CAAC;QACZ,MAAM,EAAE,CAAC;QACT,iBAAiB,EAAE,OAAO;QAC1B,cAAc,EAAE,OAAO;QACvB,eAAe,EAAE,CAAC;KACnB,CAAC,CAAA;IAEF,qDAAqD;IACrD,yCAAyC;IACzC,MAAM,qBAAqB,GAAG,8DAA8D,CAAA;IAC5F,MAAM,KAAK,GAAG,WAAW,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAA;IACtD,IAAI,KAAK,EAAE,CAAC;QACV,MAAM,cAAc,GAAG,KAAK,CAAC,KAAM,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAA;QAErD,mEAAmE;QACnE,MAAM,oBAAoB,GAAG;;;;;;;;;;;;;;yCAcI,CAAA;QAEjC,MAAM,eAAe,GAAG,WAAW,IAAI,oBAAoB,CAAA;QAC3D,MAAM,sBAAsB,GAAG,gCAAgC,eAAe,+BAA+B,CAAA;QAE7G,IAAI,WAAW,EAAE,CAAC;YAChB,MAAM,CAAC,OAAO,CAAC,qDAAqD,CAAC,CAAA;QACvE,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,OAAO,CAAC,2DAA2D,CAAC,CAAA;QAC7E,CAAC;QAED,WAAW;YACT,WAAW,CAAC,KAAK,CAAC,CAAC,EAAE,cAAc,CAAC;gBACpC,QAAQ;gBACR,sBAAsB;gBACtB,IAAI;gBACJ,WAAW,CAAC,KAAK,CAAC,cAAc,CAAC,CAAA;IACrC,CAAC;IAED,MAAM,gBAAgB,GAAG,kBAAkB,CAAC,WAAW,CAAC,CAAA;IACxD,MAAM,MAAM,GAAG,WAAW,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAA;IACjD,OAAO,EAAE,GAAG,GAAG,EAAE,WAAW,EAAE,gBAAgB,EAAE,WAAW,EAAE,MAAM,EAAE,CAAA;AACvE,CAAC,CAAC;KACD,IAAI,CAAC,GAAG,CAAC,EAAE;IACV,MAAM,UAAU,GAAG,GAAG,CAAC,kBAAkB,IAAI,gCAAgC,CAAA;IAC7E,MAAM,MAAM,GACV,GAAG,CAAC,WAAW,KAAK,QAAQ;QAC1B,CAAC,CAAC,yBAAyB;QAC3B,CAAC,CAAC,GAAG,CAAC,WAAW,KAAK,SAAS;YAC/B,CAAC,CAAC,qBAAqB;YACvB,CAAC,CAAC,GAAG,CAAC,WAAW,KAAK,SAAS;gBAC/B,CAAC,CAAC,yBAAyB;gBAC3B,CAAC,CAAC,gBAAgB,CAAA;IACtB,MAAM,CAAC,OAAO,CAAC,GAAG,MAAM,IAAI,UAAU,EAAE,CAAC,CAAA;IACzC,OAAO,GAAG,CAAA;AACZ,CAAC,CAAC;KACD,IAAI,CACH,cAAc,CACZ,CAAC,GAAQ,EAAE,EAAE,CAAC,GAAG,CAAC,WAAW,EAC7B,MAAM,CAAC,CAAC,GAAQ,EAAE,EAAE,CAAC,GAAG,CAAC,kBAAkB,IAAI,gCAAgC,CAAC,CACjF,CACF,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pr-title-check.yml.tpl.d.ts","sourceRoot":"","sources":["../../../src/templates/workflows/pr-title-check.yml.tpl.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAEH,OAAO,EAAE,aAAa,EAA0B,MAAM,uBAAuB,CAAA;
|
|
1
|
+
{"version":3,"file":"pr-title-check.yml.tpl.d.ts","sourceRoot":"","sources":["../../../src/templates/workflows/pr-title-check.yml.tpl.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAEH,OAAO,EAAE,KAAK,aAAa,EAA0B,MAAM,uBAAuB,CAAA;AAElF;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,eAAO,MAAM,QAAQ,GAAI,KAAK,aAAa,iBAgKvC,CAAA"}
|