From eec4a85a817f0136b750df9210050020586e8c93 Mon Sep 17 00:00:00 2001 From: RLRabinowitz Date: Mon, 9 Feb 2026 13:13:02 +0200 Subject: [PATCH] Add delay-gate job to defer required-check creation When the 'delay-checks' label is present on a PR, a new delay-gate job sleeps ~30s before the required-check job starts, pushing its CheckRun to page 2+ in GraphQL statusCheckRollup pagination. Without the label, all jobs run immediately. Co-Authored-By: Claude Opus 4.6 --- .github/workflows/required-workflow.yml | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/.github/workflows/required-workflow.yml b/.github/workflows/required-workflow.yml index de93485..ed553aa 100644 --- a/.github/workflows/required-workflow.yml +++ b/.github/workflows/required-workflow.yml @@ -6,7 +6,22 @@ on: types: [opened, synchronize, labeled, unlabeled] jobs: + # Shared delay gate - when 'delay-checks' label is present, sleeps ~30s so that + # dependent jobs' CheckRuns are created later (pushing them to page 2+ in GraphQL pagination) + delay-gate: + runs-on: ubuntu-latest + steps: + - name: Delay if label present + if: contains(github.event.pull_request.labels.*.name, 'delay-checks') + run: | + echo "Delaying ~30 seconds due to 'delay-checks' label" + sleep 30 + - name: No delay + if: ${{ !contains(github.event.pull_request.labels.*.name, 'delay-checks') }} + run: echo "No delay label, proceeding immediately" + required-check: + needs: [delay-gate] runs-on: ubuntu-latest steps: - name: Check for fail label