workspace: bump bakery version to 0.7.2 and document tag honesty

bakery --version is compiled from workspace.package.version; bakery list
reports the git tag. Those must match at tag time. 0.7.2 is unreleased
work after v0.7.1 — no tag in this commit.
This commit is contained in:
Breadway 2026-08-15 22:13:38 +08:00
parent 25fde8e4f0
commit 946b4d7281
6 changed files with 31 additions and 8 deletions

View file

@ -2,7 +2,7 @@
Scope: this file covers *repo hygiene* — branching, remotes, CI, cleanup. It is not project documentation. Scope: this file covers *repo hygiene* — branching, remotes, CI, cleanup. It is not project documentation.
Follow [`CONTRIBUTING.md`](CONTRIBUTING.md) for any git, branch, or release work. Channel/track policy lives in [`docs/release-channels.md`](docs/release-channels.md). The product list is [`registry/bread-ecosystem.toml`](registry/bread-ecosystem.toml) — regenerate the README table with `scripts/gen-readme-products.sh` after editing it. Don't invent a second long-lived branch; there is only `main`. Follow [`CONTRIBUTING.md`](CONTRIBUTING.md) for any git, branch, or release work. Channel/track policy lives in [`docs/release-channels.md`](docs/release-channels.md). The product list is [`registry/bread-ecosystem.toml`](registry/bread-ecosystem.toml) — regenerate the README table with `scripts/gen-readme-products.sh` after editing it. Don't invent a second long-lived branch; there is only `main`. Bakery's package version **must** match `[workspace.package] version` in the root `Cargo.toml` at tag time (`bakery --version` is compiled from that field; `bakery list` reports the git tag) — never push a `v*` tag without bumping Cargo.toml to the same `X.Y.Z`.
## Remotes ## Remotes
- `origin` — Forgejo (`git.breadway.dev` via Hestia, SSH) — authoritative. - `origin` — Forgejo (`git.breadway.dev` via Hestia, SSH) — authoritative.

View file

