From 9c8ab2fba46b39cdf9c6aff4410d354f2f8189ec Mon Sep 17 00:00:00 2001 From: Anton Date: Fri, 1 May 2026 18:00:17 +0200 Subject: [PATCH] ci: pass --allow-dirty to cargo package/publish The CI vendor step clones rayforce into vendor/rayforce/ at run time, but vendor/ is gitignored (the source of truth lives in upstream rayforce + .rayforce-version, not the committed tree). cargo package would otherwise refuse to ship what it sees as 'uncommitted changes' from those untracked files. Caught by the dry-run dispatch on PR #12's merge commit; the workflow exited with status 101 listing every vendor/rayforce/ file as untracked. --- .github/workflows/publish.yml | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index 57fadd9..3744ac0 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -123,10 +123,15 @@ jobs: cargo search raysense --limit 1 | grep -q "^raysense = \"$VERSION\"" } + # `--allow-dirty` is required because the CI vendor step writes + # vendor/rayforce/ at clone time, but vendor/ is in .gitignore + # (the source of truth is upstream + .rayforce-version, not the + # committed tree). cargo package would otherwise refuse to ship + # what it sees as "uncommitted changes". if [[ "$DRY_RUN" == "true" ]]; then echo "::notice::Dry run: cargo package + cargo publish --dry-run" - cargo package - cargo publish --dry-run + cargo package --allow-dirty + cargo publish --dry-run --allow-dirty exit 0 fi @@ -135,8 +140,8 @@ jobs: exit 0 fi - cargo package - cargo publish + cargo package --allow-dirty + cargo publish --allow-dirty # Wait for the registry index to catch up before declaring success. for delay in 10 20 30 60 90; do