From 3cfa2dac4228f548017b8465976d3a6770059588 Mon Sep 17 00:00:00 2001 From: Kim Morrison <477956+kim-em@users.noreply.github.com> Date: Thu, 5 Mar 2026 13:09:51 +1100 Subject: [PATCH] fix: handle CACHE STRING syntax in LEAN_VERSION_IS_RELEASE check (#12800) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This PR fixes a false positive in `release_checklist.py` where the check for the dev cycle being started would fail even when it was correctly set up. The script was looking for `set(LEAN_VERSION_IS_RELEASE 0)` as an exact prefix match, but CMakeLists.txt uses the CMake cache variable form: `set(LEAN_VERSION_IS_RELEASE 0 CACHE STRING "")`. The fix uses a regex that handles both syntaxes. This was discovered during the v4.29.0-rc4 release when the checklist incorrectly reported that a "begin dev cycle" PR was needed, even though PR #12526 had already set `LEAN_VERSION_IS_RELEASE 0` and `LEAN_VERSION_MINOR 30` on master. 🤖 Prepared with Claude Code Co-authored-by: Claude Sonnet 4.6 --- script/release_checklist.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/script/release_checklist.py b/script/release_checklist.py index 721315db76..cb2f43944b 100755 --- a/script/release_checklist.py +++ b/script/release_checklist.py @@ -1014,7 +1014,7 @@ def main(): version_minor_correct = False is_release_correct = any( - l.strip().startswith("set(LEAN_VERSION_IS_RELEASE 0)") + re.match(r'set\(LEAN_VERSION_IS_RELEASE\s+0[\s)]', l.strip()) for l in cmake_lines )