Skip to content

Conversation

@fredrikekelund
Copy link
Contributor

@fredrikekelund fredrikekelund commented Dec 19, 2025

Related issues

Proposed Changes

This PR fixes the Windows E2E tests by making the following changes:

  • Run the site stop-all command in a detached and unrefed process to ensure it's not terminated along with the Studio app. This is relevant because we trigger this command when the app quits, and it takes a few seconds to complete. We could look into improving the performance of this command, but regardless, this implementation is the way to go because it guarantees correct behavior.
  • Use a retry strategy for removing session data files in E2ESession::cleanup. On Windows, it's not possible to remove files that other processes have open. With the new Studio CLI architecture, Studio spawns multiple child processes in the background. These are stopped by the site stop-all command when Studio quits, but there's no guarantee they've terminated by the time Studio exits. This retry behavior accounts for that.
  • Increase the locator timeout in several places in e2e/blueprints.test.ts. We are investigating site creation performance on the dev/studio-cli-i2 branch, so hopefully this isn't needed long-term (it might not even be needed on CI), but I had to do it to get the tests to pass on my Windows VM.
  • Playground was logging warnings about themeZipFile and pluginZipFile being deprecated, so I also took the opportunity to replace those keys with themeData and pluginData in the test fixtures.
  • Start the site watcher (site list --watch) and wait for the spawn event from the child process before creating the main app window.

Testing Instructions

CI should pass.

Pre-merge Checklist

  • Have you checked for TypeScript, React or other console errors?

@fredrikekelund fredrikekelund self-assigned this Dec 19, 2025
Comment on lines +129 to +130

process.on( 'SIGINT', disconnect );
Copy link
Contributor Author

Choose a reason for hiding this comment

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

The studio site list --watch command would previously not interrupt in response to Ctrl+C

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