Skip to content

fix(ci): restore 1.13 Playwright shard distribution - #31851

Merged
shah-harshit merged 1 commit into
1.13from
fix-test-shard-distribution
Aug 21, 2026
Merged

fix(ci): restore 1.13 Playwright shard distribution#31851
shah-harshit merged 1 commit into
1.13from
fix-test-shard-distribution

Conversation

@shah-harshit

@shah-harshit shah-harshit commented Aug 21, 2026

Copy link
Copy Markdown
Contributor

Describe your changes:

Follow-up to #31587 and #31835.

The PostgreSQL PR Playwright workflow on 1.13 intends matrix shards 2–6 to execute Chromium shards 1/5 through 5/5. In run 32371168076, matrix shard 2 instead discovered 3,718 tests while shards 3–6 completed without executing their intended test sets.

Root cause

PR #31587 added IntakeFormCustomPropertyFields and IntakeForm to the same sharded command as chromium. At that point both projects depended on the Chromium project. Playwright applies --shard to primary tests and then includes the full dependency projects, so the first effective shard pulled in the complete Chromium dependency suite and the remaining shards were empty.

PR #31835 corrected the Intake Form dependency graph and the nightly workflows, but the PostgreSQL PR workflow still co-listed the stateful Intake Form projects with Chromium. With the current dependency graph, that layout can also run Intake Form alongside Chromium tests sharing the same database. Intake Form temporarily changes global required-field configuration, which can make parallel domain and data-product creation fail with HTTP 400 responses.

What changed

  • Keep the existing six-job matrix.
  • Keep shards 2–6 as Chromium shards 1/5 through 5/5 and remove the Intake Form projects from that command.
  • Run IntakeForm as a second, isolated invocation on shard 1. Its project dependency runs IntakeFormCustomPropertyFields first.
  • Upload shard 1 primary artifacts before starting Intake Form because Playwright clears its output paths for each invocation.
  • Upload the Intake Form report, traces, and JSON under unique artifact names so the consolidated summary can include both executions.
  • Continue to run Intake Form after an ordinary primary-test failure for complete diagnostics, while avoiding execution when setup never reached the primary test step or the job was cancelled.

Why this approach

This preserves the existing runner count and five-way Chromium parallelism, isolates the globally stateful tests from every project that creates domains or data products, and retains diagnostics from both shard 1 invocations. The isolated step only receives OSS mode and the GitHub token; connector credentials remain scoped to the existing primary test step.

This regression is specific to the legacy static 1.13 workflow. The 2.0 branch uses duration-aware shard plans with explicit project/file assignments, and main uses the newer reusable dynamic workflow.

Type of change:

  • Bug fix

Checklist:

  • I have read the CONTRIBUTING document.
  • I have commented on the non-obvious test isolation and artifact-ordering constraints.
  • JSON Schema migrations are not applicable.

Validation

  • Parsed the modified workflow as YAML.
  • Ran a regression assertion confirming six matrix jobs, isolated shard-1 Intake Form execution, and Chromium shards 2–6 remaining five-way.
  • Verified Intake Form runs only after the primary test step was attempted and uploads separate artifacts.
  • Ran git diff --check.

Greptile Summary

This PR restores five-way Chromium sharding in the PostgreSQL Playwright workflow and moves the stateful Intake Form suite into an isolated shard-1 invocation.

  • Removes Intake Form projects from Chromium shards 2–6.
  • Adds a separate Intake Form execution after shard 1's primary tests.
  • Uploads independently named reports, traces, and JSON results for the isolated execution.
  • The new execution condition does not actually run after a primary-test failure as intended.

Confidence Score: 4/5

The workflow should not merge until the isolated Intake Form step is made to run after an ordinary primary-test failure as intended.

The new condition does not override GitHub Actions' implicit success gating, causing Intake Form coverage and diagnostics to be skipped whenever shard 1's primary tests fail.

Files Needing Attention: .github/workflows/playwright-postgresql-e2e.yml

Important Files Changed

Filename Overview
.github/workflows/playwright-postgresql-e2e.yml Restores Chromium shard distribution and isolates Intake Form tests, but the isolated step is skipped when the primary test step fails.

Flowchart

%%{init: {'theme': 'neutral'}}%%
flowchart TD
  A[Shard 1 setup] --> B[Primary Playwright tests]
  B -->|success| C[Upload primary artifacts]
  B -->|failure| D[Job failure state]
  C --> E[Run isolated Intake Form]
  D -. implicit success condition blocks step .-> F[Intake Form skipped]
  E --> G[Upload Intake Form artifacts]
  G --> H[Consolidated summary]
Loading

Reviews (1): Last reviewed commit: "fix(ci): restore Playwright shard distri..." | Re-trigger Greptile

Greptile also left 1 inline comment on this PR.

@shah-harshit shah-harshit added UI UI specific issues safe to test Add this label to run secure Github workflows on PRs skip-pr-checks Bypass PR metadata validation check labels Aug 21, 2026
@shah-harshit shah-harshit self-assigned this Aug 21, 2026
@gitar-bot

gitar-bot Bot commented Aug 21, 2026

Copy link
Copy Markdown
Code Review ✅ Approved

Restores correct Playwright test shard distribution and workflow isolation on the 1.13 branch by separating stateful Intake Form projects from Chromium shards. No issues found.

Options

Display: compact → Showing less information.

Comment with these commands to change the behavior for this request:

Compact
gitar display:verbose         

Was this helpful? React with 👍 / 👎 | Powered by Gitar — free for open source

Comment thread .github/workflows/playwright-postgresql-e2e.yml
@shah-harshit
shah-harshit merged commit e850a15 into 1.13 Aug 21, 2026
133 of 177 checks passed
@shah-harshit
shah-harshit deleted the fix-test-shard-distribution branch August 21, 2026 05:49
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

safe to test Add this label to run secure Github workflows on PRs skip-pr-checks Bypass PR metadata validation check UI UI specific issues

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants