Conversation
Greptile SummaryThis is an automated release PR bumping
Confidence Score: 3/5
Important Files Changed
Sequence DiagramsequenceDiagram
participant WF as publish.yml workflow
participant NPM as npm registry
participant GIT as git / PR
WF->>NPM: npm install (3.0.4 platform pkgs installed — 3.1.0 not yet published)
WF->>WF: npm version 3.1.0 (package.json now requires 3.1.0)
WF->>NPM: Publish @optave/codegraph-linux-x64-gnu@3.1.0
WF->>NPM: Publish @optave/codegraph-linux-x64-musl@3.1.0
WF->>NPM: Publish @optave/codegraph@3.1.0
Note over WF: node_modules still has 3.0.4 binaries
WF->>WF: npm ls --json → ELSPROBLEMS (3.0.4 vs required 3.1.0)
WF->>GIT: Commit DEPENDENCIES.json (with error state)
GIT-->>GIT: PR opened (this PR)
Last reviewed commit: 0c95b01 |
| "name": "@optave/codegraph", | ||
| "problems": [ | ||
| "invalid: @optave/codegraph-linux-x64-gnu@3.0.4 /home/runner/work/codegraph/codegraph/node_modules/@optave/codegraph-linux-x64-gnu", | ||
| "invalid: @optave/codegraph-linux-x64-musl@3.0.4 /home/runner/work/codegraph/codegraph/node_modules/@optave/codegraph-linux-x64-musl" | ||
| ], |
There was a problem hiding this comment.
DEPENDENCIES.json committed with npm error state
The file contains a top-level "problems" array and a trailing "error": {"code": "ELSPROBLEMS"} block, indicating that npm ls exited non-zero when this snapshot was generated. Both @optave/codegraph-linux-x64-gnu and @optave/codegraph-linux-x64-musl are reported as "invalid" because their installed version (3.0.4) no longer satisfies the root project requirement (3.1.0).
The root cause is in .github/workflows/publish.yml line 495:
npm ls --json --all --omit=dev > generated/DEPENDENCIES.json 2>/dev/null || true
npm install runs at line 382 before the new 3.1.0 platform packages are published to npm, so node_modules is still populated with 3.0.4 binaries. After publishing, npm ls sees the version mismatch and embeds the error into stdout alongside the JSON.
The fix is to add a fresh npm install (or npm install --ignore-scripts) after the publish steps and before generating the snapshot:
- name: Refresh node_modules after publish
run: npm install --ignore-scripts
- name: Generate DEPENDENCIES.json
run: mkdir -p generated && npm ls --json --all --omit=dev > generated/DEPENDENCIES.json 2>/dev/null || trueUntil then, any tooling that reads generated/DEPENDENCIES.json and checks for a top-level "error" key or "problems" array will see a spurious failure for the two Linux x64 packages.
Automated version bump to
3.1.0and CHANGELOG update from publish workflow run #286.