From 1367589b28407f85df1faad107e3bea263500451 Mon Sep 17 00:00:00 2001 From: Joshua Hogendorn Date: Wed, 3 Jun 2026 20:33:03 +1000 Subject: [PATCH] ci(release): cargo publish --allow-dirty (Cargo.lock churn) Resolving against the freshly-cloned sibling soap-server plus the now-published 0.1.1 regenerates Cargo.lock during the publish build, tripping the dirty-tree check. Pass --allow-dirty: published contents are governed by the Cargo.toml `include` allowlist, not working-tree state, so the regenerated lock does not leak anything. Co-Authored-By: Claude Opus 4.8 (1M context) --- .github/workflows/release.yml | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index fd21f45..2f7940e 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -84,7 +84,11 @@ jobs: env: CARGO_REGISTRY_TOKEN: ${{ steps.crates-auth.outputs.token }} run: | - if cargo publish 2>publish.err; then + # --allow-dirty: resolving against the cloned sibling soap-server + the + # now-published version regenerates Cargo.lock, which would otherwise trip + # the dirty-tree check. Published contents are governed by the Cargo.toml + # `include` allowlist, not the working-tree state, so this is safe. + if cargo publish --allow-dirty 2>publish.err; then cat publish.err echo "Published v${{ steps.ver.outputs.version }} to crates.io." elif grep -qiE "already (exists|uploaded)|is already uploaded|crate version .* is already" publish.err; then