From c3bc11eb5a305b7590b598e941eaf55f0695112b Mon Sep 17 00:00:00 2001 From: Steven Enamakel Date: Tue, 11 Aug 2026 14:33:55 +0300 Subject: [PATCH] fix(release): scope packaging to the published library MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit `cargo package --locked` verifies every default workspace member, including `tinywallet-module` — whose path dependency on this crate carries no version. That is correct for a crate that is `publish = false` and ships as a release artifact rather than to crates.io, but it fails a workspace-wide package step: error: failed to verify manifest at crates/tinywallet-module/Cargo.toml all dependencies must have a version requirement specified when packaging Scoping both steps with `--package tinywallet` publishes the library and leaves the module to the bundle jobs, which is the split that was intended. Co-authored-by: Medulla --- .github/workflows/release.yml | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index b5eaf0a..00a542b 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -136,8 +136,12 @@ jobs: git commit -m "Release ${RELEASE_TAG}" git tag -a "${RELEASE_TAG}" -m "Release ${RELEASE_TAG}" + # Scoped to the library. Unscoped, `cargo package` also verifies + # `tinywallet-module`, whose path dependency on this crate carries no + # version — correct for a crate that is `publish = false` and shipped as + # a release artifact, but fatal to a workspace-wide package step. - name: Package crate - run: cargo package --locked + run: cargo package --locked --package tinywallet - name: Push release commit and tag env: @@ -148,7 +152,7 @@ jobs: git push origin "${RELEASE_TAG}" - name: Publish to crates.io - run: cargo publish --locked + run: cargo publish --locked --package tinywallet env: CARGO_REGISTRY_TOKEN: ${{ secrets.CARGO_REGISTRY_TOKEN }}