From 6c755fb68f89926cb9174b8d65882464538463ad Mon Sep 17 00:00:00 2001 From: zhanghao Date: Wed, 28 Oct 2026 13:34:13 +0800 Subject: [PATCH 1/2] Release 0.6.6 Cargo.toml still said 0.6.4, so the 0.6.5 image reported 0.6.4 from --version. 0.6.6 is the first release with linux/arm64 images (#4). --- Cargo.lock | 2 +- Cargo.toml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index f29aee3..112bcb6 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -176,7 +176,7 @@ checksum = "1e748733b7cbc798e1434b6ac524f0c1ff2ab456fe201501e6497c8417a4fc33" [[package]] name = "cache-aware-router" -version = "0.6.4" +version = "0.6.6" dependencies = [ "arc-swap", "axum", diff --git a/Cargo.toml b/Cargo.toml index c3417b5..e0ab331 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "cache-aware-router" -version = "0.6.4" +version = "0.6.6" edition = "2021" rust-version = "1.88" description = "Cache-aware router for LLM inference backends: routes requests to the replica that already holds the longest matching prompt prefix, while keeping load balanced." From 72cba1edafd41a3bfeed9c7f265e891c53d1cef3 Mon Sep 17 00:00:00 2001 From: zhanghao Date: Wed, 28 Oct 2026 14:10:46 +0800 Subject: [PATCH 2/2] Refuse a release tag that does not match Cargo.toml The tag names the image, Cargo.toml the version the binary reports from --version, and nothing kept them together: v0.6.5 was released with Cargo.toml at 0.6.4. On a tag push, fail before building unless the tag (its core, for a prerelease such as v0.6.6-rc1) equals the [package] version in Cargo.toml. --- .github/workflows/release.yml | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 0900aa0..9e83c51 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -58,6 +58,21 @@ jobs: with: persist-credentials: false + # The tag names the image; Cargo.toml's version is what the binary reports from + # --version. Nothing tied the two together, and 0.6.5 shipped reporting 0.6.4. + # A prerelease tag (v0.6.6-rc1) is a candidate for its core version: compare that. + - name: Check the tag matches Cargo.toml + if: github.event_name == 'push' + run: | + set -eu + tag="${GITHUB_REF_NAME#v}" + cargo=$(awk '/^\[/{p=($0=="[package]")} p && /^version *=/{gsub(/.*= *"|".*/,""); print; exit}' Cargo.toml) + if [ "${tag%%-*}" != "$cargo" ]; then + echo "::error::tag ${GITHUB_REF_NAME}, but Cargo.toml version is ${cargo:-}; bump Cargo.toml and Cargo.lock before tagging" + exit 1 + fi + echo "tag ${GITHUB_REF_NAME} matches Cargo.toml ${cargo}" + - name: Set up Buildx uses: docker/setup-buildx-action@f87e5991a6d7451dcb8d9637bfbc97413f497069 # v4.4.1