From 507ad2864df4be75609242ad81b28964ac1986c5 Mon Sep 17 00:00:00 2001 From: Steven Enamakel Date: Sun, 23 Aug 2026 11:46:05 +0300 Subject: [PATCH] ci(release): remove cargo publish steps that blocked releases MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The release workflow previously attempted to publish both the bus contract and the main crate to crates.io, but neither crate is actually published there — they are consumed as git submodules and the real artifact is the module bundle built later in the same job. The missing `CARGO_REGISTRY_TOKEN` caused these steps to fail, taking the entire release down with them and blocking the `native-bundles` job that depends on this workflow succeeding. The fix removes the `cargo publish` calls entirely and keeps only `cargo package` for the bus contract as a cheap manifest validation step, while dropping the packaging of the main crate because its path dependency on the bus contract makes it unpackageable without a registry lookup. Auto-committed-on: dragonfly Co-authored-by: Medulla --- .github/workflows/release.yml | 27 +++++++++++++++------------ 1 file changed, 15 insertions(+), 12 deletions(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 8169398..8713c08 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -144,17 +144,21 @@ jobs: git commit -m "Release ${RELEASE_TAG}" git tag -a "${RELEASE_TAG}" -m "Release ${RELEASE_TAG}" - - name: Package and publish the bus contract - run: | - set -euo pipefail - cargo package --locked --package tinydocs-bus - cargo publish --locked --package tinydocs-bus - - - name: Package and publish crate - run: | - set -euo pipefail - cargo package --locked --package tinydocs - cargo publish --locked --package tinydocs + # Neither crate is published to crates.io. Both are consumed as a git + # submodule by their hosts, and what a host actually loads is the module + # artifact this workflow builds further down, so a registry upload would + # be a third distribution channel nobody reads. The `cargo publish` steps + # that used to be here failed on a missing `CARGO_REGISTRY_TOKEN` and took + # the whole release with them — `native-bundles` needs this job to + # succeed, so a token nobody had gated every module artifact. + # + # `cargo package` stays for the bus contract: it is the check that the + # published manifest is packageable at all, and it is cheap. It cannot + # stay for `tinydocs`, which depends on `tinydocs-bus` by path — packaging + # rewrites a path dependency to a registry version and then looks it up, + # so it fails on a crate that by design will never be in the index. + - name: Package the bus contract + run: cargo package --locked --package tinydocs-bus - name: Package TinyBus source and module SDK run: | @@ -172,7 +176,6 @@ jobs: name: source-packages path: | target/package/tinydocs-bus-${{ steps.version.outputs.next_version }}.crate - target/package/${{ steps.version.outputs.crate_name }}-${{ steps.version.outputs.next_version }}.crate target/package/tinybus-source-*.tar.gz if-no-files-found: error