fix(ci): release workflow uses npm install, not npm ci#8
Merged
Conversation
The repo deliberately gitignores package-lock.json (see .gitignore). The other three workflows (smoke, test, lint) all use 'npm install'; release.yml was the outlier on 'npm ci', which requires a committed lockfile. Result: every Release run since 2026-04-23 has been failing at the install step with EUSAGE. Switch to 'npm install' to match the rest and to honor the no-lockfile policy. If a lockfile gets adopted later, all four workflows can be flipped together.
Taure
added a commit
that referenced
this pull request
May 2, 2026
Rewrites the README so it reflects what asobi-js actually is — a thin transport client for the asobi protocol — and drops the broad feature-table claims (worlds, terrain, voting, economy, leaderboards, etc.) that overstated coverage. Changes: - Add Scope and Status sections; mark typed REST helpers as deprecated for v1.0 - Replace REST-heavy quickstart with a WebSocket-only example using `AsobiWebSocket` - Add API reference block for `AsobiWebSocket` - Move engine/framework integrations (Phaser/Three/Pixi) to opt-in `examples/` rather than bundled exports - Remove the Features matrix that promised full coverage of unstable subsystems Rebase note: this PR was rebased onto main after #4/#5/#7/#8 landed. The README conflict was resolved by keeping the PR's narrowed-scope structure (Scope/Status/API/adapters sections, no Features table) while preserving main's factual updates that don't conflict with the narrowing: the Node 22+ header, the @widgrensit/asobi package name, the "Run a backend first" section pointing at sdk_demo_backend on :8084, the Browser usage section, and the canonical link to the WebSocket protocol guide. The PR's deletion of the Features matrix and REST-flavoured quickstart was preserved — that deletion is the whole point of the PR. No code change. Code refactor follows in a separate PR.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
The Release workflow has been failing on every push to main since 2026-04-23 with:
```
npm error code EUSAGE
npm error The `npm ci` command can only install with an existing package-lock.json or npm-shrinkwrap.json with lockfileVersion >= 1.
```
The repo deliberately gitignores `package-lock.json` (see `.gitignore`). The other three workflows (smoke, test, lint) all use `npm install`. `release.yml` was the only outlier on `npm ci`, which requires a committed lockfile.
Fix
One-line change: `release.yml` line 98 `npm ci` -> `npm install`. Matches the rest of the workflow files and honors the no-lockfile policy.
Surfaced by
The recent SDK fleet audit during the protocol-dispatch rollout — when checking that all merged dispatch-test PRs were actually validated in CI on main, Release showed three consecutive failures. Same audit also confirmed every other repo's main-branch CI is green except asobi-unity (separate, expected — UNITY_LICENSE secrets not yet provisioned, tracked in asobi-unity#11).
Test plan