From ccec91d95743b03b932bc371b98050616b5f3c7c Mon Sep 17 00:00:00 2001 From: Will Jones Date: Fri, 22 May 2026 15:00:44 -0700 Subject: [PATCH] fix: use releases API in check_lance_release.py (#3427) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Previously `check_lance_release.py` used `git/refs/tags` with `--paginate --jq`, which drops the last page in some `gh` versions. The 7.x Lance tags all landed on the final (partial) page, causing the script to report `v6.0.1` as the latest and never triggering an update. Switch to the releases API with `per_page=20`, which returns the 20 most recent releases sorted newest-first — one API call, no pagination needed. Co-authored-by: Claude Sonnet 4.6 --- ci/check_lance_release.py | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/ci/check_lance_release.py b/ci/check_lance_release.py index e906dd489..47f1cdbde 100755 --- a/ci/check_lance_release.py +++ b/ci/check_lance_release.py @@ -112,25 +112,25 @@ def fetch_remote_tags() -> List[TagInfo]: "api", "-X", "GET", - f"repos/{LANCE_REPO}/git/refs/tags", - "--paginate", + f"repos/{LANCE_REPO}/releases", "--jq", - ".[].ref", + ".[].tag_name", + "-F", + "per_page=20", ] ) tags: List[TagInfo] = [] for line in output.splitlines(): - ref = line.strip() - if not ref.startswith("refs/tags/v"): + tag = line.strip() + if not tag.startswith("v"): continue - tag = ref.split("refs/tags/")[-1] version = tag.lstrip("v") try: tags.append(TagInfo(tag=tag, version=version, semver=parse_semver(version))) except ValueError: continue if not tags: - raise RuntimeError("No Lance tags could be parsed from GitHub API output") + raise RuntimeError("No Lance releases could be parsed from GitHub API output") return tags