ci: drop the dead crates.io publish job (libfreemkv is git-tag-only)
libfreemkv is publish=false (it git-deps the firmware crate freemkv-unlock, never on crates.io), so the Release workflow's 'cargo publish' step failed hard on every tag. Consumers git-tag-pin libfreemkv; the git tag is the release artifact. Removed the publish job.
This commit is contained in:
@@ -39,29 +39,11 @@ jobs:
|
|||||||
# would always fail (no lockfile to lock against on a fresh runner).
|
# would always fail (no lockfile to lock against on a fresh runner).
|
||||||
- run: cargo test
|
- run: cargo test
|
||||||
|
|
||||||
# crates.io publish is an INDEPENDENT job: it serves EXTERNAL consumers only.
|
# NOTE: there is no crates.io publish job. libfreemkv is git-tag-only
|
||||||
# The freemkv binaries no longer depend on it (they git-tag-pin libfreemkv via
|
# (`package.publish = false` — it git-deps the firmware crate freemkv-unlock,
|
||||||
# a committed [patch.crates-io]), so this publish runs in parallel with their
|
# which never ships to crates.io). Every consumer git-tag-pins libfreemkv via
|
||||||
# release builds rather than gating them. It `needs: [verify, test]` so a
|
# a committed [patch.crates-io]; the git tag itself IS the release artifact.
|
||||||
# failing test suite still blocks publication to crates.io — external
|
# A `cargo publish` here fails hard on `publish = false`, so it was removed.
|
||||||
# consumers who `cargo add libfreemkv` must never receive a release whose
|
|
||||||
# tests were failing. (The two upstream jobs run in parallel, so this gate
|
|
||||||
# does not serialize publish behind test beyond their own completion.)
|
|
||||||
publish:
|
|
||||||
needs: [verify, test]
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
steps:
|
|
||||||
- uses: actions/checkout@v5
|
|
||||||
- uses: dtolnay/rust-toolchain@1.86.0
|
|
||||||
- uses: Swatinem/rust-cache@v2
|
|
||||||
# --no-verify: CI already compiled this exact commit (in the `test` job
|
|
||||||
# and on every push via ci.yml). cargo publish's default re-verify does a
|
|
||||||
# full cold release build of the packaged tarball, which here is pure
|
|
||||||
# redundant work (~a cold lib build). Skip it.
|
|
||||||
- name: Publish to crates.io
|
|
||||||
run: cargo publish --no-verify
|
|
||||||
env:
|
|
||||||
CARGO_REGISTRY_TOKEN: ${{ secrets.CARGO_REGISTRY_TOKEN }}
|
|
||||||
|
|
||||||
release:
|
release:
|
||||||
# Only needs `verify`; the GitHub Release can be cut as soon as the version
|
# Only needs `verify`; the GitHub Release can be cut as soon as the version
|
||||||
|
|||||||
Reference in New Issue
Block a user