Skip to content

Conversation

@jakebailey
Copy link
Member

@jakebailey jakebailey commented Apr 2, 2025

This has bugged me for a while; when a package breaks (e.g. react right now), we're effectively guaranteed to place all of that package's versions into different shards, so CI will have failures spread across multiple logs. That's pretty annoying to gauge how broken something is.

This PR modifies our shading algorithm to group packages and then shard on those groups, placing react/react/v18, or node/node/v20/node/v18, etc, all in the same shard to fail together.

Probably it'd also be worth it to place something like react with react-dom, since those are also pretty much guaranteed to be in separate CI jobs.

Another fix would be to not round robin shard the packages, instead group them directly alphabetically, however I think that might have the negative effect of making CI run longer as we'd end up in a situation like "all react packages are located on the same few shards" and take more time to run than other jobs.

This grouping thing I think is the "least bad" to at least get the same package into the same log.

@jakebailey jakebailey merged commit ad9fccf into microsoft:main Apr 2, 2025
8 checks passed
@jakebailey jakebailey deleted the sharding-versions branch April 2, 2025 20:00
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.

2 participants