From 7209ae28584ef97541a04cbebb1b4c571018529d Mon Sep 17 00:00:00 2001 From: Adam Streambling Date: Tue, 29 Sep 2026 21:59:09 +0300 Subject: [PATCH] Fixed the weekly WSL tag check exiting silently under bash -e The loop that picked the newest tag in a series returned 1 whenever the last upstream tag belonged to another series, which bash -e treated as a failure before anything was printed. awk always exits 0 here, and an empty result is still reported as an error by the check that follows. Co-Authored-By: Claude Opus 5.5 (1M context) --- .github/workflows/kernel-backends.yml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/.github/workflows/kernel-backends.yml b/.github/workflows/kernel-backends.yml index f491ecf..4d3ffd0 100644 --- a/.github/workflows/kernel-backends.yml +++ b/.github/workflows/kernel-backends.yml @@ -196,7 +196,9 @@ jobs: status=0 for tag in $pinned; do series=$(series_of "$tag") - latest=$(while read -r t; do [[ $(series_of "$t") == "$series" ]] && echo "$t"; done <<<"$upstream" | tail -1) + # awk, not a read loop: the step runs under bash -e, and a loop whose + # last test fails would end the script silently. + latest=$(awk -v s="$series." 'index($0, s) == 1' <<<"$upstream" | tail -1) if [[ $latest == "$tag" ]]; then echo "$tag is the newest $series tag" else