From 2e3aa58c425b69cb0e528cdebdfc1d2ab200c9e8 Mon Sep 17 00:00:00 2001 From: Allen Houchins <32207388+allenhouchins@users.noreply.github.com> Date: Tue, 16 Sep 2025 09:08:01 -0500 Subject: [PATCH] Update dogfood-policy-updater-latest-macos.sh (#33034) - Fixed script logic to not look for latest by using n-1 (ex: macOS 26 to macOS 26-1 or 25) but rather sorting results in descending order. --- .../dogfood-policy-updater-latest-macos.sh | 24 +++++++++++++------ 1 file changed, 17 insertions(+), 7 deletions(-) mode change 100644 => 100755 .github/scripts/dogfood-policy-updater-latest-macos.sh diff --git a/.github/scripts/dogfood-policy-updater-latest-macos.sh b/.github/scripts/dogfood-policy-updater-latest-macos.sh old mode 100644 new mode 100755 index 9eb5e6f099..80323137ff --- a/.github/scripts/dogfood-policy-updater-latest-macos.sh +++ b/.github/scripts/dogfood-policy-updater-latest-macos.sh @@ -104,6 +104,16 @@ previous_major_version=$((latest_major_version - 1)) # Find the latest version of the previous major version previous_major_latest_version=$(echo "$macos_versions" | grep "^$previous_major_version\." | head -n 1) +# If no previous major version found, find the most recent stable version (not the latest) +# This handles cases where the latest version is very new and we want to include a stable fallback +if [ -z "$previous_major_latest_version" ]; then + # Look for the most recent version that's not the latest (skip duplicates) + previous_major_latest_version=$(echo "$macos_versions" | grep -v "^$latest_macos_version$" | head -n 1) + if [ -n "$previous_major_latest_version" ]; then + echo "No previous major version found, using most recent stable version: $previous_major_latest_version" + fi +fi + if [ -z "$latest_macos_version" ]; then echo "Error: Failed to fetch the latest macOS version." exit 1 @@ -111,9 +121,9 @@ fi echo "Latest macOS version: $latest_macos_version" if [ -n "$previous_major_latest_version" ]; then - echo "Latest previous major version (v$previous_major_version): $previous_major_latest_version" + echo "Stable fallback version: $previous_major_latest_version" else - echo "Warning: No previous major version found for v$previous_major_version" + echo "Warning: No stable fallback version found" fi # Initialize update flags @@ -157,11 +167,11 @@ if [ "$policy_latest_version" != "$latest_macos_version" ]; then echo "Policy needs update: latest version changed from $policy_latest_version to $latest_macos_version" fi -# If we have a previous major version, check if it's included in the policy +# If we have a stable fallback version, check if it's included in the policy if [ -n "$previous_major_latest_version" ]; then if ! echo "$policy_versions" | grep -q "^$previous_major_latest_version$"; then policy_needs_update=true - echo "Policy needs update: previous major version $previous_major_latest_version not found in policy" + echo "Policy needs update: stable fallback version $previous_major_latest_version not found in policy" fi fi @@ -272,7 +282,7 @@ if [ "$updates_needed" = true ]; then # Create commit message commit_message="Update macOS version to $latest_macos_version" if [ -n "$previous_major_latest_version" ]; then - commit_message="$commit_message (includes previous major v$previous_major_version: $previous_major_latest_version)" + commit_message="$commit_message (includes stable fallback: $previous_major_latest_version)" fi if [ "$policy_update_needed" = true ]; then @@ -281,7 +291,7 @@ if [ "$updates_needed" = true ]; then - Updated policy to include latest version: $latest_macos_version" if [ -n "$previous_major_latest_version" ]; then commit_message="$commit_message -- Updated policy to include previous major version: $previous_major_latest_version" +- Updated policy to include stable fallback version: $previous_major_latest_version" fi if [ -n "$policy_latest_version" ]; then commit_message="$commit_message @@ -302,7 +312,7 @@ if [ "$updates_needed" = true ]; then # Create a pull request pr_title="Update macOS version to $latest_macos_version" if [ -n "$previous_major_latest_version" ]; then - pr_title="$pr_title (includes v$previous_major_version: $previous_major_latest_version)" + pr_title="$pr_title (includes stable fallback: $previous_major_latest_version)" fi pr_data=$(jq -n --arg title "$pr_title" \ --arg head "$NEW_BRANCH" \