Skip to content

Isolate iOS acceptance in a job-owned simulator - #10

Merged
Llewellynvdm merged 3 commits into
mainfrom
fix/ios-owned-simulator
Oct 11, 2026
Merged

Llewellynvdm merged 3 commits into
mainfrom
fix/ios-owned-simulator

Conversation

@Llewellynvdm

@Llewellynvdm Llewellynvdm commented Oct 11, 2026 •

Copy link
Copy Markdown
Member

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

@Llewellynvdm
Llewellynvdm marked this pull request as ready for review October 11, 2026 17:45
@Llewellynvdm
Llewellynvdm merged commit 81d8f4c into main Oct 11, 2026
39 of 40 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant