From 155c98c503f19002a4bc27db0e2871bb04621d2b Mon Sep 17 00:00:00 2001 From: Myasnikov Daniil Date: Tue, 28 Apr 2026 17:00:43 +0500 Subject: [PATCH] fix(ci): skip prereleases when picking openapi.json release The build script picked v1.3.0-rc.1 over v1.3.0 for the v1.3 docs because GNU `sort -V` orders prerelease tags AFTER the matching stable version (opposite of semver), and the jq filter only excluded drafts. Add `prerelease == false` to the filter so prerelease tags are dropped before sorting. Signed-off-by: Myasnikov Daniil --- hack/download_openapi.sh | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/hack/download_openapi.sh b/hack/download_openapi.sh index 3d2d0b04..f4dea03c 100755 --- a/hack/download_openapi.sh +++ b/hack/download_openapi.sh @@ -50,9 +50,11 @@ for version_dir in ${DOCS_BASE}/v*/; do echo "Finding latest release for $version (pattern: ${tag_pattern})..." - # Find the latest non-draft release matching this version + # Find the latest stable release matching this version. Prereleases must be + # excluded explicitly: GNU `sort -V` orders e.g. v1.3.0-rc.1 AFTER v1.3.0 + # (opposite of semver), so without this filter `tail -1` would pick the rc. latest_tag=$(echo "$RELEASES_JSON" \ - | jq -r '.[] | select(.draft == false) | .tag_name' \ + | jq -r '.[] | select(.draft == false and .prerelease == false) | .tag_name' \ | grep -E "$tag_pattern" \ | sort -V \ | tail -1 || true)