Skip to content
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

Addon Test: Only reset story count on file change when watch mode is enabled #30121

Merged
merged 2 commits into from
Dec 23, 2024

Conversation

ghengeveld
Copy link
Member

@ghengeveld ghengeveld commented Dec 20, 2024

What I did

This should alleviate the problem of losing the actual test count, at least when not in watch mode. The story count was being reset whenever Vitest detected a file change. This is fine when restarting tests in watch mode, but not when watch mode isn't actually enabled.

Checklist for Contributors

Testing

The changes in this PR are covered in the following automated tests:

  • stories
  • unit tests
  • integration tests
  • end-to-end tests

Manual testing

This section is mandatory for all contributions. If you believe no manual test is necessary, please state so explicitly. Thanks!

Documentation

  • Add or update documentation reflecting your changes
  • If you are deprecating/removing a feature, make sure to update
    MIGRATION.MD

Checklist for Maintainers

  • When this PR is ready for testing, make sure to add ci:normal, ci:merged or ci:daily GH label to it to run a specific set of sandboxes. The particular set of sandboxes can be found in code/lib/cli-storybook/src/sandbox-templates.ts

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

    Available labels
    • bug: Internal changes that fixes incorrect behavior.
    • maintenance: User-facing maintenance tasks.
    • dependencies: Upgrading (sometimes downgrading) dependencies.
    • build: Internal-facing build tooling & test updates. Will not show up in release changelog.
    • cleanup: Minor cleanup style change. Will not show up in release changelog.
    • documentation: Documentation only changes. Will not show up in release changelog.
    • feature request: Introducing a new feature.
    • BREAKING CHANGE: Changes that break compatibility in some way with current major version.
    • other: Changes that don't fit in the above categories.

🦋 Canary release

This PR does not have a canary release associated. You can request a canary release of this pull request by mentioning the @storybookjs/core team here.

core team members can create a canary release here or locally with gh workflow run --repo storybookjs/storybook canary-release-pr.yml --field pr=<PR_NUMBER>

name before after diff z %
createSize 0 B 0 B 0 B - -
generateSize 77.8 MB 77.8 MB 1.55 kB 1.59 0%
initSize 143 MB 143 MB 1.55 kB 3.41 0%
diffSize 65.6 MB 65.6 MB 0 B 3.4 0%
buildSize 7.19 MB 7.19 MB 0 B -1.91 0%
buildSbAddonsSize 1.85 MB 1.85 MB 0 B -1.45 0%
buildSbCommonSize 195 kB 195 kB 0 B - 0%
buildSbManagerSize 1.87 MB 1.87 MB 0 B 0.82 0%
buildSbPreviewSize 0 B 0 B 0 B - -
buildStaticSize 0 B 0 B 0 B - -
buildPrebuildSize 3.92 MB 3.92 MB 0 B -1.51 0%
buildPreviewSize 3.28 MB 3.28 MB 0 B -2 0%
testBuildSize 0 B 0 B 0 B - -
testBuildSbAddonsSize 0 B 0 B 0 B - -
testBuildSbCommonSize 0 B 0 B 0 B - -
testBuildSbManagerSize 0 B 0 B 0 B - -
testBuildSbPreviewSize 0 B 0 B 0 B - -
testBuildStaticSize 0 B 0 B 0 B - -
testBuildPrebuildSize 0 B 0 B 0 B - -
testBuildPreviewSize 0 B 0 B 0 B - -
name before after diff z %
createTime 19.2s 23.6s 4.4s 1.05 18.8%
generateTime 20.7s 19.2s -1s -497ms -1.13 -7.8%
initTime 15.1s 13.5s -1s -622ms -1.25 🔰-12%
buildTime 10.9s 8.2s -2s -721ms -1.22 -33%
testBuildTime 0ms 0ms 0ms - -
devPreviewResponsive 4.5s 6s 1.4s 0.97 24.2%
devManagerResponsive 3.4s 4.4s 967ms 0.83 21.8%
devManagerHeaderVisible 523ms 648ms 125ms -0.08 19.3%
devManagerIndexVisible 532ms 694ms 162ms 0.01 23.3%
devStoryVisibleUncached 1.8s 2.1s 257ms 0.73 12.1%
devStoryVisible 558ms 688ms 130ms -0.07 18.9%
devAutodocsVisible 469ms 557ms 88ms -0.14 15.8%
devMDXVisible 486ms 754ms 268ms 1.45 🔺35.5%
buildManagerHeaderVisible 509ms 641ms 132ms -0.19 20.6%
buildManagerIndexVisible 599ms 749ms 150ms -0.13 20%
buildStoryVisible 503ms 616ms 113ms -0.13 18.3%
buildAutodocsVisible 409ms 634ms 225ms 1 35.5%
buildMDXVisible 387ms 651ms 264ms 1.46 🔺40.6%

Greptile Summary

Modified the Vitest manager in Storybook's test addon to prevent story count resets during file changes when watch mode is disabled, maintaining accurate test counts.

  • Modified code/addons/test/src/node/vitest-manager.ts to only reset story count inside watch mode condition
  • Added test coverage in code/addons/test/src/node/test-manager.test.ts to verify watch mode behavior
  • Fixed issue where test counts were being incorrectly reset on file changes outside of watch mode

Copy link
Contributor

@greptile-apps greptile-apps bot left a comment

Choose a reason for hiding this comment

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

1 file(s) reviewed, 1 comment(s)
Edit PR Review Bot Settings | Greptile

code/addons/test/src/node/vitest-manager.ts Show resolved Hide resolved
Copy link

nx-cloud bot commented Dec 20, 2024

View your CI Pipeline Execution ↗ for commit 7faee6d.

Command Status Duration Result
nx affected -t check -c production --parallel=7 ✅ Succeeded 5s View ↗
nx run-many -t build -c production --parallel=3 ✅ Succeeded 3s View ↗

☁️ Nx Cloud last updated this comment at 2024-12-23 10:51:57 UTC

@yannbf yannbf merged commit e44bae7 into next Dec 23, 2024
60 checks passed
@yannbf yannbf deleted the test-count-reset-fix branch December 23, 2024 11:12
@github-actions github-actions bot mentioned this pull request Dec 23, 2024
7 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants