Skip to content

Commit e1e364d

Browse files
committed
fix(ci): run the Platform suites when the seam they read through changes
The path filter watched only the zone, so a change to app/o, the contracts, the hooks or the chat modules the data layer drives never ran its acceptance, and a ledger edit skipped the report-based parity check.
1 parent 9151b13 commit e1e364d

2 files changed

Lines changed: 25 additions & 0 deletions

File tree

‎.github/CI.md‎

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,8 @@ HTTP and docs browser installation first asks the pinned Playwright driver to si
4444

4545
Every HTTP and browser group consumes the same production build in an isolated job/database. Electron also uses that build and skips its development-route warm-up. Local HTTP and Electron development runs retain their dev-server behavior. Build inputs exclude test-only files so a harness edit can reuse an unchanged production build.
4646

47+
The Platform's fixture and live suites stay in `platform-design.yml`, outside `checks / ci`. The HTTP and production matrices consume one `next-build` artifact, built without `SIM_PLATFORM_ORIGIN`, while the `zone` topology bakes that origin into its rewrite and also builds the Platform app, so it needs its own job, gate flag and plan output rather than a suite entry. A task that depends on `ci:shared` would select two 16-vCPU jobs of up to 75 minutes for nearly every app PR and hold every staging push's deployment gate on them. The cost is that a red run is advisory, and a path-filtered workflow cannot be a required check: one that never starts never reports, so the status does not block a merge until the suite joins the aggregate.
48+
4749
Desktop inbox protocol, assistant actions UI, and organization search UI run as three parallel HTTP jobs with isolated databases, apps, and reports. Each harness owns its acceptance task, so an edit selects its own job. The inbox protocol task depends on server and realtime code; the browser tasks also depend on workspace UI. Desktop inbox needs no browser. The UI jobs and browser extension install Chromium while their app starts, waiting for both before executing assertions; browser-install failures still fail the job and preserve the install log. No acceptance assertions are removed by the split.
4850

4951
Live Electron acceptance tracks its live-app suite, fixtures, and Playwright configuration separately from shell-only smoke tests. Changing a shell-only smoke case runs the dedicated desktop workflow without starting the app's production build and live lease checks.

‎.github/workflows/platform-design.yml‎

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,12 +2,35 @@ name: platform-design
22

33
on:
44
pull_request:
5+
# The zone and the seam it reads through: the main app that mounts and proxies it, the contracts,
6+
# hooks and enterprise domains its data layer wraps, and the chat modules it drives unchanged.
7+
# A pattern's order matters: the ledger follows the docs exclusion so an edit to it still meets
8+
# the report-based parity check. `*` stands for `[workspaceId]`, which a filter would read as a
9+
# character class.
510
paths:
611
- 'apps/sim/platform/**'
712
- '!apps/sim/platform/docs/**'
813
- '!apps/sim/platform/README.md'
14+
- 'apps/sim/platform/docs/org-parity.md'
15+
- 'apps/sim/app/o/**'
16+
- 'apps/sim/lib/platform/**'
17+
- 'apps/sim/proxy.ts'
18+
- 'apps/sim/next.config.ts'
19+
- 'apps/sim/lib/api/contracts/**'
20+
- 'apps/sim/hooks/queries/**'
21+
- 'apps/sim/ee/**'
22+
- 'apps/sim/app/workspace/*/home/hooks/**'
23+
- 'apps/sim/app/workspace/*/home/types.ts'
24+
- 'apps/sim/app/workspace/*/home/search-params.ts'
25+
- 'apps/sim/app/workspace/*/home/components/message-content/**'
26+
- 'apps/sim/app/workspace/*/home/components/knowledge-search-results/utils.ts'
27+
- 'apps/sim/app/workspace/*/w/*/components/panel/components/copilot/components/user-input/hooks/**'
28+
- 'apps/sim/scripts/platform-live-seed.ts'
929
- 'apps/sim/package.json'
30+
- 'apps/realtime/**'
1031
- 'scripts/check-platform-design*'
32+
- 'scripts/check-platform-parity*'
33+
- 'scripts/platform-search-source-catalog.ts'
1134
- 'scripts/platform-variant-usage.ts'
1235
- 'scripts/sync-platform-*.ts'
1336
- '.github/workflows/platform-design.yml'

0 commit comments

Comments
 (0)