From d15bfc2cb0b9706b3df21822b0cb81aeb3d55da1 Mon Sep 17 00:00:00 2001 From: Garrett Delfosse Date: Wed, 1 Apr 2026 14:23:57 -0400 Subject: [PATCH] fix(install.sh): filter pre-release tags from mainline version resolution (#23939) The `echo_latest_mainline_version()` function fetches all GitHub releases and sorts by version number to find the latest mainline release. It did not filter out pre-release tags (e.g. `v2.32.0-rc.0`), so publishing an RC release caused `coder.com/install.sh` to resolve the RC as the latest mainline version instead of the actual mainline release. Adds a `grep` filter for strict semver (`MAJOR.MINOR.PATCH`) before sorting, so tags with pre-release suffixes like `-rc.0` are excluded from version resolution. --- install.sh | 3 +++ 1 file changed, 3 insertions(+) diff --git a/install.sh b/install.sh index f32403d966..11ff394ddc 100755 --- a/install.sh +++ b/install.sh @@ -126,9 +126,12 @@ echo_latest_mainline_version() { exit 1 fi + # Filter to strict semver (MAJOR.MINOR.PATCH) to exclude + # pre-release tags like RC builds from version resolution. echo "$body" | awk -F'"' '/"tag_name"/ {print $4}' | tr -d v | + grep '^[0-9]\+\.[0-9]\+\.[0-9]\+$' | tr . ' ' | sort -k1,1nr -k2,2nr -k3,3nr | head -n1 |