@W-23938378 | Preserve target-only manifest fields, seed catalog.json only for new apps, and stop PRs into main - #137
Merged
Conversation
3 tasks
… apps, and stop release-to-main PRs
jbisaSF
force-pushed
the
W-23938378-auto-promote-26.8
branch
from
August 20, 2026 15:50
ea47ba9 to
b18b75b
Compare
shauryemahajanSF
approved these changes
Aug 20, 2026
shauryemahajanSF
left a comment
Contributor
There was a problem hiding this comment.
Test it out on a fork, but LGTM
3 tasks
Contributor
Author
Verified in the test registry. |
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.
Summary
Fixes auto-promote on
release/26.8so a 26.8 → 26.9 hop cannot clobber 26.9-only metadata, rewrite existingcatalog.json, or open a PR intomain.Preserve target-only manifest fields
merge_manifest_entryno longer replaces the whole entry when versions are equal or newer. It merges field-by-field: incoming values update shared keys (version,zip,sha256), and fields that exist only on the target stay.isFeatured,featured*,badge, andcompanyNameon 26.9 — the fields CI: promote from release/26.8 → release/26.9 #113 wiped.1.0.0there and1.0.1on 26.9 leaves Avalara at1.0.1.catalog.json
seed_init_catalog_if_absent: writes INIT only when the target has nocatalog.json.catalog.jsonin the auto-promo PR. The target branch's catalog CI job owns version history.No hop to main
next_release_branchprints nothing when there is no newerrelease/*. Auto-promote will not openrelease/*→mainPRs. The newest release branch is the end of the chain.Workflow wiring
collect_promotable_zipsandapply_promoted_zip_onto_target;update-catalog.ymlcalls them.Test plan
bash .github/scripts/test-promotion-utils.sh— 68 passed, including:1.0.1+ Approaching Discounts)1.0.1ZIP/catalog unchanged; Avalara1.0.0ZIP not copiedmain)release/*branch does not open a promo PR intomain