From e227e7ca261eb299788b719360bb8065785ca7a7 Mon Sep 17 00:00:00 2001 From: willbot Date: Tue, 18 Aug 2026 12:34:07 +0200 Subject: [PATCH] Integration tests skip merge-queue groups and run nightly for the launch window Integration Tests is not a required check during the launch window (until ~2026-08-21), so a queue group running it spends half an hour of runner time on a check that cannot block the merge. The job now skips merge_group events and keeps running on every pull request. An unrequired check is how a red e2e sat silently on main from rc.2 until #30057, so integration-nightly.yml runs the same job on main every night (and on demand) while the requirement is lifted. Both changes are marked for removal when the check becomes required again. Signed-off-by: willbot Signed-off-by: Will Madden --- .github/workflows/ci.yml | 6 +++ .github/workflows/integration-nightly.yml | 49 +++++++++++++++++++++++ 2 files changed, 55 insertions(+) create mode 100644 .github/workflows/integration-nightly.yml diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 6baabcdb3677..3be90c6767c1 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -250,6 +250,12 @@ jobs: test-integration: name: Integration Tests needs: [build, changes] + # Launch window (until ~2026-08-21): not run in merge-queue groups, so + # queue throughput is not spent on a check that no longer blocks the + # merge. Still runs on every PR, and nightly on main + # (integration-nightly.yml). Remove this condition after launch, when + # the check becomes required again. + if: github.event_name != 'merge_group' runs-on: ubuntu-latest env: TEST_TIMEOUT_MULTIPLIER: 2 diff --git a/.github/workflows/integration-nightly.yml b/.github/workflows/integration-nightly.yml new file mode 100644 index 000000000000..e9340ad76445 --- /dev/null +++ b/.github/workflows/integration-nightly.yml @@ -0,0 +1,49 @@ +name: Integration Nightly + +# While Integration Tests is not a required check (the launch window, +# until ~2026-08-21), this nightly run on main is what keeps regressions +# from sitting unnoticed — an unrequired check is how a red e2e sat +# silently on main from rc.2 until #30057. Delete this workflow when the +# check is required again. + +on: + schedule: + - cron: "0 3 * * *" + workflow_dispatch: + +permissions: + contents: read + +jobs: + test-integration: + name: Integration Tests (nightly, main) + runs-on: ubuntu-latest + env: + TEST_TIMEOUT_MULTIPLIER: 2 + services: + postgres: + image: postgres:15 + env: + POSTGRES_USER: postgres + POSTGRES_PASSWORD: postgres + POSTGRES_DB: postgres + ports: + - 5432:5432 + options: >- + --health-cmd="pg_isready -U postgres" + --health-interval=10s + --health-timeout=5s + --health-retries=5 + steps: + - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 + with: + persist-credentials: false + - uses: ./.github/actions/setup + - name: Install dependencies + run: pnpm install --frozen-lockfile + - name: Build + run: pnpm build + - name: Run Integration tests + run: pnpm test:integration + - name: Check working tree is clean + run: pnpm check:clean-tree