@ -44,6 +44,15 @@ just **tags** on `main`, not branches that need to be kept in sync:
`git tag vX.Y.Z && git push origin vX.Y.Z` — that's what triggers the `git tag vX.Y.Z && git push origin vX.Y.Z` — that's what triggers the
signed stable release build. signed stable release build.
**Version honesty**: bakery's compiled `--version` is
`[workspace.package] version` in the root `Cargo.toml`. The bakery
package version in the index (what `bakery list` shows) is the git tag.
Those must match at tag time — bump `workspace.package.version` to
`X.Y.Z` *before* pushing `vX.Y.Z` or `vX.Y.Z-rc.N`. Never jump a tag
(e.g. `v0.3.1``v0.7.1`) without that Cargo.toml bump; the resulting
binary will report the old workspace version while the index claims the
new tag.
**Note**: `bakery` and `bread-theme` share the same `v*` tag pattern **Note**: `bakery` and `bread-theme` share the same `v*` tag pattern
(both `release-bakery.yml` and `release-bread-theme.yml` trigger on (both `release-bakery.yml` and `release-bread-theme.yml` trigger on
`tags: ['v*']`, pre-existing behavior this doc isn't changing) — a single `tags: ['v*']`, pre-existing behavior this doc isn't changing) — a single

12
Cargo.lock generated
View file

@ -104,7 +104,7 @@ checksum = "f2032f911046de80f0a198e0901378627c33f59ea0ac00e363d481118bd70a53"
[[package]] [[package]]
name = "bakery" name = "bakery"
version = "0.3.1" version = "0.7.2"
dependencies = [ dependencies = [
"anyhow", "anyhow",
"bread-utils", "bread-utils",
@ -152,7 +152,7 @@ dependencies = [
[[package]] [[package]]
name = "bread-capture" name = "bread-capture"
version = "0.3.1" version = "0.7.2"
dependencies = [ dependencies = [
"anyhow", "anyhow",
"bread-utils", "bread-utils",
@ -162,7 +162,7 @@ dependencies = [
[[package]] [[package]]
name = "bread-onnx" name = "bread-onnx"
version = "0.3.1" version = "0.7.2"
dependencies = [ dependencies = [
"anyhow", "anyhow",
"bread-utils", "bread-utils",
@ -177,7 +177,7 @@ dependencies = [
[[package]] [[package]]
name = "bread-screenshots" name = "bread-screenshots"
version = "0.3.1" version = "0.7.2"
dependencies = [ dependencies = [
"anyhow", "anyhow",
"bread-utils", "bread-utils",
@ -197,7 +197,7 @@ dependencies = [
[[package]] [[package]]
name = "bread-theme" name = "bread-theme"
version = "0.3.1" version = "0.7.2"
dependencies = [ dependencies = [
"dirs", "dirs",
"gtk4", "gtk4",
@ -208,7 +208,7 @@ dependencies = [
[[package]] [[package]]
name = "bread-utils" name = "bread-utils"
version = "0.3.1" version = "0.7.2"
dependencies = [ dependencies = [
"bread-shared", "bread-shared",
"dirs", "dirs",

View file

@ -3,7 +3,7 @@ members = ["bakery", "bread-theme", "bread-utils", "bread-onnx", "bread-screensh
resolver = "2" resolver = "2"
[workspace.package] [workspace.package]
version = "0.3.1" version = "0.7.2"
edition = "2021" edition = "2021"
license = "MIT" license = "MIT"
authors = ["Breadway <plasticbread849@gmail.com>"] authors = ["Breadway <plasticbread849@gmail.com>"]

View file

@ -112,6 +112,18 @@ identifier sorts below the same version without one, and `dev` < `rc`
alphabetically, giving `X.Y.Z-dev... < X.Y.Z-rc.N < X.Y.Z` for the same alphabetically, giving `X.Y.Z-dev... < X.Y.Z-rc.N < X.Y.Z` for the same
base version. base version.
**Bakery package version honesty**: `bakery --version` is compiled from
this repo's `[workspace.package] version` (`CARGO_PKG_VERSION`); `bakery
list` reports the *tagged* package version from the index. Those two must
match at tag time — set `workspace.package.version` to `X.Y.Z` *before*
pushing `vX.Y.Z` or `vX.Y.Z-rc.N`, and never jump a git tag without that
Cargo.toml bump. The `v0.3.1``v0.7.1` tag jump that left Cargo.toml at
`0.3.1` is the bug this rule exists to prevent. Dev-track auto-versioning
keys off the latest stable tag rather than Cargo.toml so a stale
workspace version cannot publish a dev build that sorts *older* than
installed bakery; that fallback is not permission to leave the workspace
version stale.
Adding dev/beta to a bakery-channel repo: copy `dev-bakery.yml` / Adding dev/beta to a bakery-channel repo: copy `dev-bakery.yml` /
`rc-bakery.yml` (or `bread`'s `dev-release.yml` / `rc-release.yml` if the `rc-bakery.yml` (or `bread`'s `dev-release.yml` / `rc-release.yml` if the
repo isn't part of this monorepo) from `bread-ecosystem`/`bread`, and swap repo isn't part of this monorepo) from `bread-ecosystem`/`bread`, and swap

View file

@ -1,6 +1,8 @@
# Maintainer: Breadway <plasticbread849@gmail.com> # Maintainer: Breadway <plasticbread849@gmail.com>
pkgname=bakery pkgname=bakery
# Template only — package.yml sed-replaces this from the git tag at build
# time. 0.2.3 is not the current bakery release.
pkgver=0.2.3 pkgver=0.2.3
pkgrel=1 pkgrel=1
pkgdesc="Package manager for the bread ecosystem" pkgdesc="Package manager for the bread ecosystem"