From f1d7e69c731490743350a8110f8428bc0d8a16bf Mon Sep 17 00:00:00 2001 From: Justin Kovacich Date: Thu, 10 Sep 2026 13:32:40 -0400 Subject: [PATCH] ci: enable cargo-semver-checks now that 0.6.0 is published The flag was off because cargo-semver-checks diffs the crate's public API against its published baseline, and there was none. The 0.6.0 release-plz publish created one, which is the condition the comment said to wait for. Also records what the check cannot do, so the flip does not read as more coverage than it is: it inspects the API surface, so 0.6.0's own `Message::encode` change -- same signature, different bytes -- would have passed it clean. Behavioral breaks still need `!` on the PR title by hand. Co-Authored-By: Claude Opus 5 (1M context) --- .github/workflows/main.yml | 19 +++++++++++-------- 1 file changed, 11 insertions(+), 8 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index bb55dfb..0266985 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -57,15 +57,18 @@ jobs: # still packages, and it needs no credentials. run-publish-dry-run: true - # OFF until the first version is on crates.io. `cargo-semver-checks` - # diffs against the published baseline, and there is none yet -- turn - # this on once the first release-plz publish has happened. + # ON as of the 0.6.0 publish (2026-09-10), which gave + # `cargo-semver-checks` the crates.io baseline it diffs against. It was + # off before that because there was no published version to compare to. # - # Worth knowing when it is on: it reads the public API surface, so it - # catches a changed signature and not a changed behavior. A function - # that starts emitting different bytes passes it. Breaking changes of - # that kind still have to be marked `!` on the PR title by hand. - run-semver-checks: false + # Know what this does and does not buy: it reads the public API + # surface, so it catches a changed signature and not a changed + # behavior. A function that starts emitting different bytes passes it + # clean -- which is exactly what 0.6.0's `Message::encode` change was, + # so this check would not have caught the break that forced that bump. + # Behavioral breaks still have to be marked `!` on the PR title by + # hand; see CONTRIBUTING.md. + run-semver-checks: true # Both on as of the ported suites in `tests/property.rs` and `fuzz/`. #