Repository navigation
build_ipa.sh: the DMCommit and DMChain stamps overwrite an existing entry - #1582
Open
oliverames wants to merge 2 commits into
Open
oliverames wants to merge 2 commits into
oliverames wants to merge 2 commits into
Conversation
oliverames
force-pushed
the
pr-stamp-existing
branch
2 times, most recently
from
November 10, 2026 03:13
027a2bd to
fa81e8f
Compare
…ntry, so a project.yml that carries one prepares the app A project source a front end or a fork copy keeps can carry DMCommit in its Info.plist values; xcodegen writes it into Gen/Info.plist at the generate step, and the prepare then stopped at the stamp: "Add: :DMCommit Entry Already Exists", "[RED] build_ipa.sh exit code 1" (the Mario Kart World seedds#1383 snapshot on the Duo, 2026-11-06, its prepare_xcode.log). The built commit belongs in the stamp, so it now falls back to Set: the same prepare succeeds and the app logs the real source and chain. Gen/Info.plist is regenerated at every prepare, so the replaced value does not outlive the build. Checked: bash -n passes; the Mario Kart World prepare that failed before now stamps both keys and finishes with the same Xcode project output ('source: <built commit>' in its prepare_xcode.log).
oliverames
force-pushed
the
pr-stamp-existing
branch
from
November 10, 2026 14:12
fa81e8f to
5be7ed8
Compare
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.
What and why
The prepare's build stamps stopped one class of prepared projects with
Add: :DMCommit Entry Already Existsand[RED] build_ipa.sh exit code 1. A front end or a fork copy ofdm/ioscan declareDMCommit(andDMChain) in itsproject.ymlInfo values (PR #1383's snapshot does, with its own dev stamp); xcodegen then writes the key intoGen/Info.plistbefore the stamp step, and PlistBuddy'sAddrefuses an existing entry, so the prepare died at the last step of an otherwise complete run (34 minutes of shaders and a pipeline archive already done). The fix makes both stamps fall back toSet: the built commit and the carried chain win in the plist, which is also the more truthful source identity for an app that had someone else's in.Gen/Info.plistis regenerated at every prepare, so the replaced value does not outlive the build, and a project that carries no such key behaves exactly as before. No other stamp path changed.Docs changed: none (the option page's environment switches don't describe these keys).
Checked
bash -n dm/ios/tools/build_ipa.shpasses. No other test is stated.0400C3F00006E000(from the folder name), version not stated. The folder that failed before (#1383snapshot on the Duo,/Users/oliverames/.../Mario Kart World/0400C3F00006E000_build/logs/prepare_xcode.log) now completes with the same project output; the app's log opens withsource: <built commit>, shader chain 96064c74793cand plays the game.scripts/regress.py check --games: not statedFront ends
None: no front end has to act on this.
Docs
docs/reference/<subsystem>.mdentry, andpython3 dm/tools/docs_symptoms.pywas run (the symptom index). Not applicable: a build-script fix with no game note or reference entrydmsh_chain.py --headerwas run anddm/gfx/nvn/dmsh_chain.his part of the change. Not applicable: no chain tool changed