Skip to content

fix(release): wrap hyperdb-compile-check pin in release-please markers#97

Merged
StefanSteiner merged 1 commit into
tableau:mainfrom
StefanSteiner:fix-release-please-compile-check-pin
Jun 2, 2026
Merged

fix(release): wrap hyperdb-compile-check pin in release-please markers#97
StefanSteiner merged 1 commit into
tableau:mainfrom
StefanSteiner:fix-release-please-compile-check-pin

Conversation

@StefanSteiner
Copy link
Copy Markdown
Contributor

The optional hyperdb-compile-check = "=0.3.1" dependency in hyperdb-api-derive/Cargo.toml was the only internal exact-version pin in the workspace NOT wrapped in # x-release-please-start-version / # x-release-please-end markers. release-please therefore bumped hyperdb-compile-check's own version (and every other internal pin) to the new release version but left this consumer pin at =0.3.1, making the workspace unresolvable:

error: failed to select a version for the requirement
`hyperdb-compile-check = "=0.3.1"`
candidate versions found which didn't match: 0.4.0
required by package `hyperdb-api-derive`

This broke the v0.4.0 release-please PR (#95): clippy, all three test matrices, cargo-deny, publish-dry-run, and node-bindings all failed on dependency resolution. Wrapping the pin lets release-please bump it in lockstep with the rest of the workspace, as it already does for the hyperdb-api dev-dependency pin a few lines below.

The optional `hyperdb-compile-check = "=0.3.1"` dependency in
hyperdb-api-derive/Cargo.toml was the only internal exact-version pin in
the workspace NOT wrapped in `# x-release-please-start-version` /
`# x-release-please-end` markers. release-please therefore bumped
hyperdb-compile-check's own version (and every other internal pin) to the
new release version but left this consumer pin at =0.3.1, making the
workspace unresolvable:

    error: failed to select a version for the requirement
    `hyperdb-compile-check = "=0.3.1"`
    candidate versions found which didn't match: 0.4.0
    required by package `hyperdb-api-derive`

This broke the v0.4.0 release-please PR (tableau#95): clippy, all three test
matrices, cargo-deny, publish-dry-run, and node-bindings all failed on
dependency resolution. Wrapping the pin lets release-please bump it in
lockstep with the rest of the workspace, as it already does for the
hyperdb-api dev-dependency pin a few lines below.
@StefanSteiner StefanSteiner merged commit 1f07015 into tableau:main Jun 2, 2026
11 checks passed
StefanSteiner added a commit that referenced this pull request Jun 2, 2026
…allow-list (#98)

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 #97 and the publish ordering).
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