Skip to content

ci: add BrowserStack App Automate for iOS Flutter integration tests#1114

Draft
anhappdev wants to merge 26 commits intomasterfrom
anh/ios-browserstack
Draft

ci: add BrowserStack App Automate for iOS Flutter integration tests#1114
anhappdev wants to merge 26 commits intomasterfrom
anh/ios-browserstack

Conversation

@anhappdev
Copy link
Collaborator

@anhappdev anhappdev commented Mar 3, 2026

- Update `browserstack-app-automate.sh` to handle iOS-specific configurations.
- Add iOS test package build and packaging targets to `ios.mk`.
- Adjust throughput intervals for iPhone on macOS in `expected_throughput.dart`.
- Provide detailed steps for setting up, uploading, and triggering Android and iOS tests.
- Include prerequisites, environment variables, and monitoring instructions.
…orkflow

- Compute build number dynamically in GitHub Actions.
- Use build number for iOS test package names and artifacts.
- Update `ios.mk` to support configurable test package naming.
- Refactor workflows for better modularity and artifact management.
@anhappdev anhappdev requested a review from a team as a code owner March 3, 2026 02:25
@github-actions
Copy link

github-actions bot commented Mar 3, 2026

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

…ng profiles

- Replace `import-codesign-certs` action with custom script for better control.
- Add cleanup step for keychain and provisioning profiles.
@anhappdev anhappdev marked this pull request as draft March 3, 2026 02:44
- Provide detailed steps for configuring `ios-browserstack-test.yml`.
- Outline required secrets, variables, and their sources.
- Include instructions for generating Apple certificates and provisioning profiles.
@sonarqubecloud
Copy link

sonarqubecloud bot commented Mar 3, 2026

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

The env block mapped secrets to IOS_-prefixed variables but the shell
script still referenced the old names, causing empty values and a
"Unable to decode the provided data" error during certificate import.
Consolidate two separate iOS CI workflows into one to reduce duplication.
The build-and-test job now includes certificate install, test package build,
and artifact upload. BrowserStack testing runs as a single downstream job.
Simulator tests on GitHub Actions were unreliable. Integration testing
now runs exclusively on BrowserStack real devices. Rename job to 'build'.
Replaced manual provisioning profile with an App Store Connect API key for CI, enabling Xcode to manage profiles via `-allowProvisioningUpdates` and simplifying the process by removing manual profile rotation. Local builds remain compatible with automatic signing.
@anhappdev anhappdev force-pushed the anh/ios-browserstack branch from eb32a20 to daf48cd Compare March 4, 2026 01:17
@anhappdev
Copy link
Collaborator Author

anhappdev commented Mar 22, 2026

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.

Run integration tests for iOS on BrowserStack

1 participant