Skip to content

fix: sharding in combination with the --url cli option #578

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 6 commits into
base: next
Choose a base branch
from

Conversation

matt-halliday
Copy link

@matt-halliday matt-halliday commented Aug 18, 2025

Closes #577

What I did

This adds a custom Jest sequencer if the tests are running against an index.json file (in which case test files are written to a temporary directory), and sort them by test name, rather than default which uses the path.

Checklist for Contributors

Manual testing

yarn test-storybook -u --browsers chromium --url=https://drei.pmnd.rs --shard=1/2

yarn test-storybook -u --browsers chromium --url=https://drei.pmnd.rs --shard=2/2

You will have coverage of all the components, not a random amount of them.

Documentation

  • Add or update documentation reflecting your changes in this repository
  • Request documentation updates in the test-runner docs website

Checklist for Maintainers

  • Make sure this PR contains one of the labels below:

    Available labels
    • skip-release: Skip any releases, e.g., documentation only changes, CI config etc.
    • patch: Upgrade patch version (e.g. 0.0.x)
    • minor: Upgrade patch version (e.g. 0.x.0)
    • major: Upgrade patch version (e.g. x.0.0)

tsup.config.ts Outdated
@@ -3,7 +3,7 @@ import { defineConfig } from 'tsup';
export default defineConfig([
{
clean: true,
entry: ['./src/index.ts', './src/test-storybook.ts'],
entry: ['./src/index.ts', './src/test-storybook.ts', './src/config/jest-sequencer.ts'],
Copy link
Author

@matt-halliday matt-halliday Aug 18, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I struggled to get this to be usable in Jest config without building it and including it in the dist folder... Not sure if there's a way to avoid that with the way jest config wants to resolve a module.

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.

[Bug]: using --shard with --url does not distribute tests evenly, contains duplicates
1 participant