Skip to content

ci: run integration tests for iOS devices on BrowserStack#1114

Merged
anhappdev merged 6 commits into
masterfrom
anh/ios-browserstack
May 5, 2026
Merged

ci: run integration tests for iOS devices on BrowserStack#1114
anhappdev merged 6 commits into
masterfrom
anh/ios-browserstack

Conversation

@anhappdev

@anhappdev anhappdev commented Mar 3, 2026

Copy link
Copy Markdown
Collaborator

Summary

  • Closes Run integration tests for iOS on BrowserStack #1112
  • Switch iOS CI to automatic code signing with App Store Connect API key, removing manual provisioning profile rotation
  • Add BrowserStack App Automate integration for running iOS Flutter integration tests on real devices with idle timeout
  • Replace FlutterDriver with IntegrationTest API and refactor keep-alive logic to include resource download and cooldown
  • Fix Xcode 15+ watchdog killing integration tests after ~6 minutes

Changes

  • .github/workflows/ios-build-test-macos.yml — Add BrowserStack job matrix, API key signing, and test upload/run steps
  • .github/workflows/scripts/browserstack-app-automate.sh — Extend script with idle timeout and iOS support
  • flutter/integration_test/first_test.dart — Replace FlutterDriver with IntegrationTest API, refactor keep-alive and benchmark flow
  • flutter/ios/RunnerTests/RunnerTests.m — Add XCTest wrapper for Flutter integration tests with Xcode watchdog workaround
  • flutter/ios/ci_scripts/ci_post_clone.sh — Update env defaults for API key signing
  • flutter/ios/ios.mk — Add Makefile targets for iOS build and test
  • docs/ — Add BrowserStack testing guide and iOS workflow setup docs

Test plan

  • Verify iOS BrowserStack CI job triggers on push/PR to master
  • Confirm integration tests run successfully on BrowserStack real devices
  • Verify other workflow triggers (format-and-lint, unit-tests, etc.) are unaffected

Closes #1112

@anhappdev anhappdev requested a review from a team as a code owner March 3, 2026 02:25
@github-actions

github-actions Bot commented Mar 3, 2026

Copy link
Copy Markdown

MLCommons CLA bot All contributors have signed the MLCommons CLA ✍️ ✅

@anhappdev anhappdev marked this pull request as draft March 3, 2026 02:44
@sonarqubecloud

sonarqubecloud Bot commented Mar 3, 2026

Copy link
Copy Markdown

Quality Gate Failed Quality Gate failed

Failed conditions
C Security Rating on New Code (required ≥ A)

See analysis details on SonarQube Cloud

Catch issues before they fail your Quality Gate with our IDE extension SonarQube for IDE

@anhappdev anhappdev force-pushed the anh/ios-browserstack branch from eb32a20 to daf48cd Compare March 4, 2026 01:17
@anhappdev

anhappdev commented Mar 22, 2026

Copy link
Copy Markdown
Collaborator Author

- Switch iOS CI to automatic code signing with App Store Connect API key
- Add BrowserStack App Automate script with idle timeout
- Replace FlutterDriver with IntegrationTest API and refactor keep-alive logic
- Refactor benchmark flow to include resource download and cooldown within keep-alive
- Fix Xcode 15+ watchdog killing integration tests after ~6 minutes
- Re-enable all GitHub Actions workflow triggers
@anhappdev anhappdev force-pushed the anh/ios-browserstack branch from 5cc640e to 709b3b9 Compare April 15, 2026 08:56
- Scope `contents: read` to each job in `ios-build-test-macos.yml`
  instead of inheriting at the workflow level (githubactions:S8264).
- Redirect validation-error `echo`s in `browserstack-app-automate.sh`
  to stderr (shelldre:S7677).
@sonarqubecloud

sonarqubecloud Bot commented May 3, 2026

Copy link
Copy Markdown

@anhappdev anhappdev marked this pull request as ready for review May 3, 2026 12:40
@anhappdev anhappdev changed the title ci: add BrowserStack App Automate for iOS Flutter integration tests ci: run integration tests for iOS devices on BrowserStack May 3, 2026
@anhappdev anhappdev merged commit 0e8803c into master May 5, 2026
35 checks passed
@anhappdev anhappdev deleted the anh/ios-browserstack branch May 5, 2026 08:59
@github-actions github-actions Bot locked and limited conversation to collaborators May 5, 2026
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Run integration tests for iOS on BrowserStack

2 participants