Repository navigation
Isolate iOS acceptance in a job-owned simulator - #10
Merged
Merged
Conversation
Llewellynvdm
marked this pull request as ready for review
October 11, 2026 17:45
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.
Post-merge main run 38157448974 passed iPhone and every other platform, but iPad stalled inside simctl launch twice before the application or test driver started. The connection and process-lifecycle corrections in PR 9 remain valid; rebooting the same image-provided simulator did not reliably recover this native startup failure.
This follow-up isolates acceptance in a newly created simulator using the same selected device type and iOS runtime, following the pinned Flutter devicelab lifecycle. Only a validated new device ID may be owned or deleted. One pre-driver recovery replaces the owned device after confirmed deletion; it never retries assertions. Bounded host CoreSimulator logs supplement failure evidence.
Install, launch and retained-log discovery share five minutes. Driver attachment retains three minutes, tests retain twelve minutes, and the overall execution limit remains 38 minutes. Application code, package versions and acceptance assertions are unchanged.
All 83 developer-tool tests passed locally, including 42 iOS runner regressions independently rerun in review. Coverage includes rejection of every pre-existing/prior device UUID, ownership overwrite prevention, confirmed deletion before replacement, no retry after driver start, failure-only host diagnostics, cleanup reserves and shared/global deadline enforcement.
Full PR CI passed at commit 48026fc:
https://github.com/getbible/app/actions/runs/38159314691
Both iOS families passed all six acceptance tests on their first attempt, with driver exit 0 and successful owned-simulator shutdown/deletion. iPhone startup took 183.27 seconds (install 21.02s, launch 136.09s, discovery 26.16s), directly demonstrating why the old 180-second budget rejected a successful startup. iPad retained-log discovery took 36.78 seconds.
The initial macOS packaging check failed at hdiutil attach with “Resource temporarily unavailable” after successful app and DMG creation. A targeted rerun passed the unchanged DMG mount, installation and launch checks. All other package and runtime jobs passed without reruns in this PR workflow.
Post-merge main verification passed on its first run at commit 81d8f4c, whose Git tree exactly matches the tested PR tree:
https://github.com/getbible/app/actions/runs/38160974687
All seven package jobs, the full test job and every platform runtime check passed without reruns. Both iOS families again passed all six tests on their first attempt, with driver exit 0 and successful owned-device shutdown/deletion. The main macOS job also passed DMG mounting, installation and launch on its first attempt.
The release publisher completed successfully:
https://github.com/getbible/app/actions/runs/38161735759
The existing v1.0.0-alpha.5 testing release remains unchanged; this PR changes CI tooling and documentation only. Its 26 published assets are available at https://github.com/getbible/app/releases/tag/v1.0.0-alpha.5