From 6178f62f9cedc081dceaa32b934734de72fe651f Mon Sep 17 00:00:00 2001 From: Seth Fitzsimmons Date: Wed, 5 Aug 2026 09:08:09 -0700 Subject: [PATCH] fix(ci): tolerate no-package diff in changelog fragment check The touched-packages pipeline ran grep -oE '^packages/[^/]+/' under set -euo pipefail. On a PR touching no package the grep matched nothing, exited 1, and the command substitution aborted the job with a bare exit 1 and no output -- a false failure indistinguishable from a real missing fragment. Guard the pipeline with || true, matching the has_* greps. Fixes #635 Signed-off-by: Seth Fitzsimmons --- .github/workflows/require-changelog-fragment.yaml | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/.github/workflows/require-changelog-fragment.yaml b/.github/workflows/require-changelog-fragment.yaml index 2a7c249ba..7a7f317df 100644 --- a/.github/workflows/require-changelog-fragment.yaml +++ b/.github/workflows/require-changelog-fragment.yaml @@ -42,6 +42,10 @@ jobs: changed=$(git diff --name-only "origin/${BASE_REF}...HEAD") # Packages with changes outside their own changelog artifacts. + # `|| true`: on a PR that touches no package, grep -oE finds no match + # and exits 1, which under `set -euo pipefail` would abort the job + # with a bare exit 1 and no output -- the same guard the has_* greps + # below already use. touched=$(echo "$changed" \ | grep -oE '^packages/[^/]+/' \ | sort -u \ @@ -52,7 +56,7 @@ jobs: | grep -q .; then echo "$pkg" fi - done) + done || true) missing="" for pkg in $touched; do