From 7552b8be494ed3b4dce383476d1b8ee96dadfae7 Mon Sep 17 00:00:00 2001 From: David Heinemeier Hansson Date: Sun, 27 Sep 2026 12:21:37 -0700 Subject: [PATCH] Skip packages a PR deletes when planning PR builds Co-Authored-By: Claude Opus 5.5 --- .github/workflows/build-pr.yml | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/.github/workflows/build-pr.yml b/.github/workflows/build-pr.yml index d79b7bf..a3f42c8 100644 --- a/.github/workflows/build-pr.yml +++ b/.github/workflows/build-pr.yml @@ -88,8 +88,12 @@ jobs: if [[ -n "${{ github.event.inputs.packages }}" ]]; then names="${{ github.event.inputs.packages }}" else + # A package the PR deletes has nothing to build. names=$(git diff --name-only "${{ github.event.pull_request.base.sha }}" "${{ github.event.pull_request.head.sha }}" -- pkgbuilds \ - | awk -F/ '$1=="pkgbuilds" && NF>2 {print $2}' | sort -u) + | awk -F/ '$1=="pkgbuilds" && NF>2 {print $2}' | sort -u \ + | while read -r name; do + if git cat-file -e "${{ github.event.pull_request.head.sha }}:pkgbuilds/$name" 2>/dev/null; then echo "$name"; fi + done) fi matrix=$(printf '%s\n' $names | bin/build-matrix) # A package directory whose exact tree already has a build artifact