@synergenius/flowweaver-pack-cicd 0.2.5 → 0.2.6
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.
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"integration.test.d.ts","sourceRoot":"","sources":["../src/integration.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,160 @@
|
|
|
1
|
+
import { describe, it, expect } from 'vitest';
|
|
2
|
+
import { buildJobGraph } from './job-graph.js';
|
|
3
|
+
// ---------------------------------------------------------------------------
|
|
4
|
+
// Fixture helpers (same pattern as generator.test.ts)
|
|
5
|
+
// ---------------------------------------------------------------------------
|
|
6
|
+
function makeNodeType(name, inputs = {}, outputs = {}, overrides = {}) {
|
|
7
|
+
return {
|
|
8
|
+
type: 'NodeType',
|
|
9
|
+
name,
|
|
10
|
+
functionName: name,
|
|
11
|
+
inputs,
|
|
12
|
+
outputs,
|
|
13
|
+
hasSuccessPort: false,
|
|
14
|
+
hasFailurePort: false,
|
|
15
|
+
executeWhen: 'ANY_INPUT',
|
|
16
|
+
isAsync: false,
|
|
17
|
+
expression: true,
|
|
18
|
+
...overrides,
|
|
19
|
+
};
|
|
20
|
+
}
|
|
21
|
+
function makeWorkflow(overrides) {
|
|
22
|
+
return {
|
|
23
|
+
name: 'DeployPipeline',
|
|
24
|
+
functionName: 'deployPipeline',
|
|
25
|
+
nodeTypes: [],
|
|
26
|
+
instances: [],
|
|
27
|
+
connections: [],
|
|
28
|
+
options: { cicd: {} },
|
|
29
|
+
startPorts: {},
|
|
30
|
+
exitPorts: {},
|
|
31
|
+
...overrides,
|
|
32
|
+
};
|
|
33
|
+
}
|
|
34
|
+
// ---------------------------------------------------------------------------
|
|
35
|
+
// Multi-job fixture: build → test → deploy → notify
|
|
36
|
+
// ---------------------------------------------------------------------------
|
|
37
|
+
const checkoutNt = makeNodeType('checkout', { workingDirectory: { dataType: 'string', default: '.' } }, { repoPath: { dataType: 'string' } });
|
|
38
|
+
const npmInstallNt = makeNodeType('npmInstall', { cwd: { dataType: 'string', default: '.' } }, { nodeModulesPath: { dataType: 'string' } });
|
|
39
|
+
const npmBuildNt = makeNodeType('npmBuild', { cwd: { dataType: 'string', default: '.' } }, { output: { dataType: 'string' } });
|
|
40
|
+
const npmTestNt = makeNodeType('npmTest', { buildDir: { dataType: 'string', default: '.' } }, { testOutput: { dataType: 'string' } });
|
|
41
|
+
const deploySshNt = makeNodeType('deploySsh', { sourcePath: { dataType: 'string' } }, { result: { dataType: 'string' } });
|
|
42
|
+
const slackNotifyNt = makeNodeType('slackNotify', { message: { dataType: 'string', default: 'Pipeline completed' } }, { sent: { dataType: 'boolean' } }, { isAsync: true });
|
|
43
|
+
const allNodeTypes = [checkoutNt, npmInstallNt, npmBuildNt, npmTestNt, deploySshNt, slackNotifyNt];
|
|
44
|
+
const pipelineAST = makeWorkflow({
|
|
45
|
+
nodeTypes: allNodeTypes,
|
|
46
|
+
instances: [
|
|
47
|
+
// Job: build (checkout → npmInstall → npmBuild)
|
|
48
|
+
{ id: 'checkout1', nodeType: 'checkout', job: 'build' },
|
|
49
|
+
{ id: 'install1', nodeType: 'npmInstall', job: 'build' },
|
|
50
|
+
{ id: 'build1', nodeType: 'npmBuild', job: 'build' },
|
|
51
|
+
// Job: test (npmTest, reads artifact from build)
|
|
52
|
+
{ id: 'test1', nodeType: 'npmTest', job: 'test' },
|
|
53
|
+
// Job: deploy (deploySsh, reads artifact from test)
|
|
54
|
+
{ id: 'deploy1', nodeType: 'deploySsh', job: 'deploy' },
|
|
55
|
+
// Job: notify (slackNotify, reads artifact from deploy, async)
|
|
56
|
+
{ id: 'notify1', nodeType: 'slackNotify', job: 'notify' },
|
|
57
|
+
],
|
|
58
|
+
connections: [
|
|
59
|
+
// Start → checkout (Start connection)
|
|
60
|
+
{ from: { node: 'Start', port: 'branch' }, to: { node: 'checkout1', port: 'workingDirectory' } },
|
|
61
|
+
// Within build job: checkout → npmInstall → npmBuild
|
|
62
|
+
{ from: { node: 'checkout1', port: 'repoPath' }, to: { node: 'install1', port: 'cwd' } },
|
|
63
|
+
{ from: { node: 'install1', port: 'nodeModulesPath' }, to: { node: 'build1', port: 'cwd' } },
|
|
64
|
+
// Cross-job: build.output → test.buildDir
|
|
65
|
+
{ from: { node: 'build1', port: 'output' }, to: { node: 'test1', port: 'buildDir' } },
|
|
66
|
+
// Cross-job: test.testOutput → deploy.sourcePath
|
|
67
|
+
{ from: { node: 'test1', port: 'testOutput' }, to: { node: 'deploy1', port: 'sourcePath' } },
|
|
68
|
+
// Cross-job: deploy.result → notify.message
|
|
69
|
+
{ from: { node: 'deploy1', port: 'result' }, to: { node: 'notify1', port: 'message' } },
|
|
70
|
+
],
|
|
71
|
+
});
|
|
72
|
+
// ---------------------------------------------------------------------------
|
|
73
|
+
// Tests
|
|
74
|
+
// ---------------------------------------------------------------------------
|
|
75
|
+
describe('CI/CD job graph integration', () => {
|
|
76
|
+
const jobs = buildJobGraph(pipelineAST);
|
|
77
|
+
it('builds 4 jobs in dependency order with correct needs chains', () => {
|
|
78
|
+
expect(jobs).toHaveLength(4);
|
|
79
|
+
const ids = jobs.map((j) => j.id);
|
|
80
|
+
expect(ids).toEqual(['build', 'test', 'deploy', 'notify']);
|
|
81
|
+
expect(jobs[0].needs).toEqual([]);
|
|
82
|
+
expect(jobs[1].needs).toEqual(['build']);
|
|
83
|
+
expect(jobs[2].needs).toEqual(['test']);
|
|
84
|
+
expect(jobs[3].needs).toEqual(['deploy']);
|
|
85
|
+
});
|
|
86
|
+
it('assigns correct steps to each job', () => {
|
|
87
|
+
const buildJob = jobs.find((j) => j.id === 'build');
|
|
88
|
+
const testJob = jobs.find((j) => j.id === 'test');
|
|
89
|
+
const deployJob = jobs.find((j) => j.id === 'deploy');
|
|
90
|
+
const notifyJob = jobs.find((j) => j.id === 'notify');
|
|
91
|
+
expect(buildJob.steps.map((s) => s.id)).toEqual(['checkout1', 'install1', 'build1']);
|
|
92
|
+
expect(testJob.steps.map((s) => s.id)).toEqual(['test1']);
|
|
93
|
+
expect(deployJob.steps.map((s) => s.id)).toEqual(['deploy1']);
|
|
94
|
+
expect(notifyJob.steps.map((s) => s.id)).toEqual(['notify1']);
|
|
95
|
+
});
|
|
96
|
+
it('preserves step node types', () => {
|
|
97
|
+
const buildJob = jobs.find((j) => j.id === 'build');
|
|
98
|
+
expect(buildJob.steps.map((s) => s.nodeType)).toEqual(['checkout', 'npmInstall', 'npmBuild']);
|
|
99
|
+
});
|
|
100
|
+
it('handles single-node jobs', () => {
|
|
101
|
+
const deployJob = jobs.find((j) => j.id === 'deploy');
|
|
102
|
+
expect(deployJob.steps).toHaveLength(1);
|
|
103
|
+
expect(deployJob.steps[0].nodeType).toBe('deploySsh');
|
|
104
|
+
});
|
|
105
|
+
it('creates transitive dependency chains from cross-job connections', () => {
|
|
106
|
+
// notify depends on deploy, which depends on test, which depends on build
|
|
107
|
+
// Each link is from a cross-job data connection, not explicitly declared
|
|
108
|
+
const notifyJob = jobs.find((j) => j.id === 'notify');
|
|
109
|
+
expect(notifyJob.needs).toEqual(['deploy']);
|
|
110
|
+
const deployJob = jobs.find((j) => j.id === 'deploy');
|
|
111
|
+
expect(deployJob.needs).toEqual(['test']);
|
|
112
|
+
});
|
|
113
|
+
it('applies @job config overrides', () => {
|
|
114
|
+
const configuredAST = makeWorkflow({
|
|
115
|
+
...pipelineAST,
|
|
116
|
+
options: {
|
|
117
|
+
cicd: {
|
|
118
|
+
jobs: [
|
|
119
|
+
{ id: 'build', runner: 'ubuntu-22.04', timeout: '30m' },
|
|
120
|
+
{ id: 'deploy', allowFailure: true, retry: 2 },
|
|
121
|
+
],
|
|
122
|
+
},
|
|
123
|
+
},
|
|
124
|
+
});
|
|
125
|
+
const configuredJobs = buildJobGraph(configuredAST);
|
|
126
|
+
const buildJob = configuredJobs.find((j) => j.id === 'build');
|
|
127
|
+
const deployJob = configuredJobs.find((j) => j.id === 'deploy');
|
|
128
|
+
expect(buildJob.runner).toBe('ubuntu-22.04');
|
|
129
|
+
expect(buildJob.timeout).toBe('30m');
|
|
130
|
+
expect(deployJob.allowFailure).toBe(true);
|
|
131
|
+
expect(deployJob.retry).toBe(2);
|
|
132
|
+
});
|
|
133
|
+
it('applies @stage assignments', () => {
|
|
134
|
+
const stagedAST = makeWorkflow({
|
|
135
|
+
...pipelineAST,
|
|
136
|
+
options: {
|
|
137
|
+
cicd: {
|
|
138
|
+
stages: [
|
|
139
|
+
{ name: 'compile' },
|
|
140
|
+
{ name: 'verify' },
|
|
141
|
+
{ name: 'release' },
|
|
142
|
+
{ name: 'post' },
|
|
143
|
+
],
|
|
144
|
+
jobs: [
|
|
145
|
+
{ id: 'build', stage: 'compile' },
|
|
146
|
+
{ id: 'test', stage: 'verify' },
|
|
147
|
+
{ id: 'deploy', stage: 'release' },
|
|
148
|
+
{ id: 'notify', stage: 'post' },
|
|
149
|
+
],
|
|
150
|
+
},
|
|
151
|
+
},
|
|
152
|
+
});
|
|
153
|
+
const stagedJobs = buildJobGraph(stagedAST);
|
|
154
|
+
expect(stagedJobs.find((j) => j.id === 'build').stage).toBe('compile');
|
|
155
|
+
expect(stagedJobs.find((j) => j.id === 'test').stage).toBe('verify');
|
|
156
|
+
expect(stagedJobs.find((j) => j.id === 'deploy').stage).toBe('release');
|
|
157
|
+
expect(stagedJobs.find((j) => j.id === 'notify').stage).toBe('post');
|
|
158
|
+
});
|
|
159
|
+
});
|
|
160
|
+
//# sourceMappingURL=integration.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"integration.test.js","sourceRoot":"","sources":["../src/integration.test.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.6",
|
|
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.6",
|
|
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",
|