Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 3 additions & 3 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -302,11 +302,11 @@ jobs:
needs: changeset
if: needs.changeset.outputs.browser == 'true' && needs.changeset.outputs.run_browser == 'true'
runs-on: ubuntu-24.04
timeout-minutes: 15
timeout-minutes: 20
strategy:
fail-fast: false
matrix:
shard: [1, 2]
shard: [1, 2, 3]
steps:
- uses: actions/checkout@v7
with:
Expand All @@ -323,7 +323,7 @@ jobs:
HEAD_SHA: ${{ github.event.pull_request.head.sha || github.sha }}
run: bun scripts/ci-plan.ts
- name: Complete browser proof
run: bun scripts/ci-proof.ts browser --shard=${{ matrix.shard }}/2
run: bun scripts/ci-proof.ts browser --shard=${{ matrix.shard }}/3
- name: Proof receipts and failure diagnostics
if: always()
uses: actions/upload-artifact@v7
Expand Down
2 changes: 1 addition & 1 deletion CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -272,7 +272,7 @@ feature test should use these helpers instead of building its own.

The complete dictation browser fixture has its own `dictation` project so its
Chromium touch emulation and consumer styles stay outside the shared `visual`
page. The default browser wrapper includes it in both shards; use
page. The default browser wrapper includes it in every shard; use
`node scripts/visual.mjs --project=dictation` for a focused container run.

Tests and typecheck run from live TS source — no build needed. The
Expand Down
12 changes: 8 additions & 4 deletions docs/decisions/ci-utility.md
Original file line number Diff line number Diff line change
Expand Up @@ -111,7 +111,8 @@ one PR share a cancellable group. Different PRs never cancel one another.

After cheap gates, packaging, strict verification, unit shards, runtime probes,
browser shards, layout shards, a separate endurance job and captures start independently.
There are four measured-cost unit partitions and two browser/layout partitions,
There are four measured-cost unit partitions, three browser and two layout partitions
(`PROOF_SHARDS`, `scripts/proof-shards.ts`, which the workflow guard matches against the matrices),
with full coverage assertions and original per-browser file concurrency bounds.
The first two-unit-partition hosted run reached its 20-minute budgets while
still making progress. Completed-file observations in
Expand Down Expand Up @@ -141,7 +142,10 @@ inputs, never runtime dependencies. Layout refresh admits ordinary
fresh job and never becomes an ordinary browser/layout weight. Requalify timing
inputs after scenario ownership changes: the former combined recording-file
measurement includes endurance and is not its current ordinary-layout cost.
Two layout shards, per-project serial execution and all deadlines remain unchanged.
Layout keeps two shards; per-project serial execution and all test deadlines remain unchanged.
Browser proof runs in three shards and its jobs have a 20-minute bound. It was raised from 15 minutes after browser
(2) reached 887 s on main and 917 s on a ready PR ([#2414](https://github.com/schlessera/brain-kit/issues/2414)). A weight refresh still
qualifies by measured whole-job elapsed time, not by the bound.

Hosted unit partitions use a queue capped at two serial Bun test processes
(`scripts/unit-workers.ts`), or one when only one file is selected. Native
Expand Down Expand Up @@ -340,7 +344,7 @@ and actual merge-result parent/tree validation remain binding.

### Retaining complete browser domains

Under #1333, ready-PR metadata can retain both shards of a complete browser or
Under #1333, ready-PR metadata can retain every shard of a complete browser or
layout domain from up to three recent successful automatic runs of that same
contribution. Unit, types, packaging, native runtime and editorial checks remain
fresh: their Git-sensitive or broader process inputs do not have an admitted
Expand Down Expand Up @@ -556,7 +560,7 @@ locked installed resources. No current output or untracked image enters this
snapshot, and baseline changes cannot inherit old passing comparisons.

The inclusion fingerprint binds relevant immutable Git paths, blob identities
and modes, selected discovery ownership/order, the two measured partitions and
and modes, selected discovery ownership/order, the domain's measured partitions (`PROOF_SHARDS`) and
runner identity. It also includes every proof/tooling script and workflow,
root/package manifests and lockfiles, compiler configuration and expanded build
source inventories. These conservative shared harness inputs can invalidate
Expand Down
4 changes: 2 additions & 2 deletions docs/process/proof-domains.md
Original file line number Diff line number Diff line change
Expand Up @@ -77,8 +77,8 @@ Reconcile each final command as follows:
| --- | --- | --- | --- |
| Curated contract/integrity files in `FAST_TESTS` | Fast | Affected subset with strict types | Included once by complete affected unit discovery |
| Every other product Bun test in `packages/` and `tests/` | Unit confirmation | Deferred | Complete affected discovery plus root tests |
| Storybook dark/light, visual, pointer and isolated browser projects | Browser confirmation | Deferred | Every discovered project/file instance in the existing two shards |
| `.layout.tsx` and `.offline.tsx` in `ui-react-layout` | Layout confirmation | Deferred | Every discovered project/file instance in the existing two shards |
| Storybook dark/light, visual, pointer and isolated browser projects | Browser confirmation | Deferred | Every discovered project/file instance in the three browser shards |
| `.layout.tsx` and `.offline.tsx` in `ui-react-layout` | Layout confirmation | Deferred | Every discovered project/file instance in the two layout shards |
| `.endurance.tsx` in `ui-react-endurance` | Endurance confirmation | Deferred | Every discovered file in a separate concurrent job |
| Native permission/enforcement/delegation/capability/host/cleanup probes | Runtime confirmation | Deferred | Existing complete command inventory and offline namespaces |
| Packed consumer probes and editorial capture verification | Packaging/capture confirmation | Deferred | Existing affected commands, pins and artifacts |
Expand Down
Loading
Loading