v0.18.4: cargo --locked everywhere — hard-fail dependency races

This commit is contained in:
MattJackson
2026-05-09 20:30:34 -07:00
parent 385c9f094c
commit d94451954c
4 changed files with 23 additions and 5 deletions
+2 -2
View File
@@ -14,14 +14,14 @@ jobs:
with: with:
components: clippy, rustfmt components: clippy, rustfmt
- run: cargo fmt --check - run: cargo fmt --check
- run: cargo clippy -- -D warnings - run: cargo clippy --locked -- -D warnings
test: test:
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- uses: actions/checkout@v5 - uses: actions/checkout@v5
- uses: dtolnay/rust-toolchain@1.86.0 - uses: dtolnay/rust-toolchain@1.86.0
- run: cargo test --tests - run: cargo test --locked --tests
check-macos: check-macos:
runs-on: macos-latest runs-on: macos-latest
+2 -2
View File
@@ -28,7 +28,7 @@ jobs:
steps: steps:
- uses: actions/checkout@v5 - uses: actions/checkout@v5
- uses: dtolnay/rust-toolchain@1.86.0 - uses: dtolnay/rust-toolchain@1.86.0
- run: cargo test - run: cargo test --locked
publish: publish:
needs: test needs: test
@@ -37,7 +37,7 @@ jobs:
- uses: actions/checkout@v5 - uses: actions/checkout@v5
- uses: dtolnay/rust-toolchain@1.86.0 - uses: dtolnay/rust-toolchain@1.86.0
- name: Publish to crates.io - name: Publish to crates.io
run: cargo publish run: cargo publish --locked
env: env:
CARGO_REGISTRY_TOKEN: ${{ secrets.CARGO_REGISTRY_TOKEN }} CARGO_REGISTRY_TOKEN: ${{ secrets.CARGO_REGISTRY_TOKEN }}
+18
View File
@@ -1,5 +1,23 @@
# Changelog # Changelog
## 0.18.4 (2026-05-09)
### Build / CI hardening — no library code changes
- All `cargo` invocations in `.github/workflows/*.yml` now use
`--locked`. Previously `cargo build` / `cargo test` could silently
re-resolve `Cargo.lock` if a lock-pinned version wasn't yet on
crates.io — masking dependency races between same-tag releases of
sibling crates. The 0.18.3 release hit this: autorip's docker image
built `libfreemkv v0.18.2` because libfreemkv 0.18.3 hadn't
published yet at the time autorip's CI ran, and cargo silently fell
back to the previous version. With `--locked`, that race now hard-
fails the build with a clear "package X is not in registry" error
and we retrigger after the upstream lands.
- `cargo publish --locked` in the release workflow guards against
publishing a lockfile-mismatched release.
## 0.18.3 (2026-05-09) ## 0.18.3 (2026-05-09)
### Behaviour change ### Behaviour change
+1 -1
View File
@@ -1,6 +1,6 @@
[package] [package]
name = "libfreemkv" name = "libfreemkv"
version = "0.18.3" version = "0.18.4"
edition = "2024" edition = "2024"
rust-version = "1.86" rust-version = "1.86"
license = "AGPL-3.0-only" license = "AGPL-3.0-only"