Skip to content

Conversation

@yannbf
Copy link
Member

@yannbf yannbf commented Nov 7, 2025

Closes #

What I did

This PR adds a new CI workflow for initializing Storybooks and testing them in Windows environments

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 publish.yml --field pr=<PR_NUMBER>

Summary by CodeRabbit

  • Chores
    • Added Windows CI support with a new Windows test job and Windows executor/orb for cross-platform testing.
    • Expanded CI matrices to run multiple package managers and templates across daily/merged workflows.
    • Removed legacy Yarn 1 path and added Yarn 2, pnpm, and npm-specific flows.
    • Added a registry-auth helper and dependency to support local registry authentication during CI.

@yannbf yannbf self-assigned this Nov 7, 2025
@yannbf yannbf added build Internal-facing build tooling & test updates ci:normal labels Nov 7, 2025
@nx-cloud
Copy link

nx-cloud bot commented Nov 7, 2025

View your CI Pipeline Execution ↗ for commit 38c3552

Command Status Duration Result
nx run-many -t build --parallel=3 ✅ Succeeded 45s View ↗

☁️ Nx Cloud last updated this comment at 2025-11-11 15:41:07 UTC

@yannbf yannbf force-pushed the yann/test-init-on-windows branch from 620c4c7 to 84d6017 Compare November 7, 2025 11:59
@coderabbitai

This comment was marked as spam.

coderabbitai[bot]

This comment was marked as spam.

coderabbitai[bot]

This comment was marked as spam.

@yannbf yannbf force-pushed the yann/test-init-on-windows branch from 84d6017 to 690e551 Compare November 7, 2025 12:21
coderabbitai[bot]

This comment was marked as spam.

coderabbitai[bot]

This comment was marked as spam.

@storybook-app-bot

This comment was marked as resolved.

coderabbitai[bot]

This comment was marked as spam.

@yannbf yannbf force-pushed the yann/test-init-on-windows branch from 9fa2a79 to 8e1a06a Compare November 10, 2025 16:35
coderabbitai[bot]

This comment was marked as spam.

Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 2

🧹 Nitpick comments (2)
.circleci/src/jobs/test-init-empty-windows.yml (2)

30-61: Significant code duplication across package manager branches.

The Verdaccio setup (lines 34–47, 67–80, 98–111, 131–144, 164–177) and registry wait steps are repeated nearly identically across all five branches. Consider extracting this into a reusable CircleCI step or a shared script to reduce duplication and simplify maintenance.

Also applies to: 62-92, 93-125, 126-158, 159-190


191-192: Incomplete implementation: Discord orb PowerShell compatibility TODO.

The commented-out report-workflow-on-failure step references a Discord orb issue with PowerShell compatibility. Clarify the status: Is this a known limitation to document, or an open task that requires a workaround?

If you'd like, I can help draft a summary or open a GitHub issue to track this limitation.

📜 Review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between eb26ae4 and e98b19b.

📒 Files selected for processing (1)
  • .circleci/src/jobs/test-init-empty-windows.yml (1 hunks)
🧰 Additional context used
🧠 Learnings (2)
📚 Learning: 2025-10-13T13:33:14.659Z
Learnt from: CR
Repo: storybookjs/storybook PR: 0
File: .github/copilot-instructions.md:0-0
Timestamp: 2025-10-13T13:33:14.659Z
Learning: Applies to test-storybooks/** : Maintain test Storybook configurations under `test-storybooks/` for E2E and visual testing scenarios

Applied to files:

  • .circleci/src/jobs/test-init-empty-windows.yml
📚 Learning: 2025-10-02T09:22:13.215Z
Learnt from: JReinhold
Repo: storybookjs/storybook PR: 32607
File: code/package.json:243-243
Timestamp: 2025-10-02T09:22:13.215Z
Learning: The Storybook repository uses Yarn v^4 (any 4.x version) as the package manager, configured via .yarnrc.yml and package.json packageManager field. Specific patch versions within v4 can be upgraded as needed.

Applied to files:

  • .circleci/src/jobs/test-init-empty-windows.yml
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (1)
  • GitHub Check: normal
🔇 Additional comments (1)
.circleci/src/jobs/test-init-empty-windows.yml (1)

50-61: Verify workspace and path assumptions.

Each branch uses relative path navigation (cd .. on lines 52, 84, 115, 148, 181) to exit the current directory and create an empty template directory. This assumes a specific workspace structure inherited from the attach_workspace step (line 11).

Verify that the workspace attachment and directory structure reliably support this navigation, particularly on Windows where path handling can differ from Linux.

Also applies to: 81-92, 112-125, 145-158, 178-190

@yannbf yannbf force-pushed the yann/test-init-on-windows branch from e98b19b to 3c292c7 Compare November 11, 2025 06:32
@yannbf yannbf added ci:daily Run the CI jobs that normally run in the daily job. and removed ci:normal labels Nov 11, 2025
coderabbitai[bot]

This comment was marked as spam.

@yannbf yannbf added ci:merged Run the CI jobs that normally run when merged. and removed ci:daily Run the CI jobs that normally run in the daily job. labels Nov 11, 2025
@ndelangen ndelangen self-requested a review November 11, 2025 15:32
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

build Internal-facing build tooling & test updates ci:merged Run the CI jobs that normally run when merged.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants