@vibe-validate/cli 0.19.0-rc.7 → 0.19.0
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/dist/bin/vibe-validate +47 -25
- package/dist/bin/vibe-validate.d.ts +1 -0
- package/dist/bin/vibe-validate.d.ts.map +1 -1
- package/dist/bin/vibe-validate.js +47 -25
- package/dist/bin/vibe-validate.js.map +1 -1
- package/dist/bin/vv +47 -25
- package/dist/bin.js +2 -2
- package/dist/bin.js.map +1 -1
- package/dist/commands/doctor.d.ts.map +1 -1
- package/dist/commands/doctor.js +11 -3
- package/dist/commands/doctor.js.map +1 -1
- package/dist/commands/generate-workflow.d.ts +10 -10
- package/dist/commands/generate-workflow.d.ts.map +1 -1
- package/dist/commands/generate-workflow.js +114 -294
- package/dist/commands/generate-workflow.js.map +1 -1
- package/dist/commands/pre-commit.d.ts.map +1 -1
- package/dist/commands/pre-commit.js +28 -11
- package/dist/commands/pre-commit.js.map +1 -1
- package/dist/commands/run.js +1 -1
- package/dist/commands/run.js.map +1 -1
- package/dist/commands/validate.d.ts.map +1 -1
- package/dist/commands/validate.js +46 -12
- package/dist/commands/validate.js.map +1 -1
- package/dist/services/extraction-mode-detector.d.ts.map +1 -1
- package/dist/services/extraction-mode-detector.js +29 -25
- package/dist/services/extraction-mode-detector.js.map +1 -1
- package/dist/utils/flakiness-detector.d.ts +17 -0
- package/dist/utils/flakiness-detector.d.ts.map +1 -0
- package/dist/utils/flakiness-detector.js +87 -0
- package/dist/utils/flakiness-detector.js.map +1 -0
- package/dist/utils/logger.d.ts +29 -1
- package/dist/utils/logger.d.ts.map +1 -1
- package/dist/utils/logger.js +47 -0
- package/dist/utils/logger.js.map +1 -1
- package/dist/utils/validate-workflow.d.ts +4 -0
- package/dist/utils/validate-workflow.d.ts.map +1 -1
- package/dist/utils/validate-workflow.js +76 -34
- package/dist/utils/validate-workflow.js.map +1 -1
- package/dist/utils/validation-lock-wrapper.d.ts +3 -0
- package/dist/utils/validation-lock-wrapper.d.ts.map +1 -1
- package/dist/utils/validation-lock-wrapper.js +18 -4
- package/dist/utils/validation-lock-wrapper.js.map +1 -1
- package/package.json +7 -7
|
@@ -14,16 +14,16 @@
|
|
|
14
14
|
*
|
|
15
15
|
* @packageDocumentation
|
|
16
16
|
*/
|
|
17
|
-
import type { VibeValidateConfig
|
|
17
|
+
import type { VibeValidateConfig } from '@vibe-validate/config';
|
|
18
18
|
import { type Command } from 'commander';
|
|
19
19
|
import { type PackageManager } from '../utils/package-manager-commands.js';
|
|
20
20
|
/**
|
|
21
21
|
* Generate GitHub Actions workflow options
|
|
22
22
|
*/
|
|
23
23
|
export interface GenerateWorkflowOptions {
|
|
24
|
-
/** Node.js versions to test (default:
|
|
24
|
+
/** Node.js versions to test (default: auto-detect from package.json engines) */
|
|
25
25
|
nodeVersions?: string[];
|
|
26
|
-
/** Operating systems to test (default: ['ubuntu-latest'])
|
|
26
|
+
/** Operating systems to test (default: ['ubuntu-latest']) */
|
|
27
27
|
os?: string[];
|
|
28
28
|
/** Package manager (default: auto-detect from packageManager field or lockfiles) */
|
|
29
29
|
packageManager?: PackageManager;
|
|
@@ -33,8 +33,6 @@ export interface GenerateWorkflowOptions {
|
|
|
33
33
|
coverageProvider?: 'codecov' | 'coveralls';
|
|
34
34
|
/** Codecov token secret name (default: 'CODECOV_TOKEN') */
|
|
35
35
|
codecovTokenSecret?: string;
|
|
36
|
-
/** Use matrix strategy for multi-OS/Node testing (default: true if multiple values provided) */
|
|
37
|
-
useMatrix?: boolean;
|
|
38
36
|
/** Fail fast in matrix (default: false) */
|
|
39
37
|
matrixFailFast?: boolean;
|
|
40
38
|
/** Project root directory for detecting package.json and lockfiles (default: process.cwd()) */
|
|
@@ -45,13 +43,15 @@ export interface GenerateWorkflowOptions {
|
|
|
45
43
|
* (lowercase, replace spaces with dashes, remove special chars)
|
|
46
44
|
*/
|
|
47
45
|
export declare function toJobId(name: string): string;
|
|
48
|
-
/**
|
|
49
|
-
* Get all job IDs from validation phases
|
|
50
|
-
* Handles both phase-based (parallel: false) and step-based (parallel: true) jobs
|
|
51
|
-
*/
|
|
52
|
-
export declare function getAllJobIds(phases: ValidationPhase[]): string[];
|
|
53
46
|
/**
|
|
54
47
|
* Generate GitHub Actions workflow from validation config
|
|
48
|
+
*
|
|
49
|
+
* Always generates a single "validate" job that runs all validation steps
|
|
50
|
+
* sequentially within one CI runner - matching the local `pnpm validate` experience.
|
|
51
|
+
* This ensures setup steps (e.g., playwright install) run before tests, and
|
|
52
|
+
* new checkouts for developers and CI just work.
|
|
53
|
+
*
|
|
54
|
+
* Supports matrix strategy for testing across multiple Node.js versions and OS.
|
|
55
55
|
*/
|
|
56
56
|
export declare function generateWorkflow(config: VibeValidateConfig, options?: GenerateWorkflowOptions): string;
|
|
57
57
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generate-workflow.d.ts","sourceRoot":"","sources":["../../src/commands/generate-workflow.ts"],"names":[],"mappings":";AACA;;;;;;;;;;;;;;GAcG;AAKH,OAAO,KAAK,EAAE,kBAAkB,EAAE,
|
|
1
|
+
{"version":3,"file":"generate-workflow.d.ts","sourceRoot":"","sources":["../../src/commands/generate-workflow.ts"],"names":[],"mappings":";AACA;;;;;;;;;;;;;;GAcG;AAKH,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAEhE,OAAO,EAAE,KAAK,OAAO,EAAE,MAAM,WAAW,CAAC;AAMzC,OAAO,EACL,KAAK,cAAc,EAMpB,MAAM,sCAAsC,CAAC;AAsD9C;;GAEG;AACH,MAAM,WAAW,uBAAuB;IACtC,gFAAgF;IAChF,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,6DAA6D;IAC7D,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC;IACd,oFAAoF;IACpF,cAAc,CAAC,EAAE,cAAc,CAAC;IAChC,iDAAiD;IACjD,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,6CAA6C;IAC7C,gBAAgB,CAAC,EAAE,SAAS,GAAG,WAAW,CAAC;IAC3C,2DAA2D;IAC3D,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,2CAA2C;IAC3C,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,+FAA+F;IAC/F,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED;;;GAGG;AACH,wBAAgB,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAM5C;AAkDD;;;;;;;;;GASG;AACH,wBAAgB,gBAAgB,CAC9B,MAAM,EAAE,kBAAkB,EAC1B,OAAO,GAAE,uBAA4B,GACpC,MAAM,CA8MR;AAED;;;;;GAKG;AACH,wBAAgB,yBAAyB,CAAC,MAAM,EAAE,kBAAkB,GAAG,OAAO,CAAC,uBAAuB,CAAC,CAYtG;AAED;;;;;;GAMG;AACH,wBAAgB,SAAS,CACvB,MAAM,EAAE,kBAAkB,EAC1B,OAAO,GAAE,uBAA4B,EACrC,YAAY,GAAE,MAAyC,GACtD;IAAE,MAAM,EAAE,OAAO,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,CAuBpC;AAED;;GAEG;AACH,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CA6F9D;AAED;;GAEG;AACH,wBAAgB,+BAA+B,IAAI,IAAI,CAiHtD"}
|
|
@@ -43,102 +43,6 @@ export function toJobId(name) {
|
|
|
43
43
|
.replaceAll(/-+/g, '-')
|
|
44
44
|
.replaceAll(/(^-)|(-$)/g, '');
|
|
45
45
|
}
|
|
46
|
-
/**
|
|
47
|
-
* Get all job IDs from validation phases
|
|
48
|
-
* Handles both phase-based (parallel: false) and step-based (parallel: true) jobs
|
|
49
|
-
*/
|
|
50
|
-
export function getAllJobIds(phases) {
|
|
51
|
-
const jobIds = [];
|
|
52
|
-
for (const phase of phases) {
|
|
53
|
-
if (phase.parallel === false) {
|
|
54
|
-
// Phase-based: one job per phase
|
|
55
|
-
jobIds.push(toJobId(phase.name));
|
|
56
|
-
}
|
|
57
|
-
else {
|
|
58
|
-
// Step-based: one job per step
|
|
59
|
-
for (const step of phase.steps) {
|
|
60
|
-
jobIds.push(toJobId(step.name));
|
|
61
|
-
}
|
|
62
|
-
}
|
|
63
|
-
}
|
|
64
|
-
return jobIds;
|
|
65
|
-
}
|
|
66
|
-
/**
|
|
67
|
-
* Create common job setup steps (checkout, node, package manager)
|
|
68
|
-
*/
|
|
69
|
-
function createCommonJobSetupSteps(nodeVersion, packageManager) {
|
|
70
|
-
const steps = [
|
|
71
|
-
{
|
|
72
|
-
uses: ACTIONS_CHECKOUT_V4,
|
|
73
|
-
with: {
|
|
74
|
-
[WORKFLOW_PROPERTY_FETCH_DEPTH]: 0 // Fetch all history for git-based checks (doctor command)
|
|
75
|
-
}
|
|
76
|
-
},
|
|
77
|
-
];
|
|
78
|
-
// Setup package manager and Node.js
|
|
79
|
-
if (packageManager === 'bun') {
|
|
80
|
-
// Bun uses its own setup action (includes Node.js)
|
|
81
|
-
steps.push({
|
|
82
|
-
name: 'Setup Bun',
|
|
83
|
-
uses: ACTIONS_SETUP_BUN_V2,
|
|
84
|
-
}, { run: getInstallCommand(packageManager) });
|
|
85
|
-
}
|
|
86
|
-
else if (packageManager === 'pnpm') {
|
|
87
|
-
steps.push({
|
|
88
|
-
name: STEP_NAME_SETUP_PNPM,
|
|
89
|
-
uses: ACTIONS_SETUP_PNPM_V2,
|
|
90
|
-
with: { version: '8' },
|
|
91
|
-
}, {
|
|
92
|
-
uses: ACTIONS_SETUP_NODE_V4,
|
|
93
|
-
with: {
|
|
94
|
-
[WORKFLOW_PROPERTY_NODE_VERSION]: nodeVersion,
|
|
95
|
-
cache: 'pnpm',
|
|
96
|
-
},
|
|
97
|
-
}, { run: getInstallCommand(packageManager) });
|
|
98
|
-
}
|
|
99
|
-
else if (packageManager === 'yarn') {
|
|
100
|
-
steps.push({
|
|
101
|
-
uses: ACTIONS_SETUP_NODE_V4,
|
|
102
|
-
with: {
|
|
103
|
-
[WORKFLOW_PROPERTY_NODE_VERSION]: nodeVersion,
|
|
104
|
-
cache: 'yarn',
|
|
105
|
-
},
|
|
106
|
-
}, { run: getInstallCommand(packageManager) });
|
|
107
|
-
}
|
|
108
|
-
else {
|
|
109
|
-
// npm
|
|
110
|
-
steps.push({
|
|
111
|
-
uses: ACTIONS_SETUP_NODE_V4,
|
|
112
|
-
with: {
|
|
113
|
-
[WORKFLOW_PROPERTY_NODE_VERSION]: nodeVersion,
|
|
114
|
-
cache: 'npm',
|
|
115
|
-
},
|
|
116
|
-
}, { run: getInstallCommand(packageManager) });
|
|
117
|
-
}
|
|
118
|
-
return steps;
|
|
119
|
-
}
|
|
120
|
-
/**
|
|
121
|
-
* Add coverage reporting steps if enabled for this step
|
|
122
|
-
*/
|
|
123
|
-
function addCoverageReportingSteps(jobSteps, stepName, enableCoverage, coverageProvider) {
|
|
124
|
-
if (enableCoverage && stepName.toLowerCase().includes('coverage')) {
|
|
125
|
-
if (coverageProvider === 'codecov') {
|
|
126
|
-
jobSteps.push({
|
|
127
|
-
name: 'Upload coverage to Codecov',
|
|
128
|
-
uses: 'codecov/codecov-action@v3',
|
|
129
|
-
with: {
|
|
130
|
-
'fail_ci_if_error': true,
|
|
131
|
-
},
|
|
132
|
-
});
|
|
133
|
-
}
|
|
134
|
-
else if (coverageProvider === 'coveralls') {
|
|
135
|
-
jobSteps.push({
|
|
136
|
-
name: 'Upload coverage to Coveralls',
|
|
137
|
-
uses: 'coverallsapp/github-action@v2',
|
|
138
|
-
});
|
|
139
|
-
}
|
|
140
|
-
}
|
|
141
|
-
}
|
|
142
46
|
/**
|
|
143
47
|
* Generate bash script to check all job statuses
|
|
144
48
|
*/
|
|
@@ -182,18 +86,92 @@ function detectNodeVersion(cwd = process.cwd()) {
|
|
|
182
86
|
}
|
|
183
87
|
/**
|
|
184
88
|
* Generate GitHub Actions workflow from validation config
|
|
89
|
+
*
|
|
90
|
+
* Always generates a single "validate" job that runs all validation steps
|
|
91
|
+
* sequentially within one CI runner - matching the local `pnpm validate` experience.
|
|
92
|
+
* This ensures setup steps (e.g., playwright install) run before tests, and
|
|
93
|
+
* new checkouts for developers and CI just work.
|
|
94
|
+
*
|
|
95
|
+
* Supports matrix strategy for testing across multiple Node.js versions and OS.
|
|
185
96
|
*/
|
|
186
|
-
// eslint-disable-next-line sonarjs/cognitive-complexity -- Complexity 69 acceptable for workflow generation (converts config phases/steps into GitHub Actions YAML with proper dependency management and caching logic)
|
|
187
97
|
export function generateWorkflow(config, options = {}) {
|
|
188
98
|
const projectRoot = options.projectRoot ?? process.cwd();
|
|
189
99
|
const { nodeVersions = [detectNodeVersion(projectRoot)], os = [DEFAULT_RUNNER_OS], packageManager = detectPackageManager(projectRoot), enableCoverage = false, coverageProvider = 'codecov', codecovTokenSecret = 'CODECOV_TOKEN', matrixFailFast = false, } = options;
|
|
190
|
-
// Determine if we should use matrix strategy
|
|
191
|
-
const useMatrix = options.useMatrix ?? (nodeVersions.length > 1 || os.length > 1);
|
|
192
100
|
const jobs = {};
|
|
193
101
|
const phases = config.validation.phases;
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
102
|
+
// Single validate job - runs all validation steps sequentially (like local)
|
|
103
|
+
const jobSteps = [
|
|
104
|
+
{
|
|
105
|
+
uses: ACTIONS_CHECKOUT_V4,
|
|
106
|
+
with: {
|
|
107
|
+
[WORKFLOW_PROPERTY_FETCH_DEPTH]: 0 // Fetch all history for git-based checks (doctor command)
|
|
108
|
+
}
|
|
109
|
+
},
|
|
110
|
+
];
|
|
111
|
+
// Setup package manager
|
|
112
|
+
if (packageManager === 'bun') {
|
|
113
|
+
jobSteps.push({
|
|
114
|
+
name: 'Setup Bun',
|
|
115
|
+
uses: ACTIONS_SETUP_BUN_V2,
|
|
116
|
+
});
|
|
117
|
+
}
|
|
118
|
+
else if (packageManager === 'pnpm') {
|
|
119
|
+
jobSteps.push({
|
|
120
|
+
name: STEP_NAME_SETUP_PNPM,
|
|
121
|
+
uses: ACTIONS_SETUP_PNPM_V2,
|
|
122
|
+
with: { version: '9' },
|
|
123
|
+
});
|
|
124
|
+
}
|
|
125
|
+
// Setup Node.js with matrix variable
|
|
126
|
+
// Important: Even for Bun projects, Node.js setup ensures compatibility testing
|
|
127
|
+
// across versions that npm package consumers will use
|
|
128
|
+
const nodeCacheConfig = packageManager === 'bun' ? {} : { cache: packageManager };
|
|
129
|
+
jobSteps.push({
|
|
130
|
+
name: 'Setup Node.js ${{ matrix.node }}',
|
|
131
|
+
uses: ACTIONS_SETUP_NODE_V4,
|
|
132
|
+
with: {
|
|
133
|
+
[WORKFLOW_PROPERTY_NODE_VERSION]: '${{ matrix.node }}',
|
|
134
|
+
...nodeCacheConfig,
|
|
135
|
+
},
|
|
136
|
+
});
|
|
137
|
+
// Install dependencies
|
|
138
|
+
jobSteps.push({
|
|
139
|
+
name: 'Install dependencies',
|
|
140
|
+
run: getInstallCommand(packageManager),
|
|
141
|
+
});
|
|
142
|
+
// Add build step if needed (common pattern)
|
|
143
|
+
const hasBuildPhase = phases.some(p => p.steps.some(s => s.name.toLowerCase().includes('build')));
|
|
144
|
+
if (hasBuildPhase) {
|
|
145
|
+
jobSteps.push({
|
|
146
|
+
name: STEP_NAME_BUILD_PACKAGES,
|
|
147
|
+
run: getBuildCommand(packageManager),
|
|
148
|
+
});
|
|
149
|
+
}
|
|
150
|
+
// Run validation - use exit code to determine success/failure
|
|
151
|
+
// No need for YAML output, grep checks, or platform-specific logic
|
|
152
|
+
// GitHub Actions will automatically fail the job if exit code != 0
|
|
153
|
+
jobSteps.push({
|
|
154
|
+
name: 'Run validation',
|
|
155
|
+
run: getValidateCommand(packageManager),
|
|
156
|
+
env: {
|
|
157
|
+
GH_TOKEN: '${{ github.token }}',
|
|
158
|
+
},
|
|
159
|
+
});
|
|
160
|
+
jobs['validate'] = {
|
|
161
|
+
name: 'Run vibe-validate validation',
|
|
162
|
+
'runs-on': '${{ matrix.os }}',
|
|
163
|
+
steps: jobSteps,
|
|
164
|
+
strategy: {
|
|
165
|
+
'fail-fast': matrixFailFast,
|
|
166
|
+
matrix: {
|
|
167
|
+
os,
|
|
168
|
+
node: nodeVersions,
|
|
169
|
+
},
|
|
170
|
+
},
|
|
171
|
+
};
|
|
172
|
+
// Add coverage job if enabled (separate, runs on ubuntu only)
|
|
173
|
+
if (enableCoverage) {
|
|
174
|
+
const coverageSteps = [
|
|
197
175
|
{
|
|
198
176
|
uses: ACTIONS_CHECKOUT_V4,
|
|
199
177
|
with: {
|
|
@@ -201,219 +179,62 @@ export function generateWorkflow(config, options = {}) {
|
|
|
201
179
|
}
|
|
202
180
|
},
|
|
203
181
|
];
|
|
204
|
-
// Setup package manager
|
|
205
182
|
if (packageManager === 'bun') {
|
|
206
|
-
|
|
183
|
+
coverageSteps.push({
|
|
207
184
|
name: 'Setup Bun',
|
|
208
185
|
uses: ACTIONS_SETUP_BUN_V2,
|
|
209
186
|
});
|
|
210
187
|
}
|
|
211
188
|
else if (packageManager === 'pnpm') {
|
|
212
|
-
|
|
189
|
+
coverageSteps.push({
|
|
213
190
|
name: STEP_NAME_SETUP_PNPM,
|
|
214
191
|
uses: ACTIONS_SETUP_PNPM_V2,
|
|
215
192
|
with: { version: '9' },
|
|
216
193
|
});
|
|
217
194
|
}
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
});
|
|
230
|
-
// Install dependencies
|
|
231
|
-
jobSteps.push({
|
|
195
|
+
if (packageManager !== 'bun') {
|
|
196
|
+
coverageSteps.push({
|
|
197
|
+
name: 'Setup Node.js',
|
|
198
|
+
uses: ACTIONS_SETUP_NODE_V4,
|
|
199
|
+
with: {
|
|
200
|
+
[WORKFLOW_PROPERTY_NODE_VERSION]: nodeVersions[0],
|
|
201
|
+
cache: packageManager,
|
|
202
|
+
},
|
|
203
|
+
});
|
|
204
|
+
}
|
|
205
|
+
coverageSteps.push({
|
|
232
206
|
name: 'Install dependencies',
|
|
233
207
|
run: getInstallCommand(packageManager),
|
|
234
208
|
});
|
|
235
|
-
// Add build step if needed (common pattern)
|
|
236
|
-
const hasBuildPhase = phases.some(p => p.steps.some(s => s.name.toLowerCase().includes('build')));
|
|
237
209
|
if (hasBuildPhase) {
|
|
238
|
-
|
|
210
|
+
coverageSteps.push({
|
|
239
211
|
name: STEP_NAME_BUILD_PACKAGES,
|
|
240
212
|
run: getBuildCommand(packageManager),
|
|
241
213
|
});
|
|
242
214
|
}
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
jobSteps.push({
|
|
247
|
-
name: 'Run validation',
|
|
248
|
-
run: getValidateCommand(packageManager),
|
|
249
|
-
env: {
|
|
250
|
-
GH_TOKEN: '${{ github.token }}',
|
|
251
|
-
},
|
|
215
|
+
coverageSteps.push({
|
|
216
|
+
name: 'Run tests with coverage',
|
|
217
|
+
run: getCoverageCommand(packageManager),
|
|
252
218
|
});
|
|
253
|
-
|
|
254
|
-
name: 'Run vibe-validate validation',
|
|
255
|
-
'runs-on': '${{ matrix.os }}',
|
|
256
|
-
steps: jobSteps,
|
|
257
|
-
strategy: {
|
|
258
|
-
'fail-fast': matrixFailFast,
|
|
259
|
-
matrix: {
|
|
260
|
-
os,
|
|
261
|
-
node: nodeVersions,
|
|
262
|
-
},
|
|
263
|
-
},
|
|
264
|
-
};
|
|
265
|
-
// Add coverage job if enabled (separate, runs on ubuntu only)
|
|
266
|
-
if (enableCoverage) {
|
|
267
|
-
const coverageSteps = [
|
|
268
|
-
{
|
|
269
|
-
uses: ACTIONS_CHECKOUT_V4,
|
|
270
|
-
with: {
|
|
271
|
-
[WORKFLOW_PROPERTY_FETCH_DEPTH]: 0 // Fetch all history for git-based checks (doctor command)
|
|
272
|
-
}
|
|
273
|
-
},
|
|
274
|
-
];
|
|
275
|
-
if (packageManager === 'bun') {
|
|
276
|
-
coverageSteps.push({
|
|
277
|
-
name: 'Setup Bun',
|
|
278
|
-
uses: ACTIONS_SETUP_BUN_V2,
|
|
279
|
-
});
|
|
280
|
-
}
|
|
281
|
-
else if (packageManager === 'pnpm') {
|
|
282
|
-
coverageSteps.push({
|
|
283
|
-
name: STEP_NAME_SETUP_PNPM,
|
|
284
|
-
uses: ACTIONS_SETUP_PNPM_V2,
|
|
285
|
-
with: { version: '9' },
|
|
286
|
-
});
|
|
287
|
-
}
|
|
288
|
-
if (packageManager !== 'bun') {
|
|
289
|
-
coverageSteps.push({
|
|
290
|
-
name: 'Setup Node.js',
|
|
291
|
-
uses: ACTIONS_SETUP_NODE_V4,
|
|
292
|
-
with: {
|
|
293
|
-
[WORKFLOW_PROPERTY_NODE_VERSION]: nodeVersions[0],
|
|
294
|
-
cache: packageManager,
|
|
295
|
-
},
|
|
296
|
-
});
|
|
297
|
-
}
|
|
298
|
-
coverageSteps.push({
|
|
299
|
-
name: 'Install dependencies',
|
|
300
|
-
run: getInstallCommand(packageManager),
|
|
301
|
-
});
|
|
302
|
-
if (hasBuildPhase) {
|
|
303
|
-
coverageSteps.push({
|
|
304
|
-
name: STEP_NAME_BUILD_PACKAGES,
|
|
305
|
-
run: getBuildCommand(packageManager),
|
|
306
|
-
});
|
|
307
|
-
}
|
|
219
|
+
if (coverageProvider === 'codecov') {
|
|
308
220
|
coverageSteps.push({
|
|
309
|
-
name: '
|
|
310
|
-
|
|
221
|
+
name: 'Upload coverage to Codecov',
|
|
222
|
+
uses: 'codecov/codecov-action@v4',
|
|
223
|
+
with: {
|
|
224
|
+
token: `\${{ secrets.${codecovTokenSecret} }}`,
|
|
225
|
+
files: './coverage/coverage-final.json',
|
|
226
|
+
'fail_ci_if_error': false,
|
|
227
|
+
},
|
|
311
228
|
});
|
|
312
|
-
if (coverageProvider === 'codecov') {
|
|
313
|
-
coverageSteps.push({
|
|
314
|
-
name: 'Upload coverage to Codecov',
|
|
315
|
-
uses: 'codecov/codecov-action@v4',
|
|
316
|
-
with: {
|
|
317
|
-
token: `\${{ secrets.${codecovTokenSecret} }}`,
|
|
318
|
-
files: './coverage/coverage-final.json',
|
|
319
|
-
'fail_ci_if_error': false,
|
|
320
|
-
},
|
|
321
|
-
});
|
|
322
|
-
}
|
|
323
|
-
jobs['validate-coverage'] = {
|
|
324
|
-
name: 'Run validation with coverage',
|
|
325
|
-
'runs-on': DEFAULT_RUNNER_OS,
|
|
326
|
-
steps: coverageSteps,
|
|
327
|
-
};
|
|
328
|
-
}
|
|
329
|
-
}
|
|
330
|
-
else {
|
|
331
|
-
// Non-matrix: Create jobs based on parallel flag
|
|
332
|
-
// - parallel: false → One job per phase (phase-based grouping)
|
|
333
|
-
// - parallel: true → One job per step (step-based parallelism)
|
|
334
|
-
let previousJobIds;
|
|
335
|
-
for (const phase of phases) {
|
|
336
|
-
// Determine needs based on previous phase
|
|
337
|
-
const needs = previousJobIds;
|
|
338
|
-
if (phase.parallel === false) {
|
|
339
|
-
// Phase-based grouping: ONE job with sequential workflow steps
|
|
340
|
-
const phaseJobId = toJobId(phase.name);
|
|
341
|
-
const jobSteps = createCommonJobSetupSteps(nodeVersions[0], packageManager);
|
|
342
|
-
// Add bootstrap build if this phase has a build step
|
|
343
|
-
const hasBuildStep = phase.steps.some(s => s.name.toLowerCase().includes('build'));
|
|
344
|
-
if (hasBuildStep) {
|
|
345
|
-
jobSteps.push({
|
|
346
|
-
name: STEP_NAME_BUILD_PACKAGES,
|
|
347
|
-
run: getBuildCommand(packageManager),
|
|
348
|
-
});
|
|
349
|
-
}
|
|
350
|
-
// Add each step as a separate workflow step
|
|
351
|
-
for (const step of phase.steps) {
|
|
352
|
-
const stepWorkflowStep = {
|
|
353
|
-
name: step.name,
|
|
354
|
-
run: step.command,
|
|
355
|
-
};
|
|
356
|
-
// Add working directory if specified (relative to git root)
|
|
357
|
-
if (step.cwd) {
|
|
358
|
-
stepWorkflowStep['working-directory'] = step.cwd;
|
|
359
|
-
}
|
|
360
|
-
// Add environment variables from step config
|
|
361
|
-
if (step.env) {
|
|
362
|
-
stepWorkflowStep.env = { ...step.env };
|
|
363
|
-
}
|
|
364
|
-
jobSteps.push(stepWorkflowStep);
|
|
365
|
-
// Add coverage reporting if enabled
|
|
366
|
-
addCoverageReportingSteps(jobSteps, step.name, enableCoverage, coverageProvider);
|
|
367
|
-
}
|
|
368
|
-
jobs[phaseJobId] = {
|
|
369
|
-
name: phase.name,
|
|
370
|
-
'runs-on': os[0],
|
|
371
|
-
...(needs && { needs }),
|
|
372
|
-
steps: jobSteps,
|
|
373
|
-
};
|
|
374
|
-
// Next phase depends on this phase job
|
|
375
|
-
previousJobIds = [phaseJobId];
|
|
376
|
-
}
|
|
377
|
-
else {
|
|
378
|
-
// Step-based parallelism: Separate job for each step (existing behavior)
|
|
379
|
-
const stepJobIds = [];
|
|
380
|
-
for (const step of phase.steps) {
|
|
381
|
-
const jobId = toJobId(step.name);
|
|
382
|
-
stepJobIds.push(jobId);
|
|
383
|
-
const jobSteps = createCommonJobSetupSteps(nodeVersions[0], packageManager);
|
|
384
|
-
// Add the actual validation command
|
|
385
|
-
const testStep = { run: step.command };
|
|
386
|
-
// Add working directory if specified (relative to git root)
|
|
387
|
-
if (step.cwd) {
|
|
388
|
-
testStep['working-directory'] = step.cwd;
|
|
389
|
-
}
|
|
390
|
-
// Add environment variables from step config
|
|
391
|
-
if (step.env) {
|
|
392
|
-
testStep.env = { ...step.env };
|
|
393
|
-
}
|
|
394
|
-
jobSteps.push(testStep);
|
|
395
|
-
// Add coverage reporting if enabled
|
|
396
|
-
addCoverageReportingSteps(jobSteps, step.name, enableCoverage, coverageProvider);
|
|
397
|
-
jobs[jobId] = {
|
|
398
|
-
name: step.name,
|
|
399
|
-
'runs-on': os[0],
|
|
400
|
-
...(needs && { needs }),
|
|
401
|
-
steps: jobSteps,
|
|
402
|
-
};
|
|
403
|
-
}
|
|
404
|
-
// Next phase depends on ALL step jobs from this phase
|
|
405
|
-
previousJobIds = stepJobIds;
|
|
406
|
-
}
|
|
407
229
|
}
|
|
230
|
+
jobs['validate-coverage'] = {
|
|
231
|
+
name: 'Run validation with coverage',
|
|
232
|
+
'runs-on': DEFAULT_RUNNER_OS,
|
|
233
|
+
steps: coverageSteps,
|
|
234
|
+
};
|
|
408
235
|
}
|
|
409
236
|
// Add gate job - all validation must pass
|
|
410
|
-
|
|
411
|
-
if (useMatrix) {
|
|
412
|
-
allJobs = enableCoverage ? ['validate', 'validate-coverage'] : ['validate'];
|
|
413
|
-
}
|
|
414
|
-
else {
|
|
415
|
-
allJobs = getAllJobIds(phases);
|
|
416
|
-
}
|
|
237
|
+
const allJobs = enableCoverage ? ['validate', 'validate-coverage'] : ['validate'];
|
|
417
238
|
jobs['all-validation-passed'] = {
|
|
418
239
|
name: 'All Validation Passed',
|
|
419
240
|
'runs-on': DEFAULT_RUNNER_OS,
|
|
@@ -597,10 +418,9 @@ The \`generate-workflow\` command generates a \`.github/workflows/validate.yml\`
|
|
|
597
418
|
## How It Works
|
|
598
419
|
|
|
599
420
|
1. Reads vibe-validate.config.yaml configuration
|
|
600
|
-
2. Generates
|
|
601
|
-
3. Supports matrix
|
|
602
|
-
4.
|
|
603
|
-
5. Can check if workflow is in sync with config
|
|
421
|
+
2. Generates a single validate job matching local behavior
|
|
422
|
+
3. Supports matrix strategy for multiple Node/OS versions
|
|
423
|
+
4. Can check if workflow is in sync with config
|
|
604
424
|
|
|
605
425
|
## Options
|
|
606
426
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generate-workflow.js","sourceRoot":"","sources":["../../src/commands/generate-workflow.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"generate-workflow.js","sourceRoot":"","sources":["../../src/commands/generate-workflow.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pre-commit.d.ts","sourceRoot":"","sources":["../../src/commands/pre-commit.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAYH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAqEzC,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,
|
|
1
|
+
{"version":3,"file":"pre-commit.d.ts","sourceRoot":"","sources":["../../src/commands/pre-commit.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAYH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAqEzC,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CA0NvD;AAED;;GAEG;AACH,wBAAgB,wBAAwB,IAAI,IAAI,CA6L/C"}
|
|
@@ -201,17 +201,34 @@ export function preCommitCommand(program) {
|
|
|
201
201
|
waitEnabled: true, // Always wait for running validation
|
|
202
202
|
waitTimeout: 30, // Shorter timeout than validate command (30s vs 300s)
|
|
203
203
|
yaml: false // Pre-commit uses human-readable output
|
|
204
|
-
}, async ({ config, context }) => {
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
}
|
|
214
|
-
|
|
204
|
+
}, async ({ config, configDir, context, treeHashResult: lockTreeHashResult }) => {
|
|
205
|
+
// CRITICAL (Issue #129): Change to project root directory
|
|
206
|
+
// This ensures validation steps run in the project root (where config lives),
|
|
207
|
+
// not in process.cwd() where the user happens to be
|
|
208
|
+
const originalCwd = process.cwd();
|
|
209
|
+
try {
|
|
210
|
+
// Only chdir if configDir is different from current directory
|
|
211
|
+
if (configDir !== originalCwd) {
|
|
212
|
+
process.chdir(configDir);
|
|
213
|
+
}
|
|
214
|
+
return await runValidateWorkflow(config, {
|
|
215
|
+
force: false, // Respect cache by default
|
|
216
|
+
verbose,
|
|
217
|
+
yaml: false, // Pre-commit uses human-readable output
|
|
218
|
+
check: false,
|
|
219
|
+
context: {
|
|
220
|
+
...context,
|
|
221
|
+
isPreCommit: true, // Signal this is pre-commit workflow
|
|
222
|
+
},
|
|
223
|
+
treeHashResult: lockTreeHashResult,
|
|
224
|
+
});
|
|
225
|
+
}
|
|
226
|
+
finally {
|
|
227
|
+
// Always restore original directory, even on error
|
|
228
|
+
if (configDir !== originalCwd) {
|
|
229
|
+
process.chdir(originalCwd);
|
|
230
|
+
}
|
|
231
|
+
}
|
|
215
232
|
});
|
|
216
233
|
// Step 9: Report results
|
|
217
234
|
if (result.passed) {
|