Add CLI integration test for creating a site from a custom Blueprint#3961
Merged
Conversation
# Conflicts: # apps/cli/commands/site/tests/helpers/cli-e2e.ts
epeicher
approved these changes
Jun 29, 2026
epeicher
left a comment
Contributor
There was a problem hiding this comment.
Thanks @gcsecsey for adding those tests! I have tested the changes locally, and they work as expected.
For the E2E test failures, I think these changes need the following PR to be merged: #3985. Once that PR is merged and rebased onto this one, if the E2E passes, these can be merged. I am accepting this to unblock you from that. Changes LGTM!
gavande1
approved these changes
Jun 29, 2026
gavande1
left a comment
Contributor
There was a problem hiding this comment.
Thanks for working on this. LGTM.
Member
Author
Collaborator
📊 Performance Test ResultsComparing a0aa66d vs trunk app-size
site-editor
site-startup
Results are median values from multiple test runs. Legend: 🟢 Improvement (faster) | 🔴 Regression (slower) | ⚪ No change (<50ms diff) |
1 task
gcsecsey
pushed a commit
that referenced
this pull request
Jul 1, 2026
…) (#4029) ## Related issues - Reverts #3961 - Reverts #4008 ## Proposed Changes Reverts two previously merged changes, combined into a single PR: - **#3961** — removes the CLI integration test for creating a site from a custom Blueprint, along with the appdata-isolation changes it made to the e2e harness. - **#4008** — re-enables the Windows Studio E2E Buildkite job, which had been temporarily disabled. The unrelated `STUDIO_PROCESS_MANAGER_HOME` env addition introduced by #3989 is preserved in the e2e helper. ## Testing Instructions - Confirm CI passes, including the re-enabled Windows E2E job. ## Pre-merge Checklist - [x] Have you checked for TypeScript, React or other console errors?
1 task
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Related issues
How AI was used in this PR
I used Claude to review the existing Playwright blueprint tests and the new CLI e2e harness from #3947, plan the migration, and to write the test. I reviewd and verified all changes.
Proposed Changes
Blueprint coverage currently lives only in
apps/studio/e2e/blueprints.test.ts, which boots the entire desktop app through Playwright to create a site from a custom Blueprint and then inspects wp-admin — slow, flaky, and coupled to the UI. This PR continues the "Migrate Studio E2E tests to CLI" effort by exercising the same capability directly through the CLI.studio site create --blueprint <file>against an isolated config directory and asserts on the file system.appdata-v1.jsonand abort the CLI on a developer's machine. The harness now also isolates that path, which fixes the siblingcreate.e2e.test.tslocally.Testing Instructions
npm run cli:build.npm test -- apps/cli/commands/site/tests/create-blueprint.e2e.test.ts --tagsFilter='e2e'Confirm all four tests pass.
npm test -- apps/cli/commands/site/tests/create-blueprint.e2e.test.ts --tagsFilter='!e2e'The four tests are skipped.
npm test -- apps/cli/commands/site/tests/create.e2e.test.ts --tagsFilter='e2e'Pre-merge Checklist