@synergenius/flowweaver-pack-cicd 0.2.0 → 0.2.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/LICENSE +204 -0
- package/dist/job-graph.d.ts.map +1 -1
- package/dist/job-graph.js +102 -2
- package/dist/job-graph.js.map +1 -1
- package/dist/job-graph.test.d.ts +2 -0
- package/dist/job-graph.test.d.ts.map +1 -0
- package/dist/job-graph.test.js +69 -0
- package/dist/job-graph.test.js.map +1 -0
- package/dist/register.js +1 -1
- package/dist/register.js.map +1 -1
- package/dist/rules.d.ts.map +1 -1
- package/dist/rules.js +33 -6
- package/dist/rules.js.map +1 -1
- package/dist/tag-handler.d.ts.map +1 -1
- package/dist/tag-handler.js +80 -1
- package/dist/tag-handler.js.map +1 -1
- package/dist/tag-handler.test.d.ts +2 -0
- package/dist/tag-handler.test.d.ts.map +1 -0
- package/dist/tag-handler.test.js +86 -0
- package/dist/tag-handler.test.js.map +1 -0
- package/dist/types.d.ts +21 -2
- package/dist/types.d.ts.map +1 -1
- package/flowweaver.manifest.json +1 -1
- package/package.json +14 -5
package/LICENSE
ADDED
|
@@ -0,0 +1,204 @@
|
|
|
1
|
+
Flow Weaver Library License
|
|
2
|
+
|
|
3
|
+
Version 2.0, February 2026
|
|
4
|
+
|
|
5
|
+
## Quick Reference (non-binding summary)
|
|
6
|
+
|
|
7
|
+
This table is provided for convenience only. In case of any conflict between
|
|
8
|
+
this summary and the license terms below, the license terms control.
|
|
9
|
+
|
|
10
|
+
Permitted:
|
|
11
|
+
|
|
12
|
+
Use Who Notes
|
|
13
|
+
---------------------------------------- ---------------- ----------------------------------
|
|
14
|
+
Install and run locally Anyone No restrictions on local use
|
|
15
|
+
Compile workflows Anyone CLI, programmatic, scripts
|
|
16
|
+
Use generated output (code, artifacts) Anyone Output is unrestricted
|
|
17
|
+
Run in CI/CD pipelines and build systems Anyone, any size Not considered "hosting"
|
|
18
|
+
Distribute copies with license notices Anyone Must include license, mark changes
|
|
19
|
+
Create derivative works Anyone Must retain license key checks
|
|
20
|
+
Host internally Orgs <= 15 All members count toward limit
|
|
21
|
+
Embed in internal toolchains Anyone No visual workflow authoring UI
|
|
22
|
+
Use inside a larger product Anyone If flow-weaver is not the primary value
|
|
23
|
+
|
|
24
|
+
Requires commercial license:
|
|
25
|
+
|
|
26
|
+
Use Notes
|
|
27
|
+
---------------------------------------- ----------------------------------
|
|
28
|
+
Host internally Orgs > 15 people
|
|
29
|
+
Build visual workflow authoring tools Standalone products for workflow authoring
|
|
30
|
+
Offer as a hosted or managed service To third parties, at any scale
|
|
31
|
+
Sell products built on the software Where flow-weaver is the primary value
|
|
32
|
+
|
|
33
|
+
Never permitted:
|
|
34
|
+
|
|
35
|
+
Use Notes
|
|
36
|
+
---------------------------------------- ----------------------------------
|
|
37
|
+
Remove or circumvent license keys Applies to software and derivatives
|
|
38
|
+
Remove licensing or copyright notices Must always be retained
|
|
39
|
+
Strip license key checks from forks Derivatives must retain protections
|
|
40
|
+
|
|
41
|
+
---
|
|
42
|
+
|
|
43
|
+
## Acceptance
|
|
44
|
+
|
|
45
|
+
By using the software, you agree to all of the terms and conditions below.
|
|
46
|
+
|
|
47
|
+
## Copyright License
|
|
48
|
+
|
|
49
|
+
The licensor grants you a non-exclusive, royalty-free, worldwide,
|
|
50
|
+
non-sublicensable, non-transferable license to use, copy, distribute, make
|
|
51
|
+
available, and prepare derivative works of the software, in each case subject to
|
|
52
|
+
the limitations and conditions below.
|
|
53
|
+
|
|
54
|
+
## Limitations
|
|
55
|
+
|
|
56
|
+
You may not provide the software to third parties as a hosted or managed
|
|
57
|
+
service, where the service provides users with access to any of the features or
|
|
58
|
+
functionality of the software.
|
|
59
|
+
|
|
60
|
+
You may not use the software to build, distribute, or offer any standalone
|
|
61
|
+
product or service whose primary purpose is providing a graphical or visual
|
|
62
|
+
interface for creating, editing, designing, or composing workflows. This
|
|
63
|
+
restriction applies whether the product is hosted, distributed, sold, or offered
|
|
64
|
+
free of charge. It does not apply to products that use the software internally
|
|
65
|
+
without exposing its workflow authoring capabilities to end users through a
|
|
66
|
+
graphical interface.
|
|
67
|
+
|
|
68
|
+
You may not sell the software or any product that provides, as its primary
|
|
69
|
+
function, capabilities supplied by the software (including workflow compilation,
|
|
70
|
+
parsing, validation, code generation, or diagram generation), without a separate
|
|
71
|
+
commercial license from the licensor. This does not restrict the sale of products
|
|
72
|
+
that merely incorporate the software as one component among many, where the
|
|
73
|
+
product's primary value comes from functionality independent of the software.
|
|
74
|
+
|
|
75
|
+
You may not move, change, disable, or circumvent the license key functionality
|
|
76
|
+
in the software, and you may not remove or obscure any functionality in the
|
|
77
|
+
software that is protected by the license key.
|
|
78
|
+
|
|
79
|
+
Derivative works must retain all license key functionality, license verification
|
|
80
|
+
mechanisms, and licensing notices present in the original software. Distributing
|
|
81
|
+
derivative works with license key protections removed, disabled, or bypassed
|
|
82
|
+
constitutes a violation of this license.
|
|
83
|
+
|
|
84
|
+
You may not alter, remove, or obscure any licensing, copyright, or other notices
|
|
85
|
+
of the licensor in the software. Any use of the licensor's trademarks is subject
|
|
86
|
+
to applicable law.
|
|
87
|
+
|
|
88
|
+
## Patents
|
|
89
|
+
|
|
90
|
+
The licensor grants you a license, under any patent claims the licensor can
|
|
91
|
+
license, or becomes able to license, to make, have made, use, sell, offer for
|
|
92
|
+
sale, import and have imported the software, in each case subject to the
|
|
93
|
+
limitations and conditions in this license. This license does not cover any
|
|
94
|
+
patent claims that you cause to be infringed by modifications or additions to the
|
|
95
|
+
software. If you or your company make any written claim that the software
|
|
96
|
+
infringes or contributes to infringement of any patent, your patent license for
|
|
97
|
+
the software granted under these terms ends immediately. If your company makes
|
|
98
|
+
such a claim, your patent license ends immediately for work on behalf of your
|
|
99
|
+
company.
|
|
100
|
+
|
|
101
|
+
## Notices
|
|
102
|
+
|
|
103
|
+
You must ensure that anyone who gets a copy of any part of the software from you
|
|
104
|
+
also gets a copy of these terms.
|
|
105
|
+
|
|
106
|
+
If you modify the software, you must include in any modified copies of the
|
|
107
|
+
software prominent notices stating that you have modified the software.
|
|
108
|
+
|
|
109
|
+
## No Other Rights
|
|
110
|
+
|
|
111
|
+
These terms do not imply any licenses other than those expressly granted in
|
|
112
|
+
these terms.
|
|
113
|
+
|
|
114
|
+
## Termination
|
|
115
|
+
|
|
116
|
+
If you use the software in violation of these terms, such use is not licensed,
|
|
117
|
+
and your licenses will automatically terminate. If the licensor provides you
|
|
118
|
+
with a notice of your violation, and you cease all violation of this license no
|
|
119
|
+
later than 30 days after you receive that notice, your licenses will be
|
|
120
|
+
reinstated retroactively. However, if you violate these terms after such
|
|
121
|
+
reinstatement, any additional violation of these terms will cause your licenses
|
|
122
|
+
to terminate immediately.
|
|
123
|
+
|
|
124
|
+
You may request a review of any termination by contacting the licensor in
|
|
125
|
+
writing within 15 days of termination. The licensor will respond within 30 days.
|
|
126
|
+
|
|
127
|
+
## No Liability
|
|
128
|
+
|
|
129
|
+
As far as the law allows, the software comes as is, without any warranty or
|
|
130
|
+
condition, and the licensor will not be liable to you for any damages arising
|
|
131
|
+
out of these terms or the use or nature of the software, under any kind of
|
|
132
|
+
legal claim.
|
|
133
|
+
|
|
134
|
+
## Governing Law
|
|
135
|
+
|
|
136
|
+
This license is governed by the laws of Portugal. Any disputes arising from or
|
|
137
|
+
related to this license will be submitted to the exclusive jurisdiction of the
|
|
138
|
+
courts of Lisbon, Portugal.
|
|
139
|
+
|
|
140
|
+
## Definitions
|
|
141
|
+
|
|
142
|
+
The "licensor" is Ricardo Jose Horta Morais (Synergenius), and the "software"
|
|
143
|
+
is the software the licensor makes available under these terms.
|
|
144
|
+
|
|
145
|
+
"You" refers to the individual or entity agreeing to these terms. "Your company"
|
|
146
|
+
is any legal entity, sole proprietorship, or other kind of organization that you
|
|
147
|
+
work for, plus all organizations that have control over, are under the control
|
|
148
|
+
of, or are under common control with that organization. "Control" means
|
|
149
|
+
ownership of substantially all the assets of an entity, or the power to direct
|
|
150
|
+
its management and policies by vote, contract, or otherwise. Control can be
|
|
151
|
+
direct or indirect.
|
|
152
|
+
|
|
153
|
+
"Third parties" means any individual or entity that is not you or your company
|
|
154
|
+
as defined in these terms.
|
|
155
|
+
|
|
156
|
+
"Your licenses" are all the licenses granted to you for the software under these
|
|
157
|
+
terms. "Use" means anything you do with the software requiring one of your
|
|
158
|
+
licenses.
|
|
159
|
+
|
|
160
|
+
"Hosting the software" means making the software's functionality available to
|
|
161
|
+
users over a network as a service. Running the software in automated build
|
|
162
|
+
pipelines, continuous integration systems, command-line interfaces, or
|
|
163
|
+
development toolchains does not constitute hosting, regardless of organization
|
|
164
|
+
size.
|
|
165
|
+
|
|
166
|
+
---
|
|
167
|
+
|
|
168
|
+
ADDITIONAL NOTICES
|
|
169
|
+
|
|
170
|
+
1. Output of the Software
|
|
171
|
+
|
|
172
|
+
The output of the software, including but not limited to compiled workflows,
|
|
173
|
+
generated code, deployment artifacts, and any other files produced by the
|
|
174
|
+
software's compilation, code generation, or export features, is not considered
|
|
175
|
+
part of the software and may be used, copied, modified, distributed, and
|
|
176
|
+
sublicensed for any purpose without restriction under this license.
|
|
177
|
+
|
|
178
|
+
2. Internal Hosting Threshold
|
|
179
|
+
|
|
180
|
+
Organizations with 15 or fewer individuals, including employees, contractors,
|
|
181
|
+
and affiliates, may host the software on internal infrastructure for use by
|
|
182
|
+
their members without restriction under this license. The count includes all
|
|
183
|
+
individuals in the organization, not only those who directly use the software.
|
|
184
|
+
|
|
185
|
+
Organizations with more than 15 individuals that wish to host the software,
|
|
186
|
+
whether on internal infrastructure or as a service, require a commercial
|
|
187
|
+
license.
|
|
188
|
+
|
|
189
|
+
3. Unrestricted Use
|
|
190
|
+
|
|
191
|
+
Using the software locally, including installing, running, compiling workflows,
|
|
192
|
+
generating code, and producing deployment artifacts, is permitted for any
|
|
193
|
+
individual or organization regardless of size, subject to the Limitations above.
|
|
194
|
+
|
|
195
|
+
4. Export Compliance
|
|
196
|
+
|
|
197
|
+
You are responsible for compliance with all applicable export and import laws
|
|
198
|
+
and regulations in your jurisdiction when using, distributing, or making the
|
|
199
|
+
software available.
|
|
200
|
+
|
|
201
|
+
5. Commercial Licensing
|
|
202
|
+
|
|
203
|
+
For commercial licensing inquiries, partnership arrangements, or questions
|
|
204
|
+
about permitted use, contact support@synergenius.pt.
|
package/dist/job-graph.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"job-graph.d.ts","sourceRoot":"","sources":["../src/job-graph.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EACV,YAAY,EAEb,MAAM,8BAA8B,CAAC;AACtC,OAAO,KAAK,EAAE,OAAO,EAAY,MAAM,YAAY,CAAC;AAEpD;;;GAGG;AACH,wBAAgB,aAAa,CAAC,GAAG,EAAE,YAAY,GAAG,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"job-graph.d.ts","sourceRoot":"","sources":["../src/job-graph.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EACV,YAAY,EAEb,MAAM,8BAA8B,CAAC;AACtC,OAAO,KAAK,EAAE,OAAO,EAAY,MAAM,YAAY,CAAC;AAEpD;;;GAGG;AACH,wBAAgB,aAAa,CAAC,GAAG,EAAE,YAAY,GAAG,OAAO,EAAE,CA0P1D"}
|
package/dist/job-graph.js
CHANGED
|
@@ -31,6 +31,7 @@ export function buildJobGraph(ast) {
|
|
|
31
31
|
nodeJob.set(inst.id, inst.job || 'default');
|
|
32
32
|
}
|
|
33
33
|
const jobDeps = new Map();
|
|
34
|
+
const crossJobPorts = [];
|
|
34
35
|
for (const conn of ast.connections) {
|
|
35
36
|
if (conn.from.node.startsWith('secret:'))
|
|
36
37
|
continue;
|
|
@@ -42,6 +43,17 @@ export function buildJobGraph(ast) {
|
|
|
42
43
|
if (!jobDeps.has(toJob))
|
|
43
44
|
jobDeps.set(toJob, new Set());
|
|
44
45
|
jobDeps.get(toJob).add(fromJob);
|
|
46
|
+
// Look up source port definition for artifact wiring
|
|
47
|
+
const fromNodeType = ast.instances.find(i => i.id === conn.from.node)?.nodeType;
|
|
48
|
+
const nt = fromNodeType ? nodeTypeLookup.get(fromNodeType) : undefined;
|
|
49
|
+
const portDef = nt?.outputs?.[conn.from.port];
|
|
50
|
+
crossJobPorts.push({
|
|
51
|
+
fromJob,
|
|
52
|
+
toJob,
|
|
53
|
+
portName: conn.from.port,
|
|
54
|
+
portMeta: portDef?.metadata,
|
|
55
|
+
dataType: portDef?.dataType,
|
|
56
|
+
});
|
|
45
57
|
}
|
|
46
58
|
}
|
|
47
59
|
const jobs = [];
|
|
@@ -69,7 +81,62 @@ export function buildJobGraph(ast) {
|
|
|
69
81
|
secrets: [],
|
|
70
82
|
});
|
|
71
83
|
}
|
|
72
|
-
// Apply
|
|
84
|
+
// Apply port-derived artifact wiring for cross-job data connections
|
|
85
|
+
if (crossJobPorts.length > 0) {
|
|
86
|
+
const seen = new Set();
|
|
87
|
+
for (const cp of crossJobPorts) {
|
|
88
|
+
const key = `${cp.fromJob}:${cp.portName}:${cp.toJob}`;
|
|
89
|
+
if (seen.has(key))
|
|
90
|
+
continue;
|
|
91
|
+
seen.add(key);
|
|
92
|
+
const producer = jobs.find(j => j.id === cp.fromJob);
|
|
93
|
+
const consumer = jobs.find(j => j.id === cp.toJob);
|
|
94
|
+
if (!producer || !consumer)
|
|
95
|
+
continue;
|
|
96
|
+
const artifactPath = cp.portMeta?.artifactPath;
|
|
97
|
+
const isDotenv = cp.portMeta?.dotenv === true;
|
|
98
|
+
const isStepOnly = cp.dataType === 'STEP';
|
|
99
|
+
if (isStepOnly || (!artifactPath && !isDotenv)) {
|
|
100
|
+
// Step-only or no artifact metadata: track as needs-without-artifacts
|
|
101
|
+
consumer.needsWithoutArtifacts = consumer.needsWithoutArtifacts || [];
|
|
102
|
+
if (!consumer.needsWithoutArtifacts.includes(cp.fromJob)) {
|
|
103
|
+
consumer.needsWithoutArtifacts.push(cp.fromJob);
|
|
104
|
+
}
|
|
105
|
+
continue;
|
|
106
|
+
}
|
|
107
|
+
if (artifactPath) {
|
|
108
|
+
const artifactName = `${cp.fromJob}-${cp.portName}`;
|
|
109
|
+
// Producer: add upload artifact
|
|
110
|
+
producer.uploadArtifacts = producer.uploadArtifacts || [];
|
|
111
|
+
if (!producer.uploadArtifacts.some(a => a.name === artifactName)) {
|
|
112
|
+
producer.uploadArtifacts.push({ name: artifactName, path: artifactPath });
|
|
113
|
+
}
|
|
114
|
+
// Consumer: add download artifact
|
|
115
|
+
consumer.downloadArtifacts = consumer.downloadArtifacts || [];
|
|
116
|
+
if (!consumer.downloadArtifacts.includes(artifactName)) {
|
|
117
|
+
consumer.downloadArtifacts.push(artifactName);
|
|
118
|
+
}
|
|
119
|
+
consumer.downloadArtifactPaths = consumer.downloadArtifactPaths || {};
|
|
120
|
+
consumer.downloadArtifactPaths[artifactName] = artifactPath;
|
|
121
|
+
}
|
|
122
|
+
if (isDotenv) {
|
|
123
|
+
const dotenvName = `${cp.fromJob}-${cp.portName}-dotenv`;
|
|
124
|
+
const dotenvPath = `.fw-dotenv/${cp.fromJob}-${cp.portName}.env`;
|
|
125
|
+
// Producer: add dotenv upload artifact
|
|
126
|
+
producer.uploadArtifacts = producer.uploadArtifacts || [];
|
|
127
|
+
if (!producer.uploadArtifacts.some(a => a.name === dotenvName)) {
|
|
128
|
+
producer.uploadArtifacts.push({ name: dotenvName, path: dotenvPath });
|
|
129
|
+
}
|
|
130
|
+
// Consumer: track dotenv artifact for loading
|
|
131
|
+
consumer.dotenvArtifacts = consumer.dotenvArtifacts || [];
|
|
132
|
+
consumer.dotenvArtifacts.push({ name: dotenvName, path: dotenvPath });
|
|
133
|
+
consumer.downloadArtifacts = consumer.downloadArtifacts || [];
|
|
134
|
+
if (!consumer.downloadArtifacts.includes(dotenvName)) {
|
|
135
|
+
consumer.downloadArtifacts.push(dotenvName);
|
|
136
|
+
}
|
|
137
|
+
}
|
|
138
|
+
}
|
|
139
|
+
}
|
|
73
140
|
const jobConfigs = ast.options?.cicd?.jobs;
|
|
74
141
|
if (jobConfigs) {
|
|
75
142
|
for (const jc of jobConfigs) {
|
|
@@ -98,6 +165,25 @@ export function buildJobGraph(ast) {
|
|
|
98
165
|
job.runner = jc.runner;
|
|
99
166
|
if (jc.extends)
|
|
100
167
|
job.extends = jc.extends;
|
|
168
|
+
const ext = jc;
|
|
169
|
+
if (ext.stage)
|
|
170
|
+
job.stage = ext.stage;
|
|
171
|
+
if (ext.retryWhen)
|
|
172
|
+
job.retryWhen = ext.retryWhen;
|
|
173
|
+
if (ext.needsArtifactControl)
|
|
174
|
+
job.needsArtifactControl = ext.needsArtifactControl;
|
|
175
|
+
if (ext.optionalNeeds)
|
|
176
|
+
job.optionalNeeds = ext.optionalNeeds;
|
|
177
|
+
if (ext.parallel)
|
|
178
|
+
job.parallel = ext.parallel;
|
|
179
|
+
if (ext.beforeScript !== undefined)
|
|
180
|
+
job.beforeScript = ext.beforeScript;
|
|
181
|
+
if (ext.skipDependencies)
|
|
182
|
+
job.skipDependencies = ext.skipDependencies;
|
|
183
|
+
if (ext.artifacts) {
|
|
184
|
+
job.uploadArtifacts = job.uploadArtifacts || [];
|
|
185
|
+
job.uploadArtifacts.push(...ext.artifacts);
|
|
186
|
+
}
|
|
101
187
|
}
|
|
102
188
|
}
|
|
103
189
|
// Apply @stage assignments
|
|
@@ -121,6 +207,20 @@ export function buildJobGraph(ast) {
|
|
|
121
207
|
}
|
|
122
208
|
}
|
|
123
209
|
}
|
|
210
|
+
// Apply per-job service assignments (from @service job="X")
|
|
211
|
+
const cicdServices = ast.options?.cicd?.services;
|
|
212
|
+
if (cicdServices && cicdServices.length > 0) {
|
|
213
|
+
for (const svc of cicdServices) {
|
|
214
|
+
const svcExt = svc;
|
|
215
|
+
if (svcExt.job) {
|
|
216
|
+
const job = jobs.find(j => j.id === svcExt.job);
|
|
217
|
+
if (job) {
|
|
218
|
+
job.services = job.services || [];
|
|
219
|
+
job.services.push(svc);
|
|
220
|
+
}
|
|
221
|
+
}
|
|
222
|
+
}
|
|
223
|
+
}
|
|
124
224
|
// Apply workflow-level defaults
|
|
125
225
|
const cicd = ast.options?.cicd;
|
|
126
226
|
if (cicd) {
|
|
@@ -128,7 +228,7 @@ export function buildJobGraph(ast) {
|
|
|
128
228
|
if (cicd.variables && !job.variables) {
|
|
129
229
|
job.variables = { ...cicd.variables };
|
|
130
230
|
}
|
|
131
|
-
if (cicd.beforeScript &&
|
|
231
|
+
if (cicd.beforeScript && job.beforeScript === undefined) {
|
|
132
232
|
job.beforeScript = [...cicd.beforeScript];
|
|
133
233
|
}
|
|
134
234
|
if (cicd.tags && !job.tags) {
|
package/dist/job-graph.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"job-graph.js","sourceRoot":"","sources":["../src/job-graph.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"job-graph.js","sourceRoot":"","sources":["../src/job-graph.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"job-graph.test.d.ts","sourceRoot":"","sources":["../src/job-graph.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
import { describe, it, expect } from 'vitest';
|
|
2
|
+
import { buildJobGraph } from './job-graph.js';
|
|
3
|
+
function makeMinimalAST(overrides) {
|
|
4
|
+
return {
|
|
5
|
+
name: 'test',
|
|
6
|
+
functionName: 'test',
|
|
7
|
+
nodeTypes: [],
|
|
8
|
+
instances: [
|
|
9
|
+
{ id: 'step1', nodeType: 'noop', job: 'build', config: { label: 'Step 1' } },
|
|
10
|
+
{ id: 'step2', nodeType: 'noop', job: 'deploy', config: { label: 'Step 2' } },
|
|
11
|
+
],
|
|
12
|
+
connections: [],
|
|
13
|
+
options: { cicd: {} },
|
|
14
|
+
...overrides,
|
|
15
|
+
};
|
|
16
|
+
}
|
|
17
|
+
describe('Bug 2: @job stage applied in buildJobGraph', () => {
|
|
18
|
+
it('applies explicit stage from @job config', () => {
|
|
19
|
+
const ast = makeMinimalAST({
|
|
20
|
+
options: {
|
|
21
|
+
cicd: {
|
|
22
|
+
jobs: [
|
|
23
|
+
{ id: 'build', stage: 'compile' },
|
|
24
|
+
{ id: 'deploy', stage: 'release' },
|
|
25
|
+
],
|
|
26
|
+
stages: [{ name: 'compile' }, { name: 'release' }],
|
|
27
|
+
},
|
|
28
|
+
},
|
|
29
|
+
});
|
|
30
|
+
const jobs = buildJobGraph(ast);
|
|
31
|
+
const buildJob = jobs.find(j => j.id === 'build');
|
|
32
|
+
const deployJob = jobs.find(j => j.id === 'deploy');
|
|
33
|
+
expect(buildJob?.stage).toBe('compile');
|
|
34
|
+
expect(deployJob?.stage).toBe('release');
|
|
35
|
+
});
|
|
36
|
+
it('explicit @job stage overrides name-prefix heuristic', () => {
|
|
37
|
+
const ast = makeMinimalAST({
|
|
38
|
+
instances: [
|
|
39
|
+
{ id: 'test-unit', nodeType: 'noop', job: 'test-unit', config: { label: 'Unit' } },
|
|
40
|
+
],
|
|
41
|
+
options: {
|
|
42
|
+
cicd: {
|
|
43
|
+
jobs: [{ id: 'test-unit', stage: 'validate' }],
|
|
44
|
+
stages: [{ name: 'test' }, { name: 'validate' }],
|
|
45
|
+
},
|
|
46
|
+
},
|
|
47
|
+
});
|
|
48
|
+
const jobs = buildJobGraph(ast);
|
|
49
|
+
// Without the fix, name-prefix heuristic would match "test" stage
|
|
50
|
+
// With the fix, explicit stage "validate" takes precedence
|
|
51
|
+
expect(jobs[0].stage).toBe('validate');
|
|
52
|
+
});
|
|
53
|
+
it('applies retryWhen from @job config', () => {
|
|
54
|
+
const ast = makeMinimalAST({
|
|
55
|
+
options: {
|
|
56
|
+
cicd: {
|
|
57
|
+
jobs: [
|
|
58
|
+
{ id: 'build', retry: 2, retryWhen: ['runner_system_failure', 'api_failure'] },
|
|
59
|
+
],
|
|
60
|
+
},
|
|
61
|
+
},
|
|
62
|
+
});
|
|
63
|
+
const jobs = buildJobGraph(ast);
|
|
64
|
+
const buildJob = jobs.find(j => j.id === 'build');
|
|
65
|
+
expect(buildJob?.retry).toBe(2);
|
|
66
|
+
expect(buildJob?.retryWhen).toEqual(['runner_system_failure', 'api_failure']);
|
|
67
|
+
});
|
|
68
|
+
});
|
|
69
|
+
//# sourceMappingURL=job-graph.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"job-graph.test.js","sourceRoot":"","sources":["../src/job-graph.test.ts"],"names":[],"mappings":"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"}
|
package/dist/register.js
CHANGED
|
@@ -13,7 +13,7 @@ import { getCICDValidationRules } from './rules.js';
|
|
|
13
13
|
tagHandlerRegistry.register([
|
|
14
14
|
'secret', 'runner', 'cache', 'artifact', 'environment', 'matrix',
|
|
15
15
|
'service', 'concurrency', 'job', 'stage', 'variables',
|
|
16
|
-
'before_script', 'tags', 'includes', '_cicdTrigger',
|
|
16
|
+
'before_script', 'tags', 'includes', 'rule', '_cicdTrigger',
|
|
17
17
|
], 'cicd', 'workflow', cicdTagHandler);
|
|
18
18
|
// ── Validation rules ────────────────────────────────────────────────────────
|
|
19
19
|
validationRuleRegistry.register({
|
package/dist/register.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"register.js","sourceRoot":"","sources":["../src/register.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EACL,kBAAkB,EAClB,sBAAsB,GACvB,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAChD,OAAO,EAAE,sBAAsB,EAAE,MAAM,YAAY,CAAC;AAEpD,+EAA+E;AAE/E,kBAAkB,CAAC,QAAQ,CACzB;IACE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,QAAQ;IAChE,SAAS,EAAE,aAAa,EAAE,KAAK,EAAE,OAAO,EAAE,WAAW;IACrD,eAAe,EAAE,MAAM,EAAE,UAAU,EAAE,cAAc;
|
|
1
|
+
{"version":3,"file":"register.js","sourceRoot":"","sources":["../src/register.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EACL,kBAAkB,EAClB,sBAAsB,GACvB,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAChD,OAAO,EAAE,sBAAsB,EAAE,MAAM,YAAY,CAAC;AAEpD,+EAA+E;AAE/E,kBAAkB,CAAC,QAAQ,CACzB;IACE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,QAAQ;IAChE,SAAS,EAAE,aAAa,EAAE,KAAK,EAAE,OAAO,EAAE,WAAW;IACrD,eAAe,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,cAAc;CAC5D,EACD,MAAM,EACN,UAAU,EACV,cAAc,CACf,CAAC;AAEF,+EAA+E;AAE/E,sBAAsB,CAAC,QAAQ,CAAC;IAC9B,IAAI,EAAE,aAAa;IACnB,SAAS,EAAE,MAAM;IACjB,MAAM,EAAE,cAAc;IACtB,QAAQ,EAAE,sBAAsB;CACjC,CAAC,CAAC"}
|
package/dist/rules.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rules.d.ts","sourceRoot":"","sources":["../src/rules.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EACV,eAAe,EAGhB,MAAM,8BAA8B,CAAC;AAOtC,eAAO,MAAM,qBAAqB,EAAE,eAmBnC,CAAC;AAEF,eAAO,MAAM,gBAAgB,EAAE,eAmB9B,CAAC;AAEF,eAAO,MAAM,kBAAkB,EAAE,eAmBhC,CAAC;AAEF,eAAO,MAAM,oBAAoB,EAAE,eAmBlC,CAAC;AAEF,eAAO,MAAM,oBAAoB,EAAE,
|
|
1
|
+
{"version":3,"file":"rules.d.ts","sourceRoot":"","sources":["../src/rules.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EACV,eAAe,EAGhB,MAAM,8BAA8B,CAAC;AAOtC,eAAO,MAAM,qBAAqB,EAAE,eAmBnC,CAAC;AAEF,eAAO,MAAM,gBAAgB,EAAE,eAmB9B,CAAC;AAEF,eAAO,MAAM,kBAAkB,EAAE,eAmBhC,CAAC;AAEF,eAAO,MAAM,oBAAoB,EAAE,eAmBlC,CAAC;AAEF,eAAO,MAAM,oBAAoB,EAAE,eAgElC,CAAC;AAEF,eAAO,MAAM,mBAAmB,EAAE,eA2DjC,CAAC;AAEF,eAAO,MAAM,yBAAyB,EAAE,eA0BvC,CAAC;AAEF,eAAO,MAAM,mBAAmB,EAAE,eAmBjC,CAAC;AAEF,eAAO,MAAM,eAAe,EAAE,eAyB7B,CAAC;AAEF,eAAO,MAAM,mBAAmB,EAAE,eAAe,EAUhD,CAAC;AAEF,wBAAgB,sBAAsB,IAAI,eAAe,EAAE,CAE1D"}
|
package/dist/rules.js
CHANGED
|
@@ -102,12 +102,39 @@ export const artifactCrossJobRule = {
|
|
|
102
102
|
}
|
|
103
103
|
}
|
|
104
104
|
if (crossJobPairs.size > 0 && artifacts.length === 0) {
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
105
|
+
// Check if port-derived artifacts cover the cross-job connections
|
|
106
|
+
const nodeTypeLookup = new Map();
|
|
107
|
+
for (const nt of ast.nodeTypes) {
|
|
108
|
+
nodeTypeLookup.set(nt.name, nt);
|
|
109
|
+
if (nt.functionName !== nt.name)
|
|
110
|
+
nodeTypeLookup.set(nt.functionName, nt);
|
|
111
|
+
}
|
|
112
|
+
let hasPortDerivedArtifacts = false;
|
|
113
|
+
for (const conn of ast.connections) {
|
|
114
|
+
if (conn.from.node.startsWith('secret:'))
|
|
115
|
+
continue;
|
|
116
|
+
if (conn.from.node === 'Start' || conn.to.node === 'Exit')
|
|
117
|
+
continue;
|
|
118
|
+
const fromJob = nodeJob.get(conn.from.node);
|
|
119
|
+
const toJob = nodeJob.get(conn.to.node);
|
|
120
|
+
if (fromJob && toJob && fromJob !== toJob) {
|
|
121
|
+
const fromNodeType = ast.instances.find(i => i.id === conn.from.node)?.nodeType;
|
|
122
|
+
const nt = fromNodeType ? nodeTypeLookup.get(fromNodeType) : undefined;
|
|
123
|
+
const portDef = nt?.outputs?.[conn.from.port];
|
|
124
|
+
if (portDef?.metadata?.artifactPath || portDef?.metadata?.dotenv) {
|
|
125
|
+
hasPortDerivedArtifacts = true;
|
|
126
|
+
break;
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
if (!hasPortDerivedArtifacts) {
|
|
131
|
+
const pairs = Array.from(crossJobPairs);
|
|
132
|
+
errors.push({
|
|
133
|
+
type: 'warning',
|
|
134
|
+
code: 'CICD_ARTIFACT_CROSS_JOB',
|
|
135
|
+
message: `Data flows between jobs (${pairs.join(', ')}) but no @artifact is declared. In CI/CD, each job runs in a fresh environment. Add @artifact declarations to pass data between jobs.`,
|
|
136
|
+
});
|
|
137
|
+
}
|
|
111
138
|
}
|
|
112
139
|
return errors;
|
|
113
140
|
},
|
package/dist/rules.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rules.js","sourceRoot":"","sources":["../src/rules.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"rules.js","sourceRoot":"","sources":["../src/rules.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tag-handler.d.ts","sourceRoot":"","sources":["../src/tag-handler.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAElE,eAAO,MAAM,cAAc,EAAE,
|
|
1
|
+
{"version":3,"file":"tag-handler.d.ts","sourceRoot":"","sources":["../src/tag-handler.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAElE,eAAO,MAAM,cAAc,EAAE,aAyD5B,CAAC"}
|
package/dist/tag-handler.js
CHANGED
|
@@ -57,6 +57,9 @@ export const cicdTagHandler = (tagName, comment, ctx) => {
|
|
|
57
57
|
case 'includes':
|
|
58
58
|
parseIncludes(text, d, warnings);
|
|
59
59
|
break;
|
|
60
|
+
case 'rule':
|
|
61
|
+
parseRule(text, d, warnings);
|
|
62
|
+
break;
|
|
60
63
|
case '_cicdTrigger':
|
|
61
64
|
parseCicdTrigger(text, d, warnings);
|
|
62
65
|
break;
|
|
@@ -114,6 +117,12 @@ function parseCache(text, d, warnings) {
|
|
|
114
117
|
const pathMatch = rest.match(/path\s*=\s*"([^"]+)"/);
|
|
115
118
|
if (pathMatch)
|
|
116
119
|
cache.path = pathMatch[1];
|
|
120
|
+
const policyMatch = rest.match(/policy\s*=\s*"([^"]+)"/);
|
|
121
|
+
if (policyMatch)
|
|
122
|
+
cache.policy = policyMatch[1];
|
|
123
|
+
const filesMatch = rest.match(/files\s*=\s*"([^"]+)"/);
|
|
124
|
+
if (filesMatch)
|
|
125
|
+
cache.files = filesMatch[1].split(',').map(f => f.trim());
|
|
117
126
|
const caches = d['caches'] ?? [];
|
|
118
127
|
caches.push(cache);
|
|
119
128
|
d['caches'] = caches;
|
|
@@ -219,6 +228,9 @@ function parseService(text, d, warnings) {
|
|
|
219
228
|
name: nameMatch[1],
|
|
220
229
|
image: imageMatch[1],
|
|
221
230
|
};
|
|
231
|
+
const jobMatch = text.match(/job\s*=\s*"([^"]+)"/);
|
|
232
|
+
if (jobMatch)
|
|
233
|
+
svc.job = jobMatch[1];
|
|
222
234
|
const envMatch = text.match(/env\s*=\s*"([^"]+)"/);
|
|
223
235
|
if (envMatch) {
|
|
224
236
|
svc.env = {};
|
|
@@ -307,6 +319,12 @@ function parseJob(text, d, warnings) {
|
|
|
307
319
|
case 'extends':
|
|
308
320
|
jc.extends = value;
|
|
309
321
|
break;
|
|
322
|
+
case 'stage':
|
|
323
|
+
jc.stage = value;
|
|
324
|
+
break;
|
|
325
|
+
case 'retry_when':
|
|
326
|
+
jc.retryWhen = value.split(',').map(s => s.trim()).filter(Boolean);
|
|
327
|
+
break;
|
|
310
328
|
case 'variables': {
|
|
311
329
|
jc.variables = jc.variables || {};
|
|
312
330
|
for (const pair of value.split(',')) {
|
|
@@ -318,7 +336,12 @@ function parseJob(text, d, warnings) {
|
|
|
318
336
|
break;
|
|
319
337
|
}
|
|
320
338
|
case 'before_script':
|
|
321
|
-
|
|
339
|
+
if (value === 'none' || value === '[]') {
|
|
340
|
+
jc.beforeScript = null;
|
|
341
|
+
}
|
|
342
|
+
else {
|
|
343
|
+
jc.beforeScript = value.split(',').map(s => s.trim()).filter(Boolean);
|
|
344
|
+
}
|
|
322
345
|
break;
|
|
323
346
|
case 'rules':
|
|
324
347
|
jc.rules = jc.rules || [];
|
|
@@ -351,6 +374,47 @@ function parseJob(text, d, warnings) {
|
|
|
351
374
|
}
|
|
352
375
|
break;
|
|
353
376
|
}
|
|
377
|
+
case 'needs_artifacts': {
|
|
378
|
+
jc.needsArtifactControl = jc.needsArtifactControl || {};
|
|
379
|
+
for (const pair of value.split(',')) {
|
|
380
|
+
const colonIdx = pair.indexOf(':');
|
|
381
|
+
if (colonIdx > 0) {
|
|
382
|
+
jc.needsArtifactControl[pair.substring(0, colonIdx).trim()] =
|
|
383
|
+
pair.substring(colonIdx + 1).trim() === 'true';
|
|
384
|
+
}
|
|
385
|
+
}
|
|
386
|
+
break;
|
|
387
|
+
}
|
|
388
|
+
case 'optional_needs':
|
|
389
|
+
jc.optionalNeeds = value.split(',').map(s => s.trim()).filter(Boolean);
|
|
390
|
+
break;
|
|
391
|
+
case 'parallel': {
|
|
392
|
+
const n = parseInt(value, 10);
|
|
393
|
+
if (!isNaN(n) && n > 0)
|
|
394
|
+
jc.parallel = n;
|
|
395
|
+
else
|
|
396
|
+
warnings.push(`Invalid parallel value "${value}" in @job ${jobId}`);
|
|
397
|
+
break;
|
|
398
|
+
}
|
|
399
|
+
case 'dependencies':
|
|
400
|
+
if (value === 'none' || value === '[]') {
|
|
401
|
+
jc.skipDependencies = true;
|
|
402
|
+
}
|
|
403
|
+
break;
|
|
404
|
+
case 'artifacts': {
|
|
405
|
+
jc.artifacts = jc.artifacts || [];
|
|
406
|
+
const paths = value.split(',').map(s => s.trim()).filter(Boolean);
|
|
407
|
+
const retMatch = rest.match(/retention\s*=\s*(\d+)/);
|
|
408
|
+
const retention = retMatch ? parseInt(retMatch[1], 10) : undefined;
|
|
409
|
+
for (const p of paths) {
|
|
410
|
+
jc.artifacts.push({
|
|
411
|
+
name: `${jobId}-artifacts`,
|
|
412
|
+
path: p,
|
|
413
|
+
...(retention && { retention }),
|
|
414
|
+
});
|
|
415
|
+
}
|
|
416
|
+
break;
|
|
417
|
+
}
|
|
354
418
|
default:
|
|
355
419
|
warnings.push(`Unknown @job attribute "${key}" in @job ${jobId}`);
|
|
356
420
|
}
|
|
@@ -447,6 +511,21 @@ function parseIncludes(text, d, warnings) {
|
|
|
447
511
|
warnings.push(`Invalid @includes format: @includes ${text}. Expected: @includes local="path" or @includes template="name"`);
|
|
448
512
|
}
|
|
449
513
|
}
|
|
514
|
+
function parseRule(text, d, _warnings) {
|
|
515
|
+
const rule = {};
|
|
516
|
+
const ifMatch = text.match(/if\s*=\s*"((?:[^"\\]|\\.)*)"/);
|
|
517
|
+
if (ifMatch)
|
|
518
|
+
rule.if = ifMatch[1];
|
|
519
|
+
const whenMatch = text.match(/when\s*=\s*(\S+)/);
|
|
520
|
+
if (whenMatch)
|
|
521
|
+
rule.when = whenMatch[1];
|
|
522
|
+
const changesMatch = text.match(/changes\s*=\s*"([^"]+)"/);
|
|
523
|
+
if (changesMatch)
|
|
524
|
+
rule.changes = changesMatch[1].split(',').map(s => s.trim()).filter(Boolean);
|
|
525
|
+
const rules = d['workflowRules'] ?? [];
|
|
526
|
+
d['workflowRules'] = rules;
|
|
527
|
+
rules.push(rule);
|
|
528
|
+
}
|
|
450
529
|
function parseCicdTrigger(text, d, warnings) {
|
|
451
530
|
const cicdMatch = text.match(/^(push|pull_request|dispatch|tag|schedule)\b(.*)?$/);
|
|
452
531
|
if (!cicdMatch) {
|
package/dist/tag-handler.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tag-handler.js","sourceRoot":"","sources":["../src/tag-handler.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"tag-handler.js","sourceRoot":"","sources":["../src/tag-handler.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tag-handler.test.d.ts","sourceRoot":"","sources":["../src/tag-handler.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
import { describe, it, expect } from 'vitest';
|
|
2
|
+
import { cicdTagHandler } from './tag-handler.js';
|
|
3
|
+
function makeCtx() {
|
|
4
|
+
return { deploy: {}, warnings: [] };
|
|
5
|
+
}
|
|
6
|
+
describe('Bug 1: @job stage=X parsing', () => {
|
|
7
|
+
it('parses stage attribute on @job', () => {
|
|
8
|
+
const ctx = makeCtx();
|
|
9
|
+
cicdTagHandler('job', 'build stage=test', ctx);
|
|
10
|
+
const jobs = ctx.deploy['jobs'];
|
|
11
|
+
expect(jobs).toHaveLength(1);
|
|
12
|
+
expect(jobs[0].id).toBe('build');
|
|
13
|
+
expect(jobs[0].stage).toBe('test');
|
|
14
|
+
expect(ctx.warnings).toHaveLength(0);
|
|
15
|
+
});
|
|
16
|
+
it('parses stage alongside other attributes', () => {
|
|
17
|
+
const ctx = makeCtx();
|
|
18
|
+
cicdTagHandler('job', 'deploy stage=production runner=ubuntu-latest retry=2', ctx);
|
|
19
|
+
const jobs = ctx.deploy['jobs'];
|
|
20
|
+
expect(jobs[0].stage).toBe('production');
|
|
21
|
+
expect(jobs[0].runner).toBe('ubuntu-latest');
|
|
22
|
+
expect(jobs[0].retry).toBe(2);
|
|
23
|
+
expect(ctx.warnings).toHaveLength(0);
|
|
24
|
+
});
|
|
25
|
+
it('does not produce warning for stage attribute', () => {
|
|
26
|
+
const ctx = makeCtx();
|
|
27
|
+
cicdTagHandler('job', 'lint stage=validate', ctx);
|
|
28
|
+
expect(ctx.warnings).toHaveLength(0);
|
|
29
|
+
});
|
|
30
|
+
});
|
|
31
|
+
describe('Bug 4: @job retry_when parsing', () => {
|
|
32
|
+
it('parses retry_when as comma-separated list', () => {
|
|
33
|
+
const ctx = makeCtx();
|
|
34
|
+
cicdTagHandler('job', 'test retry=2 retry_when="runner_system_failure,api_failure"', ctx);
|
|
35
|
+
const jobs = ctx.deploy['jobs'];
|
|
36
|
+
expect(jobs[0].retry).toBe(2);
|
|
37
|
+
expect(jobs[0].retryWhen).toEqual(['runner_system_failure', 'api_failure']);
|
|
38
|
+
expect(ctx.warnings).toHaveLength(0);
|
|
39
|
+
});
|
|
40
|
+
it('handles single retry_when value', () => {
|
|
41
|
+
const ctx = makeCtx();
|
|
42
|
+
cicdTagHandler('job', 'test retry=1 retry_when="always"', ctx);
|
|
43
|
+
const jobs = ctx.deploy['jobs'];
|
|
44
|
+
expect(jobs[0].retryWhen).toEqual(['always']);
|
|
45
|
+
});
|
|
46
|
+
it('trims whitespace in retry_when values', () => {
|
|
47
|
+
const ctx = makeCtx();
|
|
48
|
+
cicdTagHandler('job', 'test retry_when="a , b , c"', ctx);
|
|
49
|
+
const jobs = ctx.deploy['jobs'];
|
|
50
|
+
expect(jobs[0].retryWhen).toEqual(['a', 'b', 'c']);
|
|
51
|
+
});
|
|
52
|
+
});
|
|
53
|
+
describe('Bug 5: @rule tag parsing', () => {
|
|
54
|
+
it('parses rule with if and when=never', () => {
|
|
55
|
+
const ctx = makeCtx();
|
|
56
|
+
cicdTagHandler('rule', 'if="$CI_COMMIT_MESSAGE =~ /\\[ci skip\\]/" when=never', ctx);
|
|
57
|
+
const rules = ctx.deploy['workflowRules'];
|
|
58
|
+
expect(rules).toHaveLength(1);
|
|
59
|
+
expect(rules[0].if).toBe('$CI_COMMIT_MESSAGE =~ /\\[ci skip\\]/');
|
|
60
|
+
expect(rules[0].when).toBe('never');
|
|
61
|
+
});
|
|
62
|
+
it('parses rule with when=always and no if', () => {
|
|
63
|
+
const ctx = makeCtx();
|
|
64
|
+
cicdTagHandler('rule', 'when=always', ctx);
|
|
65
|
+
const rules = ctx.deploy['workflowRules'];
|
|
66
|
+
expect(rules[0].when).toBe('always');
|
|
67
|
+
expect(rules[0].if).toBeUndefined();
|
|
68
|
+
});
|
|
69
|
+
it('parses rule with changes attribute', () => {
|
|
70
|
+
const ctx = makeCtx();
|
|
71
|
+
cicdTagHandler('rule', 'if="$CI_COMMIT_BRANCH" changes="src/**,lib/**"', ctx);
|
|
72
|
+
const rules = ctx.deploy['workflowRules'];
|
|
73
|
+
expect(rules[0].if).toBe('$CI_COMMIT_BRANCH');
|
|
74
|
+
expect(rules[0].changes).toEqual(['src/**', 'lib/**']);
|
|
75
|
+
});
|
|
76
|
+
it('accumulates multiple @rule tags', () => {
|
|
77
|
+
const ctx = makeCtx();
|
|
78
|
+
cicdTagHandler('rule', 'if="$CI_COMMIT_MESSAGE =~ /\\[ci skip\\]/" when=never', ctx);
|
|
79
|
+
cicdTagHandler('rule', 'when=always', ctx);
|
|
80
|
+
const rules = ctx.deploy['workflowRules'];
|
|
81
|
+
expect(rules).toHaveLength(2);
|
|
82
|
+
expect(rules[0].when).toBe('never');
|
|
83
|
+
expect(rules[1].when).toBe('always');
|
|
84
|
+
});
|
|
85
|
+
});
|
|
86
|
+
//# sourceMappingURL=tag-handler.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tag-handler.test.js","sourceRoot":"","sources":["../src/tag-handler.test.ts"],"names":[],"mappings":"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"}
|
package/dist/types.d.ts
CHANGED
|
@@ -43,8 +43,27 @@ export interface CICDJob {
|
|
|
43
43
|
uploadArtifacts?: TCICDArtifact[];
|
|
44
44
|
/** Artifact names to download before this job */
|
|
45
45
|
downloadArtifacts?: string[];
|
|
46
|
+
/** Port-derived artifact download paths (keyed by artifact name) */
|
|
47
|
+
downloadArtifactPaths?: Record<string, string>;
|
|
48
|
+
/** Dotenv artifacts to load (from port metadata dotenv:true) */
|
|
49
|
+
dotenvArtifacts?: Array<{
|
|
50
|
+
name: string;
|
|
51
|
+
path: string;
|
|
52
|
+
}>;
|
|
53
|
+
/** Dependencies that only need job ordering, not artifact transfer */
|
|
54
|
+
needsWithoutArtifacts?: string[];
|
|
55
|
+
/** Control per-dependency artifact download (jobId -> true/false) */
|
|
56
|
+
needsArtifactControl?: Record<string, boolean>;
|
|
57
|
+
/** Dependencies that should be optional (job continues if dep fails) */
|
|
58
|
+
optionalNeeds?: string[];
|
|
59
|
+
/** Simple parallelism count (e.g., parallel: 15 for cypress splitting) */
|
|
60
|
+
parallel?: number;
|
|
61
|
+
/** Skip all artifact downloads (dependencies: []) */
|
|
62
|
+
skipDependencies?: boolean;
|
|
46
63
|
/** Maximum retry count on failure (from @job) */
|
|
47
64
|
retry?: number;
|
|
65
|
+
/** Conditions under which to retry (from @job retry_when) */
|
|
66
|
+
retryWhen?: string[];
|
|
48
67
|
/** Whether this job can fail without failing the pipeline (from @job) */
|
|
49
68
|
allowFailure?: boolean;
|
|
50
69
|
/** Job-level timeout duration (from @job) */
|
|
@@ -53,8 +72,8 @@ export interface CICDJob {
|
|
|
53
72
|
variables?: Record<string, string>;
|
|
54
73
|
/** Runner selection tags (from @job or @tags) */
|
|
55
74
|
tags?: string[];
|
|
56
|
-
/** Setup commands before main script (from @job or @before_script) */
|
|
57
|
-
beforeScript?: string[];
|
|
75
|
+
/** Setup commands before main script (from @job or @before_script, null = explicit empty override) */
|
|
76
|
+
beforeScript?: string[] | null;
|
|
58
77
|
/** Conditional execution rules (from @job) */
|
|
59
78
|
rules?: Array<{
|
|
60
79
|
if?: string;
|
package/dist/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EACV,WAAW,EACX,YAAY,EACZ,UAAU,EACV,aAAa,EACd,MAAM,8BAA8B,CAAC;AAEtC,MAAM,WAAW,QAAQ;IACvB,uBAAuB;IACvB,EAAE,EAAE,MAAM,CAAC;IACX,+BAA+B;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,0CAA0C;IAC1C,QAAQ,EAAE,MAAM,CAAC;IACjB,0CAA0C;IAC1C,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC7B,yEAAyE;IACzE,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;CAC1D;AAED,MAAM,WAAW,OAAO;IACtB,0CAA0C;IAC1C,EAAE,EAAE,MAAM,CAAC;IACX,8BAA8B;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,wDAAwD;IACxD,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,8CAA8C;IAC9C,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,+BAA+B;IAC/B,KAAK,EAAE,QAAQ,EAAE,CAAC;IAClB,0DAA0D;IAC1D,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,oCAAoC;IACpC,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,sBAAsB;IACtB,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,uBAAuB;IACvB,QAAQ,CAAC,EAAE,YAAY,EAAE,CAAC;IAC1B,0BAA0B;IAC1B,KAAK,CAAC,EAAE,UAAU,CAAC;IACnB,yCAAyC;IACzC,eAAe,CAAC,EAAE,aAAa,EAAE,CAAC;IAClC,iDAAiD;IACjD,iBAAiB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC7B,iDAAiD;IACjD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,yEAAyE;IACzE,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,6CAA6C;IAC7C,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,sDAAsD;IACtD,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACnC,iDAAiD;IACjD,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|
package/flowweaver.manifest.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"manifestVersion": 1,
|
|
3
3
|
"name": "@synergenius/flowweaver-pack-cicd",
|
|
4
|
-
"version": "0.2.
|
|
4
|
+
"version": "0.2.2",
|
|
5
5
|
"description": "CI/CD pipeline infrastructure and node types for Flow Weaver: tag handler, validation rules, job graph builder, and platform-native CI/CD node stubs",
|
|
6
6
|
"engineVersion": ">=0.17.7",
|
|
7
7
|
"categories": [
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@synergenius/flowweaver-pack-cicd",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.2",
|
|
4
4
|
"description": "CI/CD pipeline infrastructure and node types for Flow Weaver: tag handler, validation rules, job graph builder, and platform-native CI/CD node stubs",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"flowweaver-marketplace-pack",
|
|
@@ -14,7 +14,11 @@
|
|
|
14
14
|
"flowWeaver": {
|
|
15
15
|
"type": "marketplace-pack",
|
|
16
16
|
"engineVersion": ">=0.17.7",
|
|
17
|
-
"categories": [
|
|
17
|
+
"categories": [
|
|
18
|
+
"cicd",
|
|
19
|
+
"automation",
|
|
20
|
+
"devops"
|
|
21
|
+
]
|
|
18
22
|
},
|
|
19
23
|
"peerDependencies": {
|
|
20
24
|
"@synergenius/flow-weaver": ">=0.17.7"
|
|
@@ -30,13 +34,18 @@
|
|
|
30
34
|
],
|
|
31
35
|
"scripts": {
|
|
32
36
|
"build": "tsc",
|
|
37
|
+
"test": "vitest run",
|
|
33
38
|
"pack:manifest": "flow-weaver market pack",
|
|
34
|
-
"prepublishOnly": "npm run build && npm run pack:manifest"
|
|
39
|
+
"prepublishOnly": "npm run build && npm run pack:manifest",
|
|
40
|
+
"release": "tsx scripts/release.ts"
|
|
35
41
|
},
|
|
36
42
|
"devDependencies": {
|
|
37
|
-
"
|
|
43
|
+
"@types/node": "^25.3.4",
|
|
44
|
+
"tsx": "^4.21.0",
|
|
45
|
+
"typescript": "^5.0.0",
|
|
46
|
+
"vitest": "^4.0.18"
|
|
38
47
|
},
|
|
39
|
-
"license": "
|
|
48
|
+
"license": "SEE LICENSE IN LICENSE",
|
|
40
49
|
"repository": {
|
|
41
50
|
"type": "git",
|
|
42
51
|
"url": "https://github.com/synergenius-fw/flowweaver-pack-cicd"
|