Repository navigation
ci: duration-balanced integration shards, warm desktop-live, CI on every PR - #8763
Conversation
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
There was a problem hiding this comment.
All reported issues were addressed across 5 files
Reply with feedback, questions, or to request a fix.
Turn on auto-fix | Re-trigger cubic
|
|
@cubic-dev-ai review this PR |
@waleedlatif1 I have started the AI code review. It will take a few minutes to complete. |
There was a problem hiding this comment.
All reported issues were addressed across 5 files
Reply with feedback, questions, or to request a fix.
Turn on auto-fix | Re-trigger cubic
…ery PR - integration: a custom Vitest sequencer packs `--shard` files by measured duration from a committed `vitest.integration-durations.json` (refreshed with scripts/update-integration-durations.ts) instead of by path hash. On the measured run the apps/sim shards go from 183-384s to 254s each, so the slowest job drops from ~7.4 to ~5.3 min at the same cost. Every shard computes the same partition, so files stay disjoint and covered. - desktop-live: Turbopack's dev cache is kept on a sticky disk keyed by event, fork and the installed Next version, so the spec's warm-up restores instead of cold-compiling. The app is stopped with SIGINT so the cache write completes, a cache Turbopack reports as corrupt is dropped and the app restarted from empty, and the apps boot while apt and the Electron bundle run. - ci.yml: no paths-ignore on pull_request. `checks / ci` is going to be the required check, and a pull request whose run never starts never reports it.
… floor shard weights, log through @sim/logger
a237a66 to
74af417
Compare
|
@cubic-dev-ai review this PR |
@waleedlatif1 I have started the AI code review. It will take a few minutes to complete. |
What
Follow-up to #8750. Three changes, none of which change what a check verifies.
1. Integration shards balanced by duration (
vitest.shared.ts)--shardsorts files by path hash and gives each shard an equal file count.recovery-storm.integration.tsalone takes ~217 s, about 21% of the suite, and the hash put it beside 41 other files. Shards ranged from 183 to 384 s.DurationBalancedSequenceroverrides onlyshard(). It packs files longest-first into the lightest shard, using per-file seconds from the committedvitest.integration-durations.json. Ordering within a shard is still Vitest's ownsort().gh run download <id> -p 'integration-reports-*' -D <dir>, thenbun run scripts/update-integration-durations.ts <dir>.2. desktop-live: keep the Turbopack dev cache (
checks.yml)The job's ~4 min route warm-up is a cold Turbopack compile, and
next.config.tsalready enables the dev filesystem cache (measured there at 5.4× faster restarts).apps/sim/.next/devnow lives on a sticky disk. It is keyed by event and fork (like the other caches) and by the installed Next version, so an upgrade starts from empty.stop-session.shruns.next devSIGKILLs its server 100 ms after SIGTERM, which throws away a cache write in progress.dev:cache:capkeeps the cache under the 20 GB cap the dev scripts already use.3. CI runs on every pull request (
ci.yml)The
paths-ignorefor docs and markdown is gone.checks / ciis about to become the required status check, and a PR whose run never starts never reports it, so it could not merge. None of the last 200 PRs merged to staging was docs-only, so the cost is nil.Verify
lint:check,check:audits(58),test:scripts(357),type-checkpackages/dbintegration shards run against Postgres with itdesktop-liveon the same commit to measure the warm cache