Skip to content

chore(ci): validate regenerated lockfile during impit-node release - #468

Merged
barjin merged 1 commit into
masterfrom
fix/release-lockfile-validation
Jun 2, 2026
Merged

barjin merged 1 commit into
masterfrom
fix/release-lockfile-validation

Conversation

@barjin

@barjin barjin commented Jun 1, 2026

Copy link
Copy Markdown
Member

Follow-up to #467, which fixed the symptom. This fixes the root cause in the release workflow.

The Update lockfile step runs pnpm install --lockfile-only after publishing. That command exits 0 even when an optional dependency can't be resolved — it just silently drops it from the lockfile. Because the regeneration runs seconds after pnpm publish, a freshly published platform package may not have propagated on the npm registry yet, so it gets omitted while the retry loop's exit-code check still passes. That is exactly how the impit-linux-arm64-musl entry went missing in the 0.14.1 release.

This chains a pnpm install --frozen-lockfile after the regeneration. The loop now only exits 0 once the regenerated lockfile actually matches package.json (the same check CI runs); if an optional dep was dropped, the frozen install fails and the loop retries after 30s until the registry catches up.

pnpm install --lockfile-only exits 0 even when an optional dependency
cannot be resolved, silently omitting it from the lockfile. Right after
publishing, platform packages may not have propagated on the npm
registry yet, so the regenerated lockfile could be committed missing an
entry while still passing the retry loop's exit-code check.

Chain a frozen-lockfile install after regeneration so the loop only
succeeds once the lockfile is actually consistent with package.json,
otherwise it retries until the registry catches up.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@barjin barjin changed the title fix(ci): validate regenerated lockfile during js release chore(ci): validate regenerated lockfile during impit-node release Jun 1, 2026
@barjin barjin added the adhoc Ad-hoc unplanned task added during the sprint. label Jun 2, 2026
@github-actions github-actions Bot added this to the 142nd sprint - Tooling team milestone Jun 2, 2026
@github-actions github-actions Bot added the t-tooling Issues with this label are in the ownership of the tooling team. label Jun 2, 2026
@barjin
barjin merged commit 6e8cddf into master Jun 2, 2026
7 of 9 checks passed
@barjin
barjin deleted the fix/release-lockfile-validation branch June 2, 2026 07:58
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

adhoc Ad-hoc unplanned task added during the sprint. t-tooling Issues with this label are in the ownership of the tooling team.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants