iOS: add one-tap OTA install for ad-hoc builds#4791
Open
pballart wants to merge 2 commits into
Open
Conversation
Adds a per-build manifest.plist and install.html alongside the existing IPA upload in ios_adhoc.yml so testers can install ad-hoc builds on their iPhone with a single Safari tap (via itms-services://) instead of sideloading the .ipa through Xcode or Apple Configurator. The Asana comment posted by the workflow now links the install page, and the GitHub Actions step summary surfaces it too. Signing, the S3 bucket layout, public-read ACL, and CloudFront distribution are all unchanged — devices already enrolled in the ad-hoc provisioning profile install with no further setup. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Contributor
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes and found 1 potential issue.
❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, have a team admin enable autofix in the Cursor dashboard.
Reviewed by Cursor Bugbot for commit c882f50. Configure here.
The manifest URL is already embedded in the install HTML; the Report success step never read MANIFEST_URL. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
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.

Task/Issue URL: https://app.asana.com/1/137249556945/project/1214200115953388/task/1214633075025736?focus=true
Tech Design URL:
CC:
Description
Adds an over-the-air install page to the iOS ad-hoc build workflow so testers with a UDID-registered iPhone can install the build by tapping a single Safari link, instead of going through AirDrop / Apple Configurator. The workflow now uploads a manifest plist and a small install HTML alongside the IPA, and the success Asana comment + GitHub step summary surface the install URL.
Testing Steps
Impact and Risks
Low — release infra only, no app code changes.
What could go wrong?
Most plausible regression: the per-build-type bundle ID in the workflow drifts from the IPA's actual bundle ID, which would surface on device as a generic "Unable to install". The mapping is set explicitly in the new workflow step (Alpha / Release / Experimental) and matches the existing IPA naming.
Internal references:
Definition of Done | Engineering Expectations | Tech Design Template
Note
Medium Risk
Modifies the iOS ad-hoc release workflow to generate additional public artifacts and relies on correct per-build-type bundle ID mapping; misconfiguration could break installs without affecting app code.
Overview
Adds one-tap over-the-air installation for iOS ad-hoc builds by generating an OTA
manifest.plistand a smallinstall.htmlpage alongside the uploaded IPA.Updates the
ios_adhoc.ymlworkflow to render these templates (via a new.github/templates/render.pyhelper), upload them to the same S3 directory as the IPA, and surface the resulting install link in both the GitHub run summary and the Asana success comment.Reviewed by Cursor Bugbot for commit fd06144. Bugbot is set up for automated code reviews on this repo. Configure here.