Repository navigation
Stabilize native acceptance and recover alpha testing packages - #8
Merged
Merged
Conversation
Llewellynvdm
marked this pull request as ready for review
October 11, 2026 13:08
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.
The alpha 5 main run built every platform package, but iPad acceptance hung after Xcode compilation and exhausted its 50-minute job timeout. Its buffered driver log was empty, so the timeout both blocked release publication and lost the diagnostic evidence needed to investigate.
This change builds the integration APP once and runs bounded simulator attempts against that exact bundle. Build, boot, launch/attachment and test phases have independent limits inside a 38-minute session, with a separate cleanup reserve. Child output goes straight to attempt logs; stage events, simulator screenshots and console diagnostics are retained. Owned process groups are terminated, and shutdown retains its own cleanup time.
A single reboot/relaunch is permitted only for an observed pre-driver simulator install/launch/VM-service stall without a reported error. Nonzero exits, build errors, started test journeys and failed assertions are never retried. No application behavior, version, package format or publication acceptance gate changes.
Native verification also exposed two harness assumptions: cold CoreSimulator discovery can exceed 30 seconds, and Android keyboard metrics can arrive after Flutter's
pumpAndSettle. Discovery now uses the existing three-minute boot budget. The Study journey waits for bounded geometry stability and reveals the same complete form field its accessibility assertion checks. Mounted/focus/hit-test/content checks remain required, with delayed-metrics, zero-inset and timeout regressions.The deployment and testing guides explain recovery by rerunning only the unsuccessful runtime job, allowing the publisher to reuse original package archives. The original main run
38078120633attempt 2 is now green: the iPad retry passed all six integration checks. Automatic publisher38138817407successfully published v1.0.0-alpha.5 with all 26 verified assets from the original main commitb1bc3db21052ce18a7df695aa6af163be19cfc84. No packages were rebuilt for recovery.Validation:
unorm_dart; bounded online resolution timed out), so hosted CI remains the full-journey gate.39cba4b618a75ab242c29cb8d738e17609d238e7passed the complete Flutter CI run 38140948333: clean formatting/analysis, 512 Flutter tests, 126 Python tooling tests, seven platform package builds and all six native runtime jobs (Windows, macOS, Android phone/tablet, iPhone and iPad). Browser acceptance and package installation checks passed; optional signing jobs remain skipped on PRs.Original failed job: https://github.com/getbible/app/actions/runs/38078120633/job/114289790888