docs: correct the stale fmt-gate note in CLAUDE.md; handoff-79
CLAUDE.md said "fmt is intentionally not gated yet" — stale; the gate is now fmt + clippy + test (ADR-ci-002 Amendment 1 / issue #35), run via `nix develop -c`. Add CI-exact local-verification guidance and flag the exit-code-vs-piped-output trap that masked the fmt failure this session. handoff-79 records the blob removal + the CI/fmt lesson.
This commit is contained in:
@@ -115,15 +115,23 @@ Current decisions at a glance (each backed by an ADR):
|
||||
a self-hosted
|
||||
**Gitea Actions** pipeline built on a **nix flake** (pinned Rust
|
||||
`1.95.0` — one source of toolchain for dev *and* CI) plus a
|
||||
prebuilt CI image. **Gate** (`ci.yaml`): `clippy -D warnings` +
|
||||
`cargo test` on every branch push / PR. **Release** on a `v*` tag
|
||||
prebuilt CI image. **Gate** (`ci.yaml`, every step run via `nix
|
||||
develop -c` so dev and CI share the pinned toolchain): `cargo fmt
|
||||
--check` + `clippy -D warnings` + `cargo test --no-fail-fast` on
|
||||
every branch push / PR. **Verify locally the CI way before pushing**
|
||||
— `nix develop -c cargo fmt --check`, `nix develop -c cargo clippy
|
||||
--all-targets -- -D warnings`, `nix develop -c cargo test` — and read
|
||||
the **exit code**, not piped output (a `cargo fmt --check | tail &&
|
||||
echo clean` masks the real result; a bare host `cargo` may also differ
|
||||
from the pinned toolchain). **Release** on a `v*` tag
|
||||
(`release.yaml`): the four non-macOS **D1** targets cross-built
|
||||
with `cargo-zigbuild` (Linux musl static + standalone Windows
|
||||
`.exe`); the two macOS targets via the **dispatched**
|
||||
`release-macos.yaml` on a Tart Apple-Silicon runner (de-nix the
|
||||
`libiconv` load path + ad-hoc re-sign). All published to a Gitea
|
||||
release with `.sha256`s. **`fmt` is intentionally not gated yet**
|
||||
(the tree isn't stock-`rustfmt`-clean). Now that this is on `main`,
|
||||
release with `.sha256`s. **`fmt` is gated** (`cargo fmt --check`,
|
||||
stock defaults — enabled once the tree was reformatted on `main`,
|
||||
ADR-ci-002 Amendment 1 / issue #35). Now that this is on `main`,
|
||||
`release-macos` is dispatchable (`workflow_dispatch` is
|
||||
Gitea-default-branch-only) — **dispatched and verified working**: the
|
||||
macOS build + de-nix/re-sign + upload runs end-to-end and the binaries
|
||||
|
||||
Reference in New Issue
Block a user