Carry the version this release is for #349

Open
PerishFire wants to merge 1 commit from task/carry-the-version-v0-27-0 into main
Owner

The build refused on every target:

plumb ship: release v0.27.0-beta.1 does not match Cargo package plumb-cli 0.26.0

The workspace still declared the version it had already shipped, because nothing had raised it — and nothing was going to.

A release names a version in four places: the workspace package, the exact pin plumb-macro carries, the lock, and the changelog directory. Only the last has a verb behind it. The other three were raised for v0.26.0 by hand, inside the commit that wrote its changelog, and that commit is the only record that the step exists at all. The procedure written down for this line does not mention it, so it was not done.

This is the same shape as the exact tag before release stamp: something a release depends on, made by a hand, with no mechanism that notices when the hand forgets.

Unlike the tag, this one is caught. ship binary build compares the release version against the Cargo package and refuses, which is why the cost was a failed run rather than a release that lies about what it contains.

The build refused on every target: ``` plumb ship: release v0.27.0-beta.1 does not match Cargo package plumb-cli 0.26.0 ``` The workspace still declared the version it had already shipped, because nothing had raised it — and nothing was going to. A release names a version in four places: the workspace package, the exact pin `plumb-macro` carries, the lock, and the changelog directory. **Only the last has a verb behind it.** The other three were raised for v0.26.0 by hand, inside the commit that wrote its changelog, and that commit is the only record that the step exists at all. The procedure written down for this line does not mention it, so it was not done. This is the same shape as the exact tag before `release stamp`: something a release depends on, made by a hand, with no mechanism that notices when the hand forgets. **Unlike the tag, this one is caught.** `ship binary build` compares the release version against the Cargo package and refuses, which is why the cost was a failed run rather than a release that lies about what it contains.
Carry the version this release is for
All checks were successful
guard / guard (pull_request) Successful in 3m15s
51c8603d21
The build refused on every target: `release v0.27.0-beta.1 does not match Cargo
package plumb-cli 0.26.0`. The workspace still declared the version it had
already shipped, because nothing had raised it.

Nothing was going to. A release names a version in four places — the workspace
package, the exact pin `plumb-macro` carries, the lock, and the changelog
directory — and only the last of those has a verb behind it. The other three
were raised for v0.26.0 by hand, inside the commit that wrote its changelog, and
that commit is the only record that the step exists. The procedure written down
for this line does not mention it, so it was not done.

This is the same shape as the exact tag: a thing the release depends on, made by
a hand, with no mechanism that notices when the hand forgets. Unlike the tag,
this one is caught — `ship binary build` compares the release version against
the Cargo package and refuses — so the cost was a failed run rather than a
release that lies. That refusal is the reason this is a small commit and not an
incident.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
All checks were successful
guard / guard (pull_request) Successful in 3m15s
This pull request has changes conflicting with the target branch.
  • Cargo.lock
  • Cargo.toml
  • crates/lib/Cargo.toml
  • plumb.toml
View command line instructions

Manual merge helper

Use this merge commit message when completing the merge manually.

Checkout

From your project repository, check out a new branch and test the changes.
git fetch -u origin task/carry-the-version-v0-27-0:task/carry-the-version-v0-27-0
git switch task/carry-the-version-v0-27-0
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
PerishLab/plumb!349
No description provided.