From 639c313144432e61123249c05c33f77d76b8ff2b Mon Sep 17 00:00:00 2001 From: jdx <216188+jdx@users.noreply.github.com> Date: Fri, 23 Oct 2026 13:05:29 +0000 Subject: [PATCH 1/2] fix(release): list every release when finding unreleased versions gh release list --limit 100 stopped covering the repo once it passed 100 releases, so the oldest versions (3.2.1, 3.2.2) looked unreleased and were rebuilt and republished. Co-Authored-By: Claude Sonnet 5.5 --- .github/workflows/release-new.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/release-new.yml b/.github/workflows/release-new.yml index 8226a5c..32b3d38 100644 --- a/.github/workflows/release-new.yml +++ b/.github/workflows/release-new.yml @@ -44,7 +44,8 @@ jobs: versions_to_release="$recipe_versions" echo "Replacing all releases" else - existing_releases=$(gh release list --limit 100 --json tagName --jq '.[].tagName' || true) + # Must cover every release: a capped listing drops the oldest ones and they get rebuilt. + existing_releases=$(gh release list --limit 10000 --json tagName --jq '.[].tagName' || true) versions_to_release="" for version in $recipe_versions; do if ! echo "$existing_releases" | grep -q "^${version}$"; then From f6beaee4af71ca77c7b02b780ecec8888070b55d Mon Sep 17 00:00:00 2001 From: jdx <216188+jdx@users.noreply.github.com> Date: Fri, 23 Oct 2026 13:09:29 +0000 Subject: [PATCH 2/2] fix(release): fail when release discovery fails With || true, a failed gh release list left the existing set empty and every recipe version was dispatched for release. Co-Authored-By: Claude Sonnet 5.5 --- .github/workflows/release-new.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/release-new.yml b/.github/workflows/release-new.yml index 32b3d38..27e3c29 100644 --- a/.github/workflows/release-new.yml +++ b/.github/workflows/release-new.yml @@ -45,7 +45,7 @@ jobs: echo "Replacing all releases" else # Must cover every release: a capped listing drops the oldest ones and they get rebuilt. - existing_releases=$(gh release list --limit 10000 --json tagName --jq '.[].tagName' || true) + existing_releases=$(gh release list --limit 10000 --json tagName --jq '.[].tagName') versions_to_release="" for version in $recipe_versions; do if ! echo "$existing_releases" | grep -q "^${version}$"; then