From d56b5566fa7b18d7fb1f1552218e8b59cd8f9bdc Mon Sep 17 00:00:00 2001 From: okxlin <61420215+okxlin@users.noreply.github.com> Date: Tue, 24 Mar 2026 11:40:16 +0000 Subject: [PATCH] refactor: reduce duplicate reconcile dispatches --- .../workflows/renovate-automerge-reconcile.yml | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) diff --git a/.github/workflows/renovate-automerge-reconcile.yml b/.github/workflows/renovate-automerge-reconcile.yml index 49fefac16..cdccd9a56 100644 --- a/.github/workflows/renovate-automerge-reconcile.yml +++ b/.github/workflows/renovate-automerge-reconcile.yml @@ -2,7 +2,7 @@ name: Reconcile eligible Renovate PRs for automerge on: schedule: - - cron: '*/15 * * * *' + - cron: '*/30 * * * *' workflow_dispatch: permissions: @@ -35,9 +35,15 @@ jobs: fi mapfile -t pr_numbers < <( - gh pr list --repo "$REPO" --state open --limit 200 \ - --json number,author,labels \ - --jq '.[] | select(.author.login == "app/renovate" or .author.login == "renovate[bot]") | select(([.labels[].name] | index("renovate-auto")) | not) | .number' + gh pr list --repo "$REPO" --state open --limit 100 \ + --json number,author,labels,isDraft,baseRefName \ + --jq '.[] + | select(.author.login == "app/renovate" or .author.login == "renovate[bot]") + | select(.isDraft | not) + | select(.baseRefName == "localApps") + | select(([.labels[].name] | index("renovate-auto")) | not) + | select(([.labels[].name] | index("renovate-auto-reconcile")) | not) + | .number' ) eligible=() @@ -112,6 +118,9 @@ jobs: run: | while IFS= read -r pr_number; do [ -n "$pr_number" ] || continue + gh pr edit "$pr_number" \ + --repo "$REPO" \ + --add-label renovate-auto-reconcile gh workflow run .github/workflows/renovate-automerge.yml \ --repo "$REPO" \ -f pr_number="$pr_number"