Skip to content

fix(ci): ensure build runs before tests in workflows #1

fix(ci): ensure build runs before tests in workflows

fix(ci): ensure build runs before tests in workflows #1

Triggered via pull request September 6, 2025 15:45
Status Failure
Total duration 48s
Artifacts

ci.yml

on: pull_request
Matrix: test
Lint & Type Check
16s
Lint & Type Check
Validate Changesets
17s
Validate Changesets
All checks passed
2s
All checks passed
Fit to window
Zoom out
Zoom in

Annotations

16 errors, 1 warning, and 1 notice
Test (Node 22)
Process completed with exit code 1.
test/commands/validate.enriched-output.test.ts > validate command enriched human output > prints Next steps footer and guidance on invalid change: test/commands/validate.enriched-output.test.ts#L44
AssertionError: expected 'file:///home/runner/work/OpenSpec/Ope…' to contain 'has issues' - Expected + Received - has issues + file:///home/runner/work/OpenSpec/OpenSpec/dist/cli/index.js:9 + import { ListCommand } from '../core/list.js'; + ^^^^^^^^^^^ + SyntaxError: The requested module '../core/list.js' does not provide an export named 'ListCommand' + at ModuleJob._instantiate (node:internal/modules/esm/module_job:228:21) + at async ModuleJob.run (node:internal/modules/esm/module_job:337:5) + at async onImport.tracePromise.__proto__ (node:internal/modules/esm/loader:651:26) + at async asyncRunEntryPointWithESMLoader (node:internal/modules/run_main:117:5) + + Node.js v22.19.0 + ❯ test/commands/validate.enriched-output.test.ts:44:22
Test (Node 18)
Process completed with exit code 1.
test/commands/spec.test.ts > spec command > error handling > should honor --no-color (no ANSI escapes): test/commands/spec.test.ts#L319
Error: Command failed: node /home/runner/work/OpenSpec/OpenSpec/bin/openspec.js --no-color spec list --long node:internal/errors:496 ErrorCaptureStackTrace(err); ^ Error [ERR_MODULE_NOT_FOUND]: Cannot find module '/home/runner/work/OpenSpec/OpenSpec/dist/commands/change.js' imported from /home/runner/work/OpenSpec/OpenSpec/dist/cli/index.js at new NodeError (node:internal/errors:405:5) at finalizeResolution (node:internal/modules/esm/resolve:327:11) at moduleResolve (node:internal/modules/esm/resolve:980:10) at defaultResolve (node:internal/modules/esm/resolve:1206:11) at ModuleLoader.defaultResolve (node:internal/modules/esm/loader:404:12) at ModuleLoader.resolve (node:internal/modules/esm/loader:373:25) at ModuleLoader.getModuleJob (node:internal/modules/esm/loader:250:38) at ModuleWrap.<anonymous> (node:internal/modules/esm/module_job:76:39) at link (node:internal/modules/esm/module_job:75:36) { url: 'file:///home/runner/work/OpenSpec/OpenSpec/dist/commands/change.js', code: 'ERR_MODULE_NOT_FOUND' } Node.js v18.20.8 ❯ test/commands/spec.test.ts:319:24 ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯ Serialized Error: { status: 1, signal: null, output: [ null, '', 'node:internal/errors:496\n ErrorCaptureStackTrace(err);\n ^\n\nError [ERR_MODULE_NOT_FOUND]: Cannot find module \'/home/runner/work/OpenSpec/OpenSpec/dist/commands/change.js\' imported from /home/runner/work/OpenSpec/OpenSpec/dist/cli/index.js\n at new NodeError (node:internal/errors:405:5)\n at finalizeResolution (node:internal/modules/esm/resolve:327:11)\n at moduleResolve (node:internal/modules/esm/resolve:980:10)\n at defaultResolve (node:internal/modules/esm/resolve:1206:11)\n at ModuleLoader.defaultResolve (node:internal/modules/esm/loader:404:12)\n at ModuleLoader.resolve (node:internal/modules/esm/loader:373:25)\n at ModuleLoader.getModuleJob (node:internal/modules/esm/loader:250:38)\n at ModuleWrap.<anonymous> (node:internal/modules/esm/module_job:76:39)\n at link (node:internal/modules/esm/module_job:75:36) {\n url: \'file:///home/runner/work/OpenSpec/OpenSpec/dist/commands/change.js\',\n code: \'ERR_MODULE_NOT_FOUND\'\n}\n\nNode.js v18.20.8\n' ], pid: 3250, stdout: '', stderr: 'node:internal/errors:496\n ErrorCaptureStackTrace(err);\n ^\n\nError [ERR_MODULE_NOT_FOUND]: Cannot find module \'/home/runner/work/OpenSpec/OpenSpec/dist/commands/change.js\' imported from /home/runner/work/OpenSpec/OpenSpec/dist/cli/index.js\n at new NodeError (node:internal/errors:405:5)\n at finalizeResolution (node:internal/modules/esm/resolve:327:11)\n at moduleResolve (node:internal/modules/esm/resolve:980:10)\n at defaultResolve (node:internal/modules/esm/resolve:1206:11)\n at ModuleLoader.defaultResolve (node:internal/modules/esm/loader:404:12)\n at ModuleLoader.resolve (node:internal/modules/esm/loader:373:25)\n at ModuleLoader.getModuleJob (node:internal/modules/esm/loader:250:38)\n at ModuleWrap.<anonymous> (node:internal/modules/esm/module_job:76:39)\n at link (node:internal/modules/esm/module_job:75:36) {\n url: \'file:///home/runner/work/OpenSpec/OpenSpec/dist/commands/change.js\',\n code: \'ERR_MODULE_NOT_FOUND\'\n}\n\nNode.js v18.20.8\n' }
test/commands/spec.test.ts > spec command > error handling > should honor --no-color (no ANSI escapes): test/commands/spec.test.ts#L319
Error: Command failed: node /Users/runner/work/OpenSpec/OpenSpec/bin/openspec.js --no-color spec list --long node:internal/modules/esm/resolve:283 throw new ERR_MODULE_NOT_FOUND( ^ Error [ERR_MODULE_NOT_FOUND]: Cannot find module '/Users/runner/work/OpenSpec/OpenSpec/dist/cli/index.js' imported from /Users/runner/work/OpenSpec/OpenSpec/bin/openspec.js at finalizeResolution (node:internal/modules/esm/resolve:283:11) at moduleResolve (node:internal/modules/esm/resolve:952:10) at defaultResolve (node:internal/modules/esm/resolve:1188:11) at ModuleLoader.defaultResolve (node:internal/modules/esm/loader:642:12) at #cachedDefaultResolve (node:internal/modules/esm/loader:591:25) at ModuleLoader.resolve (node:internal/modules/esm/loader:574:38) at ModuleLoader.getModuleJobForImport (node:internal/modules/esm/loader:236:38) at ModuleJob._link (node:internal/modules/esm/module_job:130:49) { code: 'ERR_MODULE_NOT_FOUND', url: 'file:///Users/runner/work/OpenSpec/OpenSpec/dist/cli/index.js' } Node.js v20.19.4 ❯ test/commands/spec.test.ts:319:24 ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯ Serialized Error: { status: 1, signal: null, output: [ null, '', 'node:internal/modules/esm/resolve:283\n throw new ERR_MODULE_NOT_FOUND(\n ^\n\nError [ERR_MODULE_NOT_FOUND]: Cannot find module \'/Users/runner/work/OpenSpec/OpenSpec/dist/cli/index.js\' imported from /Users/runner/work/OpenSpec/OpenSpec/bin/openspec.js\n at finalizeResolution (node:internal/modules/esm/resolve:283:11)\n at moduleResolve (node:internal/modules/esm/resolve:952:10)\n at defaultResolve (node:internal/modules/esm/resolve:1188:11)\n at ModuleLoader.defaultResolve (node:internal/modules/esm/loader:642:12)\n at #cachedDefaultResolve (node:internal/modules/esm/loader:591:25)\n at ModuleLoader.resolve (node:internal/modules/esm/loader:574:38)\n at ModuleLoader.getModuleJobForImport (node:internal/modules/esm/loader:236:38)\n at ModuleJob._link (node:internal/modules/esm/module_job:130:49) {\n code: \'ERR_MODULE_NOT_FOUND\',\n url: \'file:///Users/runner/work/OpenSpec/OpenSpec/dist/cli/index.js\'\n}\n\nNode.js v20.19.4\n' ], pid: 1639, stdout: '', stderr: 'node:internal/modules/esm/resolve:283\n throw new ERR_MODULE_NOT_FOUND(\n ^\n\nError [ERR_MODULE_NOT_FOUND]: Cannot find module \'/Users/runner/work/OpenSpec/OpenSpec/dist/cli/index.js\' imported from /Users/runner/work/OpenSpec/OpenSpec/bin/openspec.js\n at finalizeResolution (node:internal/modules/esm/resolve:283:11)\n at moduleResolve (node:internal/modules/esm/resolve:952:10)\n at defaultResolve (node:internal/modules/esm/resolve:1188:11)\n at ModuleLoader.defaultResolve (node:internal/modules/esm/loader:642:12)\n at #cachedDefaultResolve (node:internal/modules/esm/loader:591:25)\n at ModuleLoader.resolve (node:internal/modules/esm/loader:574:38)\n at ModuleLoader.getModuleJobForImport (node:internal/modules/esm/loader:236:38)\n at ModuleJob._link (node:internal/modules/esm/module_job:130:49) {\n code: \'ERR_MODULE_NOT_FOUND\',\n url: \'file:///Users/runner/work/OpenSpec/OpenSpec/dist/cli/index.js\'\n}\n\nNode.js v20.19.4\n' }
test/commands/spec.test.ts > spec command > error handling > should handle missing specs directory gracefully: test/commands/spec.test.ts#L308
Error: Command failed: node /Users/runner/work/OpenSpec/OpenSpec/bin/openspec.js spec list node:internal/modules/esm/resolve:283 throw new ERR_MODULE_NOT_FOUND( ^ Error [ERR_MODULE_NOT_FOUND]: Cannot find module '/Users/runner/work/OpenSpec/OpenSpec/dist/cli/index.js' imported from /Users/runner/work/OpenSpec/OpenSpec/bin/openspec.js at finalizeResolution (node:internal/modules/esm/resolve:283:11) at moduleResolve (node:internal/modules/esm/resolve:952:10) at defaultResolve (node:internal/modules/esm/resolve:1188:11) at ModuleLoader.defaultResolve (node:internal/modules/esm/loader:642:12) at #cachedDefaultResolve (node:internal/modules/esm/loader:591:25) at ModuleLoader.resolve (node:internal/modules/esm/loader:574:38) at ModuleLoader.getModuleJobForImport (node:internal/modules/esm/loader:236:38) at ModuleJob._link (node:internal/modules/esm/module_job:130:49) { code: 'ERR_MODULE_NOT_FOUND', url: 'file:///Users/runner/work/OpenSpec/OpenSpec/dist/cli/index.js' } Node.js v20.19.4 ❯ test/commands/spec.test.ts:308:24 ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯ Serialized Error: { status: 1, signal: null, output: [ null, '', 'node:internal/modules/esm/resolve:283\n throw new ERR_MODULE_NOT_FOUND(\n ^\n\nError [ERR_MODULE_NOT_FOUND]: Cannot find module \'/Users/runner/work/OpenSpec/OpenSpec/dist/cli/index.js\' imported from /Users/runner/work/OpenSpec/OpenSpec/bin/openspec.js\n at finalizeResolution (node:internal/modules/esm/resolve:283:11)\n at moduleResolve (node:internal/modules/esm/resolve:952:10)\n at defaultResolve (node:internal/modules/esm/resolve:1188:11)\n at ModuleLoader.defaultResolve (node:internal/modules/esm/loader:642:12)\n at #cachedDefaultResolve (node:internal/modules/esm/loader:591:25)\n at ModuleLoader.resolve (node:internal/modules/esm/loader:574:38)\n at ModuleLoader.getModuleJobForImport (node:internal/modules/esm/loader:236:38)\n at ModuleJob._link (node:internal/modules/esm/module_job:130:49) {\n code: \'ERR_MODULE_NOT_FOUND\',\n url: \'file:///Users/runner/work/OpenSpec/OpenSpec/dist/cli/index.js\'\n}\n\nNode.js v20.19.4\n' ], pid: 1637, stdout: '', stderr: 'node:internal/modules/esm/resolve:283\n throw new ERR_MODULE_NOT_FOUND(\n ^\n\nError [ERR_MODULE_NOT_FOUND]: Cannot find module \'/Users/runner/work/OpenSpec/OpenSpec/dist/cli/index.js\' imported from /Users/runner/work/OpenSpec/OpenSpec/bin/openspec.js\n at finalizeResolution (node:internal/modules/esm/resolve:283:11)\n at moduleResolve (node:internal/modules/esm/resolve:952:10)\n at defaultResolve (node:internal/modules/esm/resolve:1188:11)\n at ModuleLoader.defaultResolve (node:internal/modules/esm/loader:642:12)\n at #cachedDefaultResolve (node:internal/modules/esm/loader:591:25)\n at ModuleLoader.resolve (node:internal/modules/esm/loader:574:38)\n at ModuleLoader.getModuleJobForImport (node:internal/modules/esm/loader:236:38)\n at ModuleJob._link (node:internal/modules/esm/module_job:130:49) {\n code: \'ERR_MODULE_NOT_FOUND\',\n url: \'file:///Users/runner/work/OpenSpec/OpenSpec/dist/cli/index.js\'\n}\n\nNode.js v20.19.4\n' }
test/commands/spec.test.ts > spec command > error handling > should handle non-existent spec gracefully: test/commands/spec.test.ts#L297
AssertionError: expected 'node:internal/modules/esm/resolve:283…' to contain 'not found' - Expected + Received - not found + node:internal/modules/esm/resolve:283 + throw new ERR_MODULE_NOT_FOUND( + ^ + + Error [ERR_MODULE_NOT_FOUND]: Cannot find module '/Users/runner/work/OpenSpec/OpenSpec/dist/cli/index.js' imported from /Users/runner/work/OpenSpec/OpenSpec/bin/openspec.js + at finalizeResolution (node:internal/modules/esm/resolve:283:11) + at moduleResolve (node:internal/modules/esm/resolve:952:10) + at defaultResolve (node:internal/modules/esm/resolve:1188:11) + at ModuleLoader.defaultResolve (node:internal/modules/esm/loader:642:12) + at #cachedDefaultResolve (node:internal/modules/esm/loader:591:25) + at ModuleLoader.resolve (node:internal/modules/esm/loader:574:38) + at ModuleLoader.getModuleJobForImport (node:internal/modules/esm/loader:236:38) + at ModuleJob._link (node:internal/modules/esm/module_job:130:49) { + code: 'ERR_MODULE_NOT_FOUND', + url: 'file:///Users/runner/work/OpenSpec/OpenSpec/dist/cli/index.js' + } + + Node.js v20.19.4 + ❯ test/commands/spec.test.ts:297:41
test/commands/spec.test.ts > spec command > spec validate > should validate with strict mode: test/commands/spec.test.ts#L238
Error: Command failed: node /Users/runner/work/OpenSpec/OpenSpec/bin/openspec.js spec validate auth --strict --json node:internal/modules/esm/resolve:283 throw new ERR_MODULE_NOT_FOUND( ^ Error [ERR_MODULE_NOT_FOUND]: Cannot find module '/Users/runner/work/OpenSpec/OpenSpec/dist/cli/index.js' imported from /Users/runner/work/OpenSpec/OpenSpec/bin/openspec.js at finalizeResolution (node:internal/modules/esm/resolve:283:11) at moduleResolve (node:internal/modules/esm/resolve:952:10) at defaultResolve (node:internal/modules/esm/resolve:1188:11) at ModuleLoader.defaultResolve (node:internal/modules/esm/loader:642:12) at #cachedDefaultResolve (node:internal/modules/esm/loader:591:25) at ModuleLoader.resolve (node:internal/modules/esm/loader:574:38) at ModuleLoader.getModuleJobForImport (node:internal/modules/esm/loader:236:38) at ModuleJob._link (node:internal/modules/esm/module_job:130:49) { code: 'ERR_MODULE_NOT_FOUND', url: 'file:///Users/runner/work/OpenSpec/OpenSpec/dist/cli/index.js' } Node.js v20.19.4 ❯ test/commands/spec.test.ts:238:24 ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯ Serialized Error: { status: 1, signal: null, output: [ null, '', 'node:internal/modules/esm/resolve:283\n throw new ERR_MODULE_NOT_FOUND(\n ^\n\nError [ERR_MODULE_NOT_FOUND]: Cannot find module \'/Users/runner/work/OpenSpec/OpenSpec/dist/cli/index.js\' imported from /Users/runner/work/OpenSpec/OpenSpec/bin/openspec.js\n at finalizeResolution (node:internal/modules/esm/resolve:283:11)\n at moduleResolve (node:internal/modules/esm/resolve:952:10)\n at defaultResolve (node:internal/modules/esm/resolve:1188:11)\n at ModuleLoader.defaultResolve (node:internal/modules/esm/loader:642:12)\n at #cachedDefaultResolve (node:internal/modules/esm/loader:591:25)\n at ModuleLoader.resolve (node:internal/modules/esm/loader:574:38)\n at ModuleLoader.getModuleJobForImport (node:internal/modules/esm/loader:236:38)\n at ModuleJob._link (node:internal/modules/esm/module_job:130:49) {\n code: \'ERR_MODULE_NOT_FOUND\',\n url: \'file:///Users/runner/work/OpenSpec/OpenSpec/dist/cli/index.js\'\n}\n\nNode.js v20.19.4\n' ], pid: 1631, stdout: '', stderr: 'node:internal/modules/esm/resolve:283\n throw new ERR_MODULE_NOT_FOUND(\n ^\n\nError [ERR_MODULE_NOT_FOUND]: Cannot find module \'/Users/runner/work/OpenSpec/OpenSpec/dist/cli/index.js\' imported from /Users/runner/work/OpenSpec/OpenSpec/bin/openspec.js\n at finalizeResolution (node:internal/modules/esm/resolve:283:11)\n at moduleResolve (node:internal/modules/esm/resolve:952:10)\n at defaultResolve (node:internal/modules/esm/resolve:1188:11)\n at ModuleLoader.defaultResolve (node:internal/modules/esm/loader:642:12)\n at #cachedDefaultResolve (node:internal/modules/esm/loader:591:25)\n at ModuleLoader.resolve (node:internal/modules/esm/loader:574:38)\n at ModuleLoader.getModuleJobForImport (node:internal/modules/esm/loader:236:38)\n at ModuleJob._link (node:internal/modules/esm/module_job:130:49) {\n code: \'ERR_MODULE_NOT_FOUND\',\n url: \'file:///Users/runner/work/OpenSpec/OpenSpec/dist/cli/index.js\'\n}\n\nNode.js v20.19.4\n' }
test/commands/spec.test.ts > spec command > spec validate > should output validation report as JSON with --json flag: test/commands/spec.test.ts#L219
Error: Command failed: node /Users/runner/work/OpenSpec/OpenSpec/bin/openspec.js spec validate auth --json node:internal/modules/esm/resolve:283 throw new ERR_MODULE_NOT_FOUND( ^ Error [ERR_MODULE_NOT_FOUND]: Cannot find module '/Users/runner/work/OpenSpec/OpenSpec/dist/cli/index.js' imported from /Users/runner/work/OpenSpec/OpenSpec/bin/openspec.js at finalizeResolution (node:internal/modules/esm/resolve:283:11) at moduleResolve (node:internal/modules/esm/resolve:952:10) at defaultResolve (node:internal/modules/esm/resolve:1188:11) at ModuleLoader.defaultResolve (node:internal/modules/esm/loader:642:12) at #cachedDefaultResolve (node:internal/modules/esm/loader:591:25) at ModuleLoader.resolve (node:internal/modules/esm/loader:574:38) at ModuleLoader.getModuleJobForImport (node:internal/modules/esm/loader:236:38) at ModuleJob._link (node:internal/modules/esm/module_job:130:49) { code: 'ERR_MODULE_NOT_FOUND', url: 'file:///Users/runner/work/OpenSpec/OpenSpec/dist/cli/index.js' } Node.js v20.19.4 ❯ test/commands/spec.test.ts:219:24 ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯ Serialized Error: { status: 1, signal: null, output: [ null, '', 'node:internal/modules/esm/resolve:283\n throw new ERR_MODULE_NOT_FOUND(\n ^\n\nError [ERR_MODULE_NOT_FOUND]: Cannot find module \'/Users/runner/work/OpenSpec/OpenSpec/dist/cli/index.js\' imported from /Users/runner/work/OpenSpec/OpenSpec/bin/openspec.js\n at finalizeResolution (node:internal/modules/esm/resolve:283:11)\n at moduleResolve (node:internal/modules/esm/resolve:952:10)\n at defaultResolve (node:internal/modules/esm/resolve:1188:11)\n at ModuleLoader.defaultResolve (node:internal/modules/esm/loader:642:12)\n at #cachedDefaultResolve (node:internal/modules/esm/loader:591:25)\n at ModuleLoader.resolve (node:internal/modules/esm/loader:574:38)\n at ModuleLoader.getModuleJobForImport (node:internal/modules/esm/loader:236:38)\n at ModuleJob._link (node:internal/modules/esm/module_job:130:49) {\n code: \'ERR_MODULE_NOT_FOUND\',\n url: \'file:///Users/runner/work/OpenSpec/OpenSpec/dist/cli/index.js\'\n}\n\nNode.js v20.19.4\n' ], pid: 1628, stdout: '', stderr: 'node:internal/modules/esm/resolve:283\n throw new ERR_MODULE_NOT_FOUND(\n ^\n\nError [ERR_MODULE_NOT_FOUND]: Cannot find module \'/Users/runner/work/OpenSpec/OpenSpec/dist/cli/index.js\' imported from /Users/runner/work/OpenSpec/OpenSpec/bin/openspec.js\n at finalizeResolution (node:internal/modules/esm/resolve:283:11)\n at moduleResolve (node:internal/modules/esm/resolve:952:10)\n at defaultResolve (node:internal/modules/esm/resolve:1188:11)\n at ModuleLoader.defaultResolve (node:internal/modules/esm/loader:642:12)\n at #cachedDefaultResolve (node:internal/modules/esm/loader:591:25)\n at ModuleLoader.resolve (node:internal/modules/esm/loader:574:38)\n at ModuleLoader.getModuleJobForImport (node:internal/modules/esm/loader:236:38)\n at ModuleJob._link (node:internal/modules/esm/module_job:130:49) {\n code: \'ERR_MODULE_NOT_FOUND\',\n url: \'file:///Users/runner/work/OpenSpec/OpenSpec/dist/cli/index.js\'\n}\n\nNode.js v20.19.4\n' }
test/commands/spec.test.ts > spec command > spec validate > should validate a valid spec: test/commands/spec.test.ts#L205
Error: Command failed: node /Users/runner/work/OpenSpec/OpenSpec/bin/openspec.js spec validate auth node:internal/modules/esm/resolve:283 throw new ERR_MODULE_NOT_FOUND( ^ Error [ERR_MODULE_NOT_FOUND]: Cannot find module '/Users/runner/work/OpenSpec/OpenSpec/dist/cli/index.js' imported from /Users/runner/work/OpenSpec/OpenSpec/bin/openspec.js at finalizeResolution (node:internal/modules/esm/resolve:283:11) at moduleResolve (node:internal/modules/esm/resolve:952:10) at defaultResolve (node:internal/modules/esm/resolve:1188:11) at ModuleLoader.defaultResolve (node:internal/modules/esm/loader:642:12) at #cachedDefaultResolve (node:internal/modules/esm/loader:591:25) at ModuleLoader.resolve (node:internal/modules/esm/loader:574:38) at ModuleLoader.getModuleJobForImport (node:internal/modules/esm/loader:236:38) at ModuleJob._link (node:internal/modules/esm/module_job:130:49) { code: 'ERR_MODULE_NOT_FOUND', url: 'file:///Users/runner/work/OpenSpec/OpenSpec/dist/cli/index.js' } Node.js v20.19.4 ❯ test/commands/spec.test.ts:205:24 ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯ Serialized Error: { status: 1, signal: null, output: [ null, '', 'node:internal/modules/esm/resolve:283\n throw new ERR_MODULE_NOT_FOUND(\n ^\n\nError [ERR_MODULE_NOT_FOUND]: Cannot find module \'/Users/runner/work/OpenSpec/OpenSpec/dist/cli/index.js\' imported from /Users/runner/work/OpenSpec/OpenSpec/bin/openspec.js\n at finalizeResolution (node:internal/modules/esm/resolve:283:11)\n at moduleResolve (node:internal/modules/esm/resolve:952:10)\n at defaultResolve (node:internal/modules/esm/resolve:1188:11)\n at ModuleLoader.defaultResolve (node:internal/modules/esm/loader:642:12)\n at #cachedDefaultResolve (node:internal/modules/esm/loader:591:25)\n at ModuleLoader.resolve (node:internal/modules/esm/loader:574:38)\n at ModuleLoader.getModuleJobForImport (node:internal/modules/esm/loader:236:38)\n at ModuleJob._link (node:internal/modules/esm/module_job:130:49) {\n code: \'ERR_MODULE_NOT_FOUND\',\n url: \'file:///Users/runner/work/OpenSpec/OpenSpec/dist/cli/index.js\'\n}\n\nNode.js v20.19.4\n' ], pid: 1621, stdout: '', stderr: 'node:internal/modules/esm/resolve:283\n throw new ERR_MODULE_NOT_FOUND(\n ^\n\nError [ERR_MODULE_NOT_FOUND]: Cannot find module \'/Users/runner/work/OpenSpec/OpenSpec/dist/cli/index.js\' imported from /Users/runner/work/OpenSpec/OpenSpec/bin/openspec.js\n at finalizeResolution (node:internal/modules/esm/resolve:283:11)\n at moduleResolve (node:internal/modules/esm/resolve:952:10)\n at defaultResolve (node:internal/modules/esm/resolve:1188:11)\n at ModuleLoader.defaultResolve (node:internal/modules/esm/loader:642:12)\n at #cachedDefaultResolve (node:internal/modules/esm/loader:591:25)\n at ModuleLoader.resolve (node:internal/modules/esm/loader:574:38)\n at ModuleLoader.getModuleJobForImport (node:internal/modules/esm/loader:236:38)\n at ModuleJob._link (node:internal/modules/esm/module_job:130:49) {\n code: \'ERR_MODULE_NOT_FOUND\',\n url: \'file:///Users/runner/work/OpenSpec/OpenSpec/dist/cli/index.js\'\n}\n\nNode.js v20.19.4\n' }
test/commands/spec.test.ts > spec command > spec list > should output spec list as JSON with --json flag: test/commands/spec.test.ts#L185
Error: Command failed: node /Users/runner/work/OpenSpec/OpenSpec/bin/openspec.js spec list --json node:internal/modules/esm/resolve:283 throw new ERR_MODULE_NOT_FOUND( ^ Error [ERR_MODULE_NOT_FOUND]: Cannot find module '/Users/runner/work/OpenSpec/OpenSpec/dist/cli/index.js' imported from /Users/runner/work/OpenSpec/OpenSpec/bin/openspec.js at finalizeResolution (node:internal/modules/esm/resolve:283:11) at moduleResolve (node:internal/modules/esm/resolve:952:10) at defaultResolve (node:internal/modules/esm/resolve:1188:11) at ModuleLoader.defaultResolve (node:internal/modules/esm/loader:642:12) at #cachedDefaultResolve (node:internal/modules/esm/loader:591:25) at ModuleLoader.resolve (node:internal/modules/esm/loader:574:38) at ModuleLoader.getModuleJobForImport (node:internal/modules/esm/loader:236:38) at ModuleJob._link (node:internal/modules/esm/module_job:130:49) { code: 'ERR_MODULE_NOT_FOUND', url: 'file:///Users/runner/work/OpenSpec/OpenSpec/dist/cli/index.js' } Node.js v20.19.4 ❯ test/commands/spec.test.ts:185:24 ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯ Serialized Error: { status: 1, signal: null, output: [ null, '', 'node:internal/modules/esm/resolve:283\n throw new ERR_MODULE_NOT_FOUND(\n ^\n\nError [ERR_MODULE_NOT_FOUND]: Cannot find module \'/Users/runner/work/OpenSpec/OpenSpec/dist/cli/index.js\' imported from /Users/runner/work/OpenSpec/OpenSpec/bin/openspec.js\n at finalizeResolution (node:internal/modules/esm/resolve:283:11)\n at moduleResolve (node:internal/modules/esm/resolve:952:10)\n at defaultResolve (node:internal/modules/esm/resolve:1188:11)\n at ModuleLoader.defaultResolve (node:internal/modules/esm/loader:642:12)\n at #cachedDefaultResolve (node:internal/modules/esm/loader:591:25)\n at ModuleLoader.resolve (node:internal/modules/esm/loader:574:38)\n at ModuleLoader.getModuleJobForImport (node:internal/modules/esm/loader:236:38)\n at ModuleJob._link (node:internal/modules/esm/module_job:130:49) {\n code: \'ERR_MODULE_NOT_FOUND\',\n url: \'file:///Users/runner/work/OpenSpec/OpenSpec/dist/cli/index.js\'\n}\n\nNode.js v20.19.4\n' ], pid: 1618, stdout: '', stderr: 'node:internal/modules/esm/resolve:283\n throw new ERR_MODULE_NOT_FOUND(\n ^\n\nError [ERR_MODULE_NOT_FOUND]: Cannot find module \'/Users/runner/work/OpenSpec/OpenSpec/dist/cli/index.js\' imported from /Users/runner/work/OpenSpec/OpenSpec/bin/openspec.js\n at finalizeResolution (node:internal/modules/esm/resolve:283:11)\n at moduleResolve (node:internal/modules/esm/resolve:952:10)\n at defaultResolve (node:internal/modules/esm/resolve:1188:11)\n at ModuleLoader.defaultResolve (node:internal/modules/esm/loader:642:12)\n at #cachedDefaultResolve (node:internal/modules/esm/loader:591:25)\n at ModuleLoader.resolve (node:internal/modules/esm/loader:574:38)\n at ModuleLoader.getModuleJobForImport (node:internal/modules/esm/loader:236:38)\n at ModuleJob._link (node:internal/modules/esm/module_job:130:49) {\n code: \'ERR_MODULE_NOT_FOUND\',\n url: \'file:///Users/runner/work/OpenSpec/OpenSpec/dist/cli/index.js\'\n}\n\nNode.js v20.19.4\n' }
test/commands/spec.test.ts > spec command > spec list > should list all available specs (IDs only by default): test/commands/spec.test.ts#L168
Error: Command failed: node /Users/runner/work/OpenSpec/OpenSpec/bin/openspec.js spec list node:internal/modules/esm/resolve:283 throw new ERR_MODULE_NOT_FOUND( ^ Error [ERR_MODULE_NOT_FOUND]: Cannot find module '/Users/runner/work/OpenSpec/OpenSpec/dist/cli/index.js' imported from /Users/runner/work/OpenSpec/OpenSpec/bin/openspec.js at finalizeResolution (node:internal/modules/esm/resolve:283:11) at moduleResolve (node:internal/modules/esm/resolve:952:10) at defaultResolve (node:internal/modules/esm/resolve:1188:11) at ModuleLoader.defaultResolve (node:internal/modules/esm/loader:642:12) at #cachedDefaultResolve (node:internal/modules/esm/loader:591:25) at ModuleLoader.resolve (node:internal/modules/esm/loader:574:38) at ModuleLoader.getModuleJobForImport (node:internal/modules/esm/loader:236:38) at ModuleJob._link (node:internal/modules/esm/module_job:130:49) { code: 'ERR_MODULE_NOT_FOUND', url: 'file:///Users/runner/work/OpenSpec/OpenSpec/dist/cli/index.js' } Node.js v20.19.4 ❯ test/commands/spec.test.ts:168:24 ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯ Serialized Error: { status: 1, signal: null, output: [ null, '', 'node:internal/modules/esm/resolve:283\n throw new ERR_MODULE_NOT_FOUND(\n ^\n\nError [ERR_MODULE_NOT_FOUND]: Cannot find module \'/Users/runner/work/OpenSpec/OpenSpec/dist/cli/index.js\' imported from /Users/runner/work/OpenSpec/OpenSpec/bin/openspec.js\n at finalizeResolution (node:internal/modules/esm/resolve:283:11)\n at moduleResolve (node:internal/modules/esm/resolve:952:10)\n at defaultResolve (node:internal/modules/esm/resolve:1188:11)\n at ModuleLoader.defaultResolve (node:internal/modules/esm/loader:642:12)\n at #cachedDefaultResolve (node:internal/modules/esm/loader:591:25)\n at ModuleLoader.resolve (node:internal/modules/esm/loader:574:38)\n at ModuleLoader.getModuleJobForImport (node:internal/modules/esm/loader:236:38)\n at ModuleJob._link (node:internal/modules/esm/module_job:130:49) {\n code: \'ERR_MODULE_NOT_FOUND\',\n url: \'file:///Users/runner/work/OpenSpec/OpenSpec/dist/cli/index.js\'\n}\n\nNode.js v20.19.4\n' ], pid: 1616, stdout: '', stderr: 'node:internal/modules/esm/resolve:283\n throw new ERR_MODULE_NOT_FOUND(\n ^\n\nError [ERR_MODULE_NOT_FOUND]: Cannot find module \'/Users/runner/work/OpenSpec/OpenSpec/dist/cli/index.js\' imported from /Users/runner/work/OpenSpec/OpenSpec/bin/openspec.js\n at finalizeResolution (node:internal/modules/esm/resolve:283:11)\n at moduleResolve (node:internal/modules/esm/resolve:952:10)\n at defaultResolve (node:internal/modules/esm/resolve:1188:11)\n at ModuleLoader.defaultResolve (node:internal/modules/esm/loader:642:12)\n at #cachedDefaultResolve (node:internal/modules/esm/loader:591:25)\n at ModuleLoader.resolve (node:internal/modules/esm/loader:574:38)\n at ModuleLoader.getModuleJobForImport (node:internal/modules/esm/loader:236:38)\n at ModuleJob._link (node:internal/modules/esm/module_job:130:49) {\n code: \'ERR_MODULE_NOT_FOUND\',\n url: \'file:///Users/runner/work/OpenSpec/OpenSpec/dist/cli/index.js\'\n}\n\nNode.js v20.19.4\n' }
test/commands/spec.test.ts > spec command > spec show > should return JSON with filtered requirements: test/commands/spec.test.ts#L150
Error: Command failed: node /Users/runner/work/OpenSpec/OpenSpec/bin/openspec.js spec show auth --json --no-scenarios node:internal/modules/esm/resolve:283 throw new ERR_MODULE_NOT_FOUND( ^ Error [ERR_MODULE_NOT_FOUND]: Cannot find module '/Users/runner/work/OpenSpec/OpenSpec/dist/cli/index.js' imported from /Users/runner/work/OpenSpec/OpenSpec/bin/openspec.js at finalizeResolution (node:internal/modules/esm/resolve:283:11) at moduleResolve (node:internal/modules/esm/resolve:952:10) at defaultResolve (node:internal/modules/esm/resolve:1188:11) at ModuleLoader.defaultResolve (node:internal/modules/esm/loader:642:12) at #cachedDefaultResolve (node:internal/modules/esm/loader:591:25) at ModuleLoader.resolve (node:internal/modules/esm/loader:574:38) at ModuleLoader.getModuleJobForImport (node:internal/modules/esm/loader:236:38) at ModuleJob._link (node:internal/modules/esm/module_job:130:49) { code: 'ERR_MODULE_NOT_FOUND', url: 'file:///Users/runner/work/OpenSpec/OpenSpec/dist/cli/index.js' } Node.js v20.19.4 ❯ test/commands/spec.test.ts:150:24 ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯ Serialized Error: { status: 1, signal: null, output: [ null, '', 'node:internal/modules/esm/resolve:283\n throw new ERR_MODULE_NOT_FOUND(\n ^\n\nError [ERR_MODULE_NOT_FOUND]: Cannot find module \'/Users/runner/work/OpenSpec/OpenSpec/dist/cli/index.js\' imported from /Users/runner/work/OpenSpec/OpenSpec/bin/openspec.js\n at finalizeResolution (node:internal/modules/esm/resolve:283:11)\n at moduleResolve (node:internal/modules/esm/resolve:952:10)\n at defaultResolve (node:internal/modules/esm/resolve:1188:11)\n at ModuleLoader.defaultResolve (node:internal/modules/esm/loader:642:12)\n at #cachedDefaultResolve (node:internal/modules/esm/loader:591:25)\n at ModuleLoader.resolve (node:internal/modules/esm/loader:574:38)\n at ModuleLoader.getModuleJobForImport (node:internal/modules/esm/loader:236:38)\n at ModuleJob._link (node:internal/modules/esm/module_job:130:49) {\n code: \'ERR_MODULE_NOT_FOUND\',\n url: \'file:///Users/runner/work/OpenSpec/OpenSpec/dist/cli/index.js\'\n}\n\nNode.js v20.19.4\n' ], pid: 1613, stdout: '', stderr: 'node:internal/modules/esm/resolve:283\n throw new ERR_MODULE_NOT_FOUND(\n ^\n\nError [ERR_MODULE_NOT_FOUND]: Cannot find module \'/Users/runner/work/OpenSpec/OpenSpec/dist/cli/index.js\' imported from /Users/runner/work/OpenSpec/OpenSpec/bin/openspec.js\n at finalizeResolution (node:internal/modules/esm/resolve:283:11)\n at moduleResolve (node:internal/modules/esm/resolve:952:10)\n at defaultResolve (node:internal/modules/esm/resolve:1188:11)\n at ModuleLoader.defaultResolve (node:internal/modules/esm/loader:642:12)\n at #cachedDefaultResolve (node:internal/modules/esm/loader:591:25)\n at ModuleLoader.resolve (node:internal/modules/esm/loader:574:38)\n at ModuleLoader.getModuleJobForImport (node:internal/modules/esm/loader:236:38)\n at ModuleJob._link (node:internal/modules/esm/module_job:130:49) {\n code: \'ERR_MODULE_NOT_FOUND\',\n url: \'file:///Users/runner/work/OpenSpec/OpenSpec/dist/cli/index.js\'\n}\n\nNode.js v20.19.4\n' }
test/commands/spec.test.ts > spec command > spec show > should show specific requirement with -r flag (JSON only): test/commands/spec.test.ts#L134
Error: Command failed: node /Users/runner/work/OpenSpec/OpenSpec/bin/openspec.js spec show auth --json -r 1 node:internal/modules/esm/resolve:283 throw new ERR_MODULE_NOT_FOUND( ^ Error [ERR_MODULE_NOT_FOUND]: Cannot find module '/Users/runner/work/OpenSpec/OpenSpec/dist/cli/index.js' imported from /Users/runner/work/OpenSpec/OpenSpec/bin/openspec.js at finalizeResolution (node:internal/modules/esm/resolve:283:11) at moduleResolve (node:internal/modules/esm/resolve:952:10) at defaultResolve (node:internal/modules/esm/resolve:1188:11) at ModuleLoader.defaultResolve (node:internal/modules/esm/loader:642:12) at #cachedDefaultResolve (node:internal/modules/esm/loader:591:25) at ModuleLoader.resolve (node:internal/modules/esm/loader:574:38) at ModuleLoader.getModuleJobForImport (node:internal/modules/esm/loader:236:38) at ModuleJob._link (node:internal/modules/esm/module_job:130:49) { code: 'ERR_MODULE_NOT_FOUND', url: 'file:///Users/runner/work/OpenSpec/OpenSpec/dist/cli/index.js' } Node.js v20.19.4 ❯ test/commands/spec.test.ts:134:24 ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯ Serialized Error: { status: 1, signal: null, output: [ null, '', 'node:internal/modules/esm/resolve:283\n throw new ERR_MODULE_NOT_FOUND(\n ^\n\nError [ERR_MODULE_NOT_FOUND]: Cannot find module \'/Users/runner/work/OpenSpec/OpenSpec/dist/cli/index.js\' imported from /Users/runner/work/OpenSpec/OpenSpec/bin/openspec.js\n at finalizeResolution (node:internal/modules/esm/resolve:283:11)\n at moduleResolve (node:internal/modules/esm/resolve:952:10)\n at defaultResolve (node:internal/modules/esm/resolve:1188:11)\n at ModuleLoader.defaultResolve (node:internal/modules/esm/loader:642:12)\n at #cachedDefaultResolve (node:internal/modules/esm/loader:591:25)\n at ModuleLoader.resolve (node:internal/modules/esm/loader:574:38)\n at ModuleLoader.getModuleJobForImport (node:internal/modules/esm/loader:236:38)\n at ModuleJob._link (node:internal/modules/esm/module_job:130:49) {\n code: \'ERR_MODULE_NOT_FOUND\',\n url: \'file:///Users/runner/work/OpenSpec/OpenSpec/dist/cli/index.js\'\n}\n\nNode.js v20.19.4\n' ], pid: 1605, stdout: '', stderr: 'node:internal/modules/esm/resolve:283\n throw new ERR_MODULE_NOT_FOUND(\n ^\n\nError [ERR_MODULE_NOT_FOUND]: Cannot find module \'/Users/runner/work/OpenSpec/OpenSpec/dist/cli/index.js\' imported from /Users/runner/work/OpenSpec/OpenSpec/bin/openspec.js\n at finalizeResolution (node:internal/modules/esm/resolve:283:11)\n at moduleResolve (node:internal/modules/esm/resolve:952:10)\n at defaultResolve (node:internal/modules/esm/resolve:1188:11)\n at ModuleLoader.defaultResolve (node:internal/modules/esm/loader:642:12)\n at #cachedDefaultResolve (node:internal/modules/esm/loader:591:25)\n at ModuleLoader.resolve (node:internal/modules/esm/loader:574:38)\n at ModuleLoader.getModuleJobForImport (node:internal/modules/esm/loader:236:38)\n at ModuleJob._link (node:internal/modules/esm/module_job:130:49) {\n code: \'ERR_MODULE_NOT_FOUND\',\n url: \'file:///Users/runner/work/OpenSpec/OpenSpec/dist/cli/index.js\'\n}\n\nNode.js v20.19.4\n' }
Test (Node 20)
Process completed with exit code 1.
All checks passed
Process completed with exit code 1.
Test (Node 20)
No files were found with the provided path: coverage/. No artifacts will be uploaded.
Test (Node 20)
The windows-latest label will migrate from Windows Server 2022 to Windows Server 2025 beginning September 2, 2025. For more information see https://github.com/actions/runner-images/issues/12677