Skip to content

perf(ci): Reuse screenshot test build - #166

Draft
philprime wants to merge 4 commits into
mainfrom
philprime/perf/speed-up-screenshot-ci
Draft

perf(ci): Reuse screenshot test build#166
philprime wants to merge 4 commits into
mainfrom
philprime/perf/speed-up-screenshot-ci

Conversation

@philprime

@philprime philprime commented Sep 1, 2026

Copy link
Copy Markdown
Member

Reuse one architecture-specific build-for-testing bundle for screenshot CI so test retries use test-without-building instead of rebuilding the project. Pass the prewarmed simulator into Fastlane, reuse its derived data, and replace flaky context-menu long presses with exact swipe actions.

Stability

  • Retains Xcode build-settings prewarming after a fresh-runner experiment without it timed out before the build could begin.
  • Retains in-process test retries and a full simulator reboot recovery attempt.
  • Validates that all four single-device CI screenshots are collected.

Validation

  • make build-ios-app
  • make test-ui-ios-screenshot ONLY_TESTING=ScreenshotUITests/ScreenshotUITests/testScreenshots
  • Three consecutive successful Screenshots runs with prewarming enabled
  • One no-prewarming experiment that reproduced Fastlane build-settings timeouts
  • Actionlint, SwiftLint, Fastlane lane loading, Ruby syntax, and workflow YAML parsing

Build the screenshot test bundle once and run retries without rebuilding. Pass the prewarmed simulator into Fastlane and use deterministic swipe actions for screenshot editing flows.
@sentry

sentry Bot commented Sep 1, 2026

Copy link
Copy Markdown

📲 Install Builds

iOS

🔗 App Name App ID Version Configuration
Flinky com.techprimate.Flinky 1.1.7 (4) --

⚙️ flinky Build Distribution Settings

Build the single-device CI bundle only for the resolved simulator architecture. Reuse the explicit derived data path during test-without-building to avoid an extra build-settings lookup.
Let the real build-for-testing invocation initialize Xcode after the simulator boots. Keep prewarming enabled in release workflows until the PR experiment confirms stability.
Keep the simulator action warm-up after the no-prewarm experiment showed Fastlane timing out before build-for-testing could begin.
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