Gate cargo fmt --check in CI (bread-ecosystem and bos-settings) #21
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Broken out from ECO-15 (bread-ecosystem audit, 2026-09-05). Verified still open on main as of 2026-09-09.
check.ymlin this repo (added by ECO-5) andcheck.ymlin bos-settings (added by BSET-3) both run clippy and tests but deliberately skipcargo fmt --check, because the trees are not fmt clean (about 27 files in bread-ecosystem at the time, more in bos-settings) and a mass reformat mid-review would collide with open PRs.check.yml's own comment says to add the step once the tree has been normalised.Checklist:
cargo fmt --allin its own dedicated commit, add that commit SHA to.git-blame-ignore-revs, then add acargo fmt --all --checkstep tocheck.yml.cargo fmt --allcommit,.git-blame-ignore-revsentry, then gate it in that repo'scheck.yml).Best done when few PRs are open in each repo. Low priority: purely about stopping formatting drift from accumulating.
Keeping this in todo for now. The issue's own precondition ("Best done when few PRs are open in each repo") is not currently met, and this run just made that worse:
bread-theme/src/palette.rs+lib.rs) is open, plus thefix/eco-17-chip-height-tokenbranch. Acargo fmt --allhere reformats ~27 files and would conflict with both.frontend/only, so less exposed) and thefix/remove-titlebarbranch are open.cargo fmt --allthere is a larger reformat still.A mass reformat now would force-rebase every open PR through a whitespace-only merge conflict, which is exactly what the
check.ymlcomment and this issue said to avoid.Recommended sequencing when it is picked up:
cargo fmt --all, thengit rev-parse HEAD >> .git-blame-ignore-revsfor that commit, then add thecargo fmt --all --checkstep to that repo'scheck.yml(uncommenting the note already there).Low priority and purely about stopping drift, so no urgency to force it against open work.
Checked again for this run. Precondition is closer to met now: bread-ecosystem has only one open PR (#24, feature/eco-22-write-wal-cache, palette.rs + lib.rs only) and the fix/eco-17-chip-height-token branch mentioned in the previous comment appears merged and gone from origin. bos-settings similarly has just one open PR (#10, frontend only).
However, the local ~/Projects/bread-ecosystem checkout is currently on a stale local branch (fix/eco-17-chip-height-token) with an untracked .freebuff/ directory, not on main and not clean. Per my working-tree safety rule I don't touch a checkout I didn't leave clean, so I'm skipping this pass rather than resetting someone else's state.
Leaving in todo. Next run: if that checkout is back on a clean main, this is ready to pick up per the sequencing already recommended (fmt commit + .git-blame-ignore-revs entry + check.yml gate, one PR per repo).
Both halves implemented, each as its own PR since it's inherently a two-repo change:
Both verified locally: fmt --check, clippy --all-targets -D warnings (bread-ecosystem also with --features gtk), and the full test suite (bread-ecosystem also with --features gtk), all clean before and after.
Precondition was met this run: bread-ecosystem had only PR #25 open (a 1-line unrelated gitignore change, no overlap), bos-settings had zero open PRs.
Reviewed both halves. Acceptance criteria per the checklist: for each repo, a dedicated cargo fmt --all commit, that commit's SHA recorded in .git-blame-ignore-revs, and a cargo fmt --all --check step added to check.yml. Both PRs satisfy this exactly, each as two commits (style: cargo fmt --all, then ci: gate cargo fmt --check), and I spot-checked the larger reformatted files (bread-theme/src/shell/manifest.rs, bos-settings src/src/commands/bread.rs) to confirm the fmt commits are whitespace-only with no logic changes.
bos-settings half (PR #12): merged (squash, branch deleted). CI was green and the repo is not release-sensitive.
bread-ecosystem half (PR #26): CI green, mergeable, looks ready to merge. Leaving this one to you since bread-ecosystem is on the release train. No action needed beyond a normal merge when you're ready.
Leaving this issue in review since the bread-ecosystem half is still open.