Add active-app-version deploy classification module#8055
Merged
Conversation
Contributor
Author
This was referenced Jul 10, 2026
isaacroldan
force-pushed
the
deploy-split/05a-release-config-diff
branch
from
July 10, 2026 11:28
7a1e052 to
7382b73
Compare
isaacroldan
force-pushed
the
deploy-split/05b-deploy-app-version-module
branch
from
July 10, 2026 11:28
adc37e4 to
838bb7e
Compare
isaacroldan
force-pushed
the
deploy-split/05a-release-config-diff
branch
from
July 10, 2026 11:56
7382b73 to
ccf6b90
Compare
isaacroldan
force-pushed
the
deploy-split/05b-deploy-app-version-module
branch
3 times, most recently
from
July 10, 2026 12:56
9ce00c5 to
aefc40d
Compare
isaacroldan
force-pushed
the
deploy-split/05a-release-config-diff
branch
2 times, most recently
from
July 10, 2026 13:43
680ecf7 to
156849c
Compare
isaacroldan
force-pushed
the
deploy-split/05b-deploy-app-version-module
branch
from
July 10, 2026 13:44
aefc40d to
03fa20e
Compare
isaacroldan
force-pushed
the
deploy-split/05a-release-config-diff
branch
from
July 10, 2026 14:54
156849c to
7f752f1
Compare
isaacroldan
force-pushed
the
deploy-split/05b-deploy-app-version-module
branch
2 times, most recently
from
July 10, 2026 15:54
2a3ef5e to
9cee8ca
Compare
isaacroldan
force-pushed
the
deploy-split/05a-release-config-diff
branch
from
July 10, 2026 15:54
7f752f1 to
0c2f2f0
Compare
isaacroldan
marked this pull request as ready for review
July 10, 2026 15:55
isaacroldan
force-pushed
the
deploy-split/05a-release-config-diff
branch
from
July 14, 2026 07:44
0c2f2f0 to
f852cd1
Compare
isaacroldan
force-pushed
the
deploy-split/05b-deploy-app-version-module
branch
from
July 14, 2026 07:44
9cee8ca to
8580282
Compare
4 tasks
isaacroldan
force-pushed
the
deploy-split/05b-deploy-app-version-module
branch
from
July 14, 2026 08:04
8580282 to
8161f82
Compare
isaacroldan
force-pushed
the
deploy-split/05a-release-config-diff
branch
from
July 14, 2026 08:04
f852cd1 to
426d8da
Compare
isaacroldan
force-pushed
the
deploy-split/05b-deploy-app-version-module
branch
2 times, most recently
from
July 14, 2026 11:10
50f3d2c to
dddc498
Compare
isaacroldan
force-pushed
the
deploy-split/05b-deploy-app-version-module
branch
from
July 14, 2026 13:52
dddc498 to
a63ce6f
Compare
Contributor
Differences in type declarationsWe detected differences in the type declarations generated by Typescript for this branch compared to the baseline ('main' branch). Please, review them to ensure they are backward-compatible. Here are some important things to keep in mind:
New type declarationsWe found no new type declarations in this PR Existing type declarationspackages/cli-kit/dist/public/common/version.d.ts@@ -1 +1 @@
-export declare const CLI_KIT_VERSION = "4.5.0";
\ No newline at end of file
+export declare const CLI_KIT_VERSION = "4.4.0";
\ No newline at end of file
|
isaacroldan
force-pushed
the
deploy-split/05a-release-config-diff
branch
from
July 14, 2026 15:06
426d8da to
55cb6fe
Compare
isaacroldan
force-pushed
the
deploy-split/05b-deploy-app-version-module
branch
2 times, most recently
from
July 14, 2026 15:06
a63ce6f to
dc6cfea
Compare
Adds `deploy-app-version` (classify each local extension against the active version's modules — match by UID, legacy UUID fallback — into created/updated/deleted/unchanged) and `deploy-app-version-migrations` (run the supported legacy extension migrations first). Reshapes `getAppIdentifiers` and `EnsureDeploymentIdsPresenceOptions.envIdentifiers` to the flat UUID-by-local-identifier map the module consumes. The module is not wired into `deploy` yet — the switch is the next commit — so behavior is unchanged. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Assisted-By: devx/082b4d86-7362-4c41-a55c-65a391c27853
isaacroldan
force-pushed
the
deploy-split/05b-deploy-app-version-module
branch
from
July 16, 2026 08:53
65061bc to
a09338d
Compare
isaacroldan
force-pushed
the
deploy-split/05a-release-config-diff
branch
from
July 16, 2026 08:53
55cb6fe to
6ceb64e
Compare
alfonso-noriega
approved these changes
Jul 16, 2026
|
|
||
| // eslint-disable-next-line no-await-in-loop | ||
| const confirmedMigration = await extensionMigrationPrompt(extensionsToMigrate, false) | ||
| if (!confirmedMigration) throw new AbortSilentError() |
Contributor
There was a problem hiding this comment.
should we fully cancel the migration loop or just conitnue here?
Contributor
Author
There was a problem hiding this comment.
If you don't confirm, we can't deploy, the prompt says "confirm and deploy" or "cancel deploy"
| activeAppVersion, | ||
| ) | ||
|
|
||
| const shouldFetchInstallCount = |
Contributor
There was a problem hiding this comment.
This is use some where else also, right? should we abstract this to a helper?
Contributor
Author
There was a problem hiding this comment.
Is used only in a file that is deleted later in the stack
github-merge-queue
Bot
removed this pull request from the merge queue due to failed status checks
Jul 16, 2026
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.

WHY are these changes introduced?
deploymatched local extensions to remote registrations through the interactive Partners-era flow. On App Management, modules are identified deterministically by UID, so the matching can be derived from the app's active version instead of prompting.WHAT is this pull request doing?
deploy-app-versionmodule: classifies each local extension against the active version's modules — match by UID, with a legacy UUID fallback for un-migrated extensions — into created / updated / deleted / unchanged.deploy-app-version-migrations: runs the supported legacy extension migrations before classifying.getAppIdentifiersandEnsureDeploymentIdsPresenceOptions.envIdentifiersto the flat UUID map the module consumes.The module is not wired into
deployyet (that's #8056), so behavior is unchanged. Covered by its own unit test.How to test your changes?
pnpm --filter @shopify/app exec vitest run src/cli/services/context/deploy-app-version.test.ts