release: require the workspace version only on the binary crates #196

Merged
natsukium merged 1 commit from release/publish-prep into main 2026-10-19 22:23:45 +09:00
Owner

Part of #160 (policy amendment): library crates will take their own versions, and only felis-cli, felis-client and felis-daemon carry the app version the release tag names.

  • tools/release/verify.py checks version.workspace = true only on the three binary crates (looked up by package name) and fails when one is missing; other crates may pin their own version.
  • Self-test: a library crate on its own version passes, a pinned binary crate fails, a missing binary crate fails.
  • docs/reference/workspace.md "Release gate" item 4 and tools/README.md describe the narrowed check. The "Versioning" section still says every member inherits, which stays true until the library crates switch versions.
Part of #160 (policy amendment): library crates will take their own versions, and only felis-cli, felis-client and felis-daemon carry the app version the release tag names. - `tools/release/verify.py` checks `version.workspace = true` only on the three binary crates (looked up by package name) and fails when one is missing; other crates may pin their own version. - Self-test: a library crate on its own version passes, a pinned binary crate fails, a missing binary crate fails. - `docs/reference/workspace.md` "Release gate" item 4 and `tools/README.md` describe the narrowed check. The "Versioning" section still says every member inherits, which stays true until the library crates switch versions.
release: require the workspace version only on the binary crates
All checks were successful
darwin / detect relevant changes (pull_request) Successful in 10s
darwin / darwin docs-only no-op (pull_request) Has been skipped
darwin / build felis (aarch64-darwin) (pull_request) Successful in 1m11s
windows / detect relevant changes (pull_request) Successful in 9s
windows / windows docs-only no-op (pull_request) Has been skipped
pr / nix flake check (pull_request) Successful in 28s
pr / cargo build / clippy / test / deny (pull_request) Successful in 1m40s
pr / wire schema is compatible with the base (pull_request) Successful in 4s
pr / frontend smoke (x86_64-linux) (pull_request) Successful in 27s
windows / cargo clippy (Windows cross) (pull_request) Successful in 15s
windows / cargo nextest (Windows) (pull_request) Successful in 2m44s
windows / frontend smoke (Windows) (pull_request) Successful in 36s
b5c4776ec6
Under the #160 amendment the library crates take their own versions,
starting at 0.1.0, while felis-cli, felis-client and felis-daemon carry
the app version the release tag names. The tag check refused any crate
that did not inherit [workspace.package] version, so it would block the
first release with decoupled libraries. It now checks only the three
binary crates, and fails when one of them is missing rather than
passing a renamed crate silently.

Assisted-by: Claude Code
natsukium force-pushed release/publish-prep from b5c4776ec6
All checks were successful
darwin / detect relevant changes (pull_request) Successful in 10s
darwin / darwin docs-only no-op (pull_request) Has been skipped
darwin / build felis (aarch64-darwin) (pull_request) Successful in 1m11s
windows / detect relevant changes (pull_request) Successful in 9s
windows / windows docs-only no-op (pull_request) Has been skipped
pr / nix flake check (pull_request) Successful in 28s
pr / cargo build / clippy / test / deny (pull_request) Successful in 1m40s
pr / wire schema is compatible with the base (pull_request) Successful in 4s
pr / frontend smoke (x86_64-linux) (pull_request) Successful in 27s
windows / cargo clippy (Windows cross) (pull_request) Successful in 15s
windows / cargo nextest (Windows) (pull_request) Successful in 2m44s
windows / frontend smoke (Windows) (pull_request) Successful in 36s
to 683107a3f7
All checks were successful
darwin / detect relevant changes (pull_request) Successful in 10s
windows / detect relevant changes (pull_request) Successful in 9s
darwin / darwin docs-only no-op (pull_request) Has been skipped
windows / windows docs-only no-op (pull_request) Has been skipped
pr / nix flake check (pull_request) Successful in 29s
darwin / build felis (aarch64-darwin) (pull_request) Successful in 1m12s
pr / cargo build / clippy / test / deny (pull_request) Successful in 1m42s
pr / wire schema is compatible with the base (pull_request) Successful in 4s
pr / frontend smoke (x86_64-linux) (pull_request) Successful in 27s
windows / cargo clippy (Windows cross) (pull_request) Successful in 14s
windows / cargo nextest (Windows) (pull_request) Successful in 2m51s
windows / frontend smoke (Windows) (pull_request) Successful in 53s
2026-10-19 22:23:32 +09:00
Compare
natsukium deleted branch release/publish-prep 2026-10-19 22:23:45 +09:00
Sign in to join this conversation.
No reviewers
No milestone
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
felis-terminal/felis!196
No description provided.