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