From 2221b8f0506799328ab63608fd4a6ef7881b4535 Mon Sep 17 00:00:00 2001 From: chen21019 <19357113+chen21019@users.noreply.github.com> Date: Wed, 21 Oct 2026 11:27:48 +0800 Subject: [PATCH] fix: fully consume release version smoke output --- .github/workflows/release.yml | 8 ++++---- README.md | 15 +++++++++------ 2 files changed, 13 insertions(+), 10 deletions(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 0f114753..c049adf3 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -70,10 +70,10 @@ jobs: SOURCE_DATE_EPOCH="$source_epoch" scripts/package test "$(wc -l < dist/images)" -eq 1 grep -Fxq "$SERVICE_IMAGE" dist/images - docker run --rm --entrypoint /usr/bin/lb-controller "$SERVICE_IMAGE" --version \ - | grep -Fq "$GITHUB_REF_NAME" - docker run --rm --entrypoint /usr/sbin/haproxy "$SERVICE_IMAGE" -vv \ - | grep -Fq 'HAProxy version 3.4.3' + controller_version="$(docker run --rm --entrypoint /usr/bin/lb-controller "$SERVICE_IMAGE" --version)" + grep -F "$GITHUB_REF_NAME" <<< "$controller_version" >/dev/null + haproxy_version="$(docker run --rm --entrypoint /usr/sbin/haproxy "$SERVICE_IMAGE" -vv)" + grep -F 'HAProxy version 3.4.3' <<< "$haproxy_version" >/dev/null - name: Scan and create release SBOMs shell: bash diff --git a/README.md b/README.md index e0508094..39f8a353 100644 --- a/README.md +++ b/README.md @@ -14,14 +14,17 @@ ghcr.io/pasturestack/load-balancer-service:v0.9.27 Release deployments pin the image by digest. The image is not intended to be started by itself because the control plane supplies metadata, API credentials, service links, port rules, and health-check configuration. -This branch prepares the `v0.9.29` source candidate for drain weight recovery. +This branch prepares the `v0.9.30` source candidate for drain weight recovery. The candidate has passed the focused local race tests and static checks described below. The signed `v0.9.28` tag is retained, but its release build failed because Alpine no longer served several locked package versions; no runtime image or -GitHub release was published. This candidate updates only those direct-package -pins and the matching OpenSSL safety checks. Protected pull-request CI and native -PastureStack load-balancer QA remain release qualification gates; `v0.9.29` has -not been tagged or published. +GitHub release was published. The signed `v0.9.29` tag refreshed those pins and +built the image, but its version smoke failed with a stdout broken pipe before +scanning or publication. This candidate captures complete version-command output +before checking it, preserving command failures and exact-version checks without +an early-closing pipe. Protected pull-request CI and native PastureStack +load-balancer QA remain release qualification gates; `v0.9.30` has not been tagged +or published. ## Compatibility @@ -36,7 +39,7 @@ It also accepts the generic `CATTLE_ACCESS_KEY` and `CATTLE_SECRET_KEY` pair use The HAProxy logging helper keeps its configuration under the standard `/etc/rsyslog.d` path and does not require a daemon PID file. Logging initialization is validated independently before HAProxy configuration is applied. -### Drain weight recovery (v0.9.29 source candidate) +### Drain weight recovery (v0.9.30 source candidate) The controller records each backend's runtime weight before setting it to zero for `target.drain`, including drains that already have zero active sessions.