Skip to content

ci: Report lockfile drift with its cause - #124

Draft
ecv wants to merge 1 commit into
mainfrom
fix/lockfile-sync-guard
Draft

ci: Report lockfile drift with its cause#124
ecv wants to merge 1 commit into
mainfrom
fix/lockfile-sync-guard

Conversation

@ecv

@ecv ecv commented Sep 3, 2026

Copy link
Copy Markdown
Contributor

Summary

When a pull request moved the dependency manifest without the lockfile, CI failed with a bare frozen lockfile error and ten skipped jobs, saying nothing about what drifted or how to fix it.

Installs now run through a wrapper that keeps the fast path unchanged. On a mismatch it prints the lockfile diff and emits a workflow error naming the cause, the fix, and the tracking issue.

Upgrade bots that cannot write Bun lockfiles land here every time, so the message calls that case out by name.

Test plan

  • A manifest bump without a lockfile refresh fails with the named cause and shows the drift
  • An in sync branch installs and the full job fan out runs as before

Related to #123

https://claude.ai/code/session_01X9BXuLDACEpwpR48M1r7U7

Every CI job installed with a bare `bun install --frozen-lockfile`. When
package.json moved without bun.lock, the install job died with only bun's
"lockfile had changes, but lockfile is frozen" and the ten jobs behind it
skipped, leaving no statement of what drifted or how to fix it.

Route every install through a script that keeps the frozen install as the
happy path and, on failure, regenerates the lockfile to print the drift and
emits a workflow error naming the cause, the fix, and the tracking issue.

Key changes:
- Add .github/scripts/install-deps.sh wrapping the frozen install
- Point all eight CI install steps at the script

Automated upgrade PRs from tools that cannot write Bun lockfiles land here
every time, so the message names that case directly.

Claude-Session: https://claude.ai/code/session_01X9BXuLDACEpwpR48M1r7U7
@github-actions

github-actions Bot commented Sep 3, 2026

Copy link
Copy Markdown
Contributor

🧪 Test Summary

Job Status
E2E (fast, fake provider) ✅ success
Unit Tests (component) (0) ✅ success
Unit Tests (component) (1) ✅ success
Unit Tests (component) (2) ✅ success

View workflow run

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant