feat(ci): POC Bitrise GH Action runners for iOS E2E#28791
Conversation
|
CLA Signature Action: All authors have signed the CLA. You may need to manually re-run the blocking PR check if it doesn't pass in a few minutes. |
|
✅ E2E Fixture Validation — Schema is up to date |
There was a problem hiding this comment.
Pull request overview
Adds an opt-in (workflow_dispatch-only) benchmarking path to run iOS E2E builds/tests on Bitrise-provided GitHub Actions self-hosted runners, without changing the default CI runner behavior.
Changes:
- Added a temporary standalone
[TEMP] Bitrise iOS E2E POCworkflow for benchmarking Bitrise runners. - Introduced a
use_bitrise_runnerboolean input to route iOS E2E jobs to a hardcoded Bitrise runner group, plus a Bitrise/Vagrant path workaround. - Threaded
use_bitrise_runnerthrough all iOS smoke-test jobs so the routing toggle applies consistently.
Reviewed changes
Copilot reviewed 3 out of 3 changed files in this pull request and generated 5 comments.
| File | Description |
|---|---|
.github/workflows/temp-bitrise-ios-e2e.yml |
New workflow_dispatch-only benchmarking workflow to build iOS E2E app on Bitrise runners and optionally run smoke tests. |
.github/workflows/run-e2e-workflow.yml |
Adds use_bitrise_runner input, updates runs-on selection for iOS, and adds Bitrise/Vagrant path fix step. |
.github/workflows/run-e2e-smoke-tests-ios.yml |
Adds use_bitrise_runner input and forwards it to all smoke-test jobs that call run-e2e-workflow.yml. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
07d39af to
9c1f79d
Compare
Adds temporary optional workflow to benchmark iOS E2E builds and tests on Bitrise-provided GitHub Actions self-hosted runners. Changes: - New temp-bitrise-ios-e2e.yml: workflow_dispatch-only benchmarking workflow - run-e2e-workflow.yml: use_bitrise_runner boolean input, conditional runner routing, Vagrant path fix (guarded by boolean + platform check) - run-e2e-smoke-tests-ios.yml: threaded use_bitrise_runner through all 13 jobs Security: workflow_dispatch only trigger, hardcoded runner group name, configure-keystores: false, sanitized diagnostics. Existing CI pipeline behavior unchanged — all defaults preserved. INFRA-3527 Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
9c1f79d to
fef8883
Compare
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 3 out of 3 changed files in this pull request and generated 1 comment.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 3 out of 3 changed files in this pull request and generated 2 comments.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Use bitrise_pool_name:DemoFAXL label to route iOS build jobs to XL machines (14c/54GB) and bitrise_pool_name:DemoFA label to route E2E test jobs to Large machines (10c/28GB).
Register bitrise_pool_name:DemoFA and bitrise_pool_name:DemoFAXL as known self-hosted runner labels so actionlint does not reject them.
🔍 Smart E2E Test Selection
click to see 🤖 AI reasoning detailsE2E Test Selection:
None of these changes affect:
Since no application code is changed and the CI changes only add an optional alternative runner path (defaulting to the existing behavior), there is no need to run any E2E test tags to validate these changes. The changes are purely infrastructure/routing changes for a benchmarking POC. Performance Test Selection: |
|



Description
Adds a temporary optional workflow to benchmark iOS E2E builds and tests on Bitrise-provided GitHub Actions self-hosted runners as an alternative to the current Cirrus CI macOS runners.
What changed:
temp-bitrise-ios-e2e.ymlworkflow (standalone benchmarking, not part of CI gate)run-e2e-workflow.ymladdeduse_bitrise_runnerboolean input for optional Bitrise runner routing, plus Vagrant path fixrun-e2e-smoke-tests-ios.ymlthreadeduse_bitrise_runnerthrough all 13 smoke test jobsTrigger strategy:
bitrise-poclabel only (label-based +synchronize)Existing CI pipeline is NOT modified. All defaults preserved (Cirrus runners remain the default).
Security:
!github.event.pull_request.head.repo.fork)configure-keystores: false(no signing certificates on Bitrise runners)Changelog
CHANGELOG entry: null
Related issues
Fixes: INFRA-3527
Manual testing steps
Screenshots/Recordings
N/A (CI workflow changes only)
Pre-merge author checklist
Pre-merge reviewer checklist