Skip to content

Commit cc69ced

Browse files
dmealingclaude
andcommitted
ci: R4 — gate main PRs with the persistence + api-contract suites
These Docker/Testcontainers corpora are not in the default mvn/dotnet/bun test path, so persistence/api-contract drift could merge to main green (conformance.yml doesn't cover them; integration-tests.yml previously ran only on release tags + opt-in label). Now it also runs on every pull_request to main across all 5 ports. Header notes how to dial back if main-PR CI cost is too high. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
1 parent 42f2e0a commit cc69ced

1 file changed

Lines changed: 11 additions & 10 deletions

File tree

.github/workflows/integration-tests.yml

Lines changed: 11 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,27 +1,28 @@
11
name: integration-tests
22

3-
# Enforces the release-gate documented in docs/RELEASING.md — every release
4-
# tag run the on-demand persistence-conformance suite against a real Postgres
5-
# (via Testcontainers). Per-language jobs run in parallel; any port red
6-
# blocks the gate.
3+
# Enforces the persistence + api-contract conformance corpora — the Docker /
4+
# Testcontainers suites that are NOT in the default `mvn test` / `dotnet test` /
5+
# `bun test` path — against a real Postgres for all five ports. Per-language jobs
6+
# run in parallel; any port red blocks the gate.
77
#
88
# Triggers:
9-
# - tag push matching v* (release path)
10-
# - labeled PR with `run-integration` (opt-in for big PRs)
11-
# - manual dispatch (workflow_dispatch)
9+
# - pull_request to `main` — gates the default branch so persistence/api-contract
10+
# drift can't merge green (these corpora are not covered by conformance.yml).
11+
# - tag push matching v* (release gate, per docs/RELEASING.md).
12+
# - manual dispatch (workflow_dispatch).
13+
# NOTE: this runs a 5-port Testcontainers matrix; if main-PR CI cost is too high,
14+
# narrow `pull_request.branches` or re-introduce an opt-in label.
1215

1316
on:
1417
push:
1518
tags:
1619
- 'v*'
1720
pull_request:
18-
types: [labeled]
21+
branches: [main]
1922
workflow_dispatch:
2023

2124
jobs:
2225
release-gate:
23-
# Run on tag pushes always; on PRs only if the run-integration label was applied.
24-
if: github.event_name != 'pull_request' || github.event.label.name == 'run-integration'
2526
runs-on: ubuntu-latest
2627
strategy:
2728
fail-fast: false

0 commit comments

Comments
 (0)