From 5668ad9a8da371d0587f87efafec75390085b77b Mon Sep 17 00:00:00 2001 From: Michel Roegl-Brunner <73236783+michelroegl-brunner@users.noreply.github.com> Date: Tue, 2 Jun 2026 10:25:05 +0200 Subject: [PATCH] fix(workflow): only flag node drift when local is behind upstream (#14874) Update the node version drift check to count drift only when our script version is lower than upstream, so newer local versions no longer create false-positive drift issues. Co-authored-by: Michel Roegl-Brunner --- .github/workflows/check-node-versions.yml | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) diff --git a/.github/workflows/check-node-versions.yml b/.github/workflows/check-node-versions.yml index 1e3db3081..86b8e8f09 100644 --- a/.github/workflows/check-node-versions.yml +++ b/.github/workflows/check-node-versions.yml @@ -336,14 +336,18 @@ jobs: issue_scripts+=("$slug|$our_version|$upstream_major|$upstream_hint|$repo") drift_count=$((drift_count + 1)) elif [[ -n "$upstream_major" && "$our_version" != "$upstream_major" ]]; then - # Check if engines.node is a minimum constraint that our version satisfies - if [[ -z "$DF_NODE_MAJOR" && "$ENGINES_IS_MINIMUM" == "true" ]] && \ - version_satisfies_engines "$our_version" "$ENGINES_MIN_MAJOR" "$ENGINES_IS_MINIMUM"; then - status="✅ (engines: $ENGINES_NODE_RAW — ours: $our_version satisfies)" + if (( our_version < upstream_major )); then + # Check if engines.node is a minimum constraint that our version satisfies + if [[ -z "$DF_NODE_MAJOR" && "$ENGINES_IS_MINIMUM" == "true" ]] && \ + version_satisfies_engines "$our_version" "$ENGINES_MIN_MAJOR" "$ENGINES_IS_MINIMUM"; then + status="✅ (engines: $ENGINES_NODE_RAW — ours: $our_version satisfies)" + else + status="🔸 Drift → upstream=$upstream_major ($upstream_hint)" + issue_scripts+=("$slug|$our_version|$upstream_major|$upstream_hint|$repo") + drift_count=$((drift_count + 1)) + fi else - status="🔸 Drift → upstream=$upstream_major ($upstream_hint)" - issue_scripts+=("$slug|$our_version|$upstream_major|$upstream_hint|$repo") - drift_count=$((drift_count + 1)) + status="✅ Ahead of upstream ($upstream_major via $upstream_hint)" fi fi