Skip to content

Balance CI shards and consolidate static checks to cut wallclock#175

Open
parthban-db wants to merge 1 commit into
mainfrom
parthban-db/stack/parllel-more
Open

Balance CI shards and consolidate static checks to cut wallclock#175
parthban-db wants to merge 1 commit into
mainfrom
parthban-db/stack/parllel-more

Conversation

@parthban-db
Copy link
Copy Markdown
Contributor

@parthban-db parthban-db commented Jun 1, 2026

🥞 Stacked PR

Use this link to review incremental changes.


Summary

Alphabetical sharding piled 37 of 86 packages into the [s-z] shard
(every uc-* package starts with u), making Lint([s-z]) the ~232s CI
long pole. Replace it with weight-balanced shards computed by
scripts/ci-shards.mjs, and fold build, lint, typecheck, and
format:check into one per-shard static job so each shard builds its
dependency closure once instead of repeating it across separate lint,
typecheck, and build jobs.

Co-authored-by: Isaac

Why

What changed

Interface changes

Behavioral changes

Internal changes

How is this tested?

@github-actions
Copy link
Copy Markdown

github-actions Bot commented Jun 1, 2026

Please ensure that the NEXT_CHANGELOG.md file is updated with any relevant changes.
If this is not necessary for your PR, please include the following in your PR description:
NO_CHANGELOG=true
and rerun the job.

@parthban-db parthban-db force-pushed the parthban-db/stack/parllel-more branch 5 times, most recently from 000f849 to c9a5422 Compare June 1, 2026 14:46
Alphabetical sharding piled 37 of 86 packages into the [s-z] shard
(every uc-* package starts with `u`), making Lint([s-z]) the ~232s CI
long pole. The protected runner pool also serves only ~8-12 jobs before
autoscaling kicks in, so simply adding shards trades work time for queue
time and does not help wallclock.

Replace alphabetical sharding with weight-balanced shards computed by
scripts/ci-shards.mjs (8 shards, sized to the runner pool), and fold
build, lint, and format:check into one per-shard `static` job so each
shard builds its dependency closure once instead of repeating it across
separate lint, typecheck, and build jobs. The standalone typecheck pass
is dropped because the build task (`tsc -b`) already type-checks src
while emitting, making a separate `tsc --noEmit` over the same files
redundant.

Co-authored-by: Isaac
@parthban-db parthban-db force-pushed the parthban-db/stack/parllel-more branch from c9a5422 to 90729aa Compare June 1, 2026 14:56
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant