Run web build commands during deploy for hosted apps#7208
Merged
Conversation
Contributor
|
We detected some changes at Caution DO NOT create changesets for features which you do not wish to be included in the public changelog of the next CLI release. |
ebb92da to
e31511b
Compare
ae4d442 to
36df04d
Compare
isaacroldan
reviewed
Apr 13, 2026
isaacroldan
reviewed
Apr 13, 2026
isaacroldan
approved these changes
Apr 13, 2026
isaacroldan
left a comment
Contributor
There was a problem hiding this comment.
Approving but please apply the suggested formatting changes :)
36df04d to
93234bd
Compare
When a web.toml defines a `build` command, deploy now runs it concurrently alongside extension bundling. Previously users had to manually run `shopify app build` before `shopify app deploy` to ensure web assets were up to date. Co-Authored-By: Claude Sonnet 4.6 (1M context) <noreply@anthropic.com>
93234bd to
80cdab8
Compare
MitchLillie
added a commit
that referenced
this pull request
Apr 29, 2026
This reverts all changes from the hosted app project (Admin Extensibility → 'hosted app' sub-project). The hosted app project is being discontinued. This PR removes: - The admin extension specification (static_root, allowed_domains) - The HOSTED_APPS environment variable and template switching - Web build execution during deploy - Template application_url preservation during app creation - Admin-specific dev server asset serving What's preserved: - Asset upload infrastructure (include_assets client step) - used by other extension types - admin_link specification - separate extension type for admin links with intents - Client steps system - general build pipeline infrastructure - devSessionWatchConfig - general watch path infrastructure Reverted PRs: - #7027 - Add admin hosted app local spec - #7096 - Switch app init template to hosted app when HOSTED_APPS env var is set - #7208 - Run web build commands during deploy for hosted apps - #7225 - Preserve template application_url during app creation - #7227 - notify extension dev server of app assets updates (admin parts only) - #7312 - Default allowed_domains to empty array when not configured
MitchLillie
added a commit
that referenced
this pull request
Apr 29, 2026
This reverts all changes from the hosted app project (Admin Extensibility → 'hosted app' sub-project). The hosted app project is being discontinued. This PR removes: - The admin extension specification (static_root, allowed_domains) - The HOSTED_APPS environment variable and template switching - Web build execution during deploy - Template application_url preservation during app creation - Admin-specific dev server asset serving What's preserved: - Asset upload infrastructure (include_assets client step) - used by other extension types - admin_link specification - separate extension type for admin links with intents - Client steps system - general build pipeline infrastructure - devSessionWatchConfig - general watch path infrastructure Reverted PRs: - #7027 - Add admin hosted app local spec - #7096 - Switch app init template to hosted app when HOSTED_APPS env var is set - #7208 - Run web build commands during deploy for hosted apps - #7225 - Preserve template application_url during app creation - #7227 - notify extension dev server of app assets updates (admin parts only) - #7312 - Default allowed_domains to empty array when not configured
MitchLillie
added a commit
that referenced
this pull request
May 7, 2026
This reverts all changes from the hosted app project (Admin Extensibility → 'hosted app' sub-project). The hosted app project is being discontinued. This PR removes: - The admin extension specification (static_root, allowed_domains) - The HOSTED_APPS environment variable and template switching - Web build execution during deploy - Template application_url preservation during app creation - Admin-specific dev server asset serving What's preserved: - Asset upload infrastructure (include_assets client step) - used by other extension types - admin_link specification - separate extension type for admin links with intents - Client steps system - general build pipeline infrastructure - devSessionWatchConfig - general watch path infrastructure Reverted PRs: - #7027 - Add admin hosted app local spec - #7096 - Switch app init template to hosted app when HOSTED_APPS env var is set - #7208 - Run web build commands during deploy for hosted apps - #7225 - Preserve template application_url during app creation - #7227 - notify extension dev server of app assets updates (admin parts only) - #7312 - Default allowed_domains to empty array when not configured
MitchLillie
added a commit
that referenced
this pull request
May 7, 2026
This reverts all changes from the hosted app project (Admin Extensibility → 'hosted app' sub-project). The hosted app project is being discontinued. This PR removes: - The admin extension specification (static_root, allowed_domains) - The HOSTED_APPS environment variable and template switching - Web build execution during deploy - Template application_url preservation during app creation - Admin-specific dev server asset serving What's preserved: - Asset upload infrastructure (include_assets client step) - used by other extension types - admin_link specification - separate extension type for admin links with intents - Client steps system - general build pipeline infrastructure - devSessionWatchConfig - general watch path infrastructure Reverted PRs: - #7027 - Add admin hosted app local spec - #7096 - Switch app init template to hosted app when HOSTED_APPS env var is set - #7208 - Run web build commands during deploy for hosted apps - #7225 - Preserve template application_url during app creation - #7227 - notify extension dev server of app assets updates (admin parts only) - #7312 - Default allowed_domains to empty array when not configured
MitchLillie
added a commit
that referenced
this pull request
May 7, 2026
This reverts all changes from the hosted app project (Admin Extensibility → 'hosted app' sub-project). The hosted app project is being discontinued. This PR removes: - The admin extension specification (static_root, allowed_domains) - The HOSTED_APPS environment variable and template switching - Web build execution during deploy - Template application_url preservation during app creation - Admin-specific dev server asset serving What's preserved: - Asset upload infrastructure (include_assets client step) - used by other extension types - admin_link specification - separate extension type for admin links with intents - Client steps system - general build pipeline infrastructure - devSessionWatchConfig - general watch path infrastructure Reverted PRs: - #7027 - Add admin hosted app local spec - #7096 - Switch app init template to hosted app when HOSTED_APPS env var is set - #7208 - Run web build commands during deploy for hosted apps - #7225 - Preserve template application_url during app creation - #7227 - notify extension dev server of app assets updates (admin parts only) - #7312 - Default allowed_domains to empty array when not configured
MitchLillie
added a commit
that referenced
this pull request
May 7, 2026
This reverts all changes from the hosted app project (Admin Extensibility → 'hosted app' sub-project). The hosted app project is being discontinued. This PR removes: - The admin extension specification (static_root, allowed_domains) - The HOSTED_APPS environment variable and template switching - Web build execution during deploy - Template application_url preservation during app creation - Admin-specific dev server asset serving What's preserved: - Asset upload infrastructure (include_assets client step) - used by other extension types - admin_link specification - separate extension type for admin links with intents - Client steps system - general build pipeline infrastructure - devSessionWatchConfig - general watch path infrastructure Reverted PRs: - #7027 - Add admin hosted app local spec - #7096 - Switch app init template to hosted app when HOSTED_APPS env var is set - #7208 - Run web build commands during deploy for hosted apps - #7225 - Preserve template application_url during app creation - #7227 - notify extension dev server of app assets updates (admin parts only) - #7312 - Default allowed_domains to empty array when not configured
MitchLillie
added a commit
that referenced
this pull request
May 8, 2026
This reverts all changes from the hosted app project (Admin Extensibility → 'hosted app' sub-project). The hosted app project is being discontinued. This PR removes: - The admin extension specification (static_root, allowed_domains) - The HOSTED_APPS environment variable and template switching - Web build execution during deploy - Template application_url preservation during app creation - Admin-specific dev server asset serving What's preserved: - Asset upload infrastructure (include_assets client step) - used by other extension types - admin_link specification - separate extension type for admin links with intents - Client steps system - general build pipeline infrastructure - devSessionWatchConfig - general watch path infrastructure Reverted PRs: - #7027 - Add admin hosted app local spec - #7096 - Switch app init template to hosted app when HOSTED_APPS env var is set - #7208 - Run web build commands during deploy for hosted apps - #7225 - Preserve template application_url during app creation - #7227 - notify extension dev server of app assets updates (admin parts only) - #7312 - Default allowed_domains to empty array when not configured
MitchLillie
added a commit
that referenced
this pull request
May 8, 2026
This reverts most changes from the hosted app project (Admin Extensibility → "hosted app" sub-project). The hosted app project is being discontinued. This PR removes: - The `admin` extension specification (`admin.ts` with `static_root`, `allowed_domains`) - Web build execution during deploy - Template `application_url`/`redirect_urls` preservation during app creation - Admin-specific dev server asset serving (`getAppAssets`, `allowedDomains` in payload) What is preserved: - `HOSTED_APPS` environment variable and `isHostedAppsMode()` function - `buildNoneTemplate()` with conditional template selection (uses extension-only template when `HOSTED_APPS=1`) - Asset upload infrastructure (`include_assets` client step) - used by other extension types - `admin_link` specification - separate extension type for admin links with intents - `assetResolvers` in dev server store - per-extension URL→path mapping - Client steps system - general build pipeline infrastructure Reverted PRs: - #7027 - Add admin hosted app local spec - #7096 - Switch app init template (partially - kept template switching, removed other hosted app setup) - #7208 - Run web build commands during deploy for hosted apps - #7225 - Preserve template application_url during app creation - #7227 - Notify extension dev server of app assets updates (admin parts only) - #7312 - Default allowed_domains to empty array when not configured
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.
Closes https://github.com/shop/issues-admin-extensibility/issues/2398
Summary
bundleAndBuildExtensionsnow runsweb.tomlbuildcommands concurrently alongside extension bundling duringshopify app deploybuildcommand — extension-only apps and dev-only webs are unaffected--no-build/skipBuildflagRoot cause:
deploycalledbundleAndBuildExtensions(extensions only) but never invokedbuildWeb('build', ...), unlikeshopify app buildwhich does. Users had to manually runbuildbeforedeploy.Closes shop/issues-admin-extensibility#2398
Manual test instructions
Setup: You need an app with a
web/directory and aweb.tomlthat defines abuildcommand:Test: build command runs on deploy
shopify app deploybuildcommand output appears in the concurrent output alongside extensionsTest:
--no-buildskips web buildshopify app deploy --no-buildbuildcommand does NOT run (no web-prefixed process in output)Test: extension-only apps unaffected
web.tomlhas nobuildcommand (or no webs at all)shopify app deploy— confirm no new web-prefixed process appears in outputTest plan
runs web build command concurrently with extensions when build command is definedskips web build for webs without a build command definedskips web build command when skipBuild is true--no-build🤖 Generated with Claude Code