chore(release): include hyperdb-compile-check in lockfile-sync guard allow-list#98
Merged
StefanSteiner merged 1 commit intoJun 2, 2026
Conversation
…low-list
The 'Verify lockfile diff is workspace-only' sentinel in release-please.yml
builds its allow-list from `cargo metadata --no-deps` on the ROOT workspace.
But hyperdb-compile-check is deliberately NOT a root-workspace member (it
declares its own [workspace] so it can build/test standalone), so root
metadata omits it — while it IS a path crate in the root lockfile and gets a
0.3.1 -> 0.4.0 bump during the release lock-sync. The guard therefore
false-positived and aborted the v0.4.0 release with:
Cargo.lock sync touched non-workspace packages: hyperdb-compile-check
Fix: union the root workspace members with hyperdb-compile-check's own
workspace members (its sub-workspace cargo metadata). Both halves are still
derived at runtime, so future workspace additions stay in sync with no
hard-coded list. Verified against the real v0.4.0 lock diff: the old allow-list
flags hyperdb-compile-check (reproducing the failure); the unioned allow-list
accepts all 9 bumped path crates and the guard passes.
Also corrects the stale '8 workspace-member version rows' comment to 9,
naming hyperdb-compile-check.
This is the third place the compile-check non-membership exception needed
handling (after the version-pin markers in tableau#97 and the publish ordering).
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
Unblocks the v0.4.0 release (again). After the version-pin marker fix (#97), the
release-please workflow got past dependency resolution and ran its Cargo.lock
sync — but then the "Verify lockfile diff is workspace-only" sentinel aborted
the run with:
The lockfile change itself is correct — this is a false positive in the
guard.
Root cause
The sentinel builds its allow-list of legitimate-to-change packages from
cargo metadata --no-depson the root workspace:But
hyperdb-compile-checkis deliberately not a member of the rootworkspace — it declares its own
[workspace]so it can be built and testedstandalone. So root
cargo metadataomits it. It is, however, a path crate inthe root lockfile, so the release lock-sync correctly bumps its version row
0.3.1 → 0.4.0along with the other 8 workspace crates. The guard sees achanged package not in its (incomplete) allow-list and aborts.
This is the same
hyperdb-compile-check-is-a-separate-workspace exception thatneeded handling for the version-pin markers (#97) and for publish ordering —
the lockfile guard is the third spot it was missed.
Fix
Union the root workspace members with
hyperdb-compile-check's ownworkspace members:
Both halves stay runtime-derived, so future workspace additions/renames stay in
sync automatically — no hard-coded list to maintain (the property the original
guard was designed for). Also corrects the adjacent comment that claimed "8
workspace-member version rows" to 9, naming
hyperdb-compile-check.Verification
Reproduced the exact failure locally against the real v0.4.0 release-please
branch lock diff (all 9 path crates bumped
0.3.1 → 0.4.0):hyperdb-compile-checkas unexpected →abort (matches the CI failure).
passes.
YAML validated. No behavior change beyond the allow-list union; the format-version
layer-1 check and the rest of the sentinel are untouched.
After this merges
release-please re-runs on push to main, re-syncs Cargo.lock on the release
branch, and the guard now passes → the lockfile-sync commit lands on the release
PR automatically. Then merge the release PR, move/recreate the
v0.4.0tag ontothe release commit, and re-run the release. (Nothing has been published to
crates.io yet — the release.yml version gate has been aborting cleanly.)