Skip to content

chore(ci): remove Cirrus runners and use only Bitrise - #6563

Open
itaybre wants to merge 2 commits into
mainfrom
itay/remove-cirrus-runners
Open

chore(ci): remove Cirrus runners and use only Bitrise#6563
itaybre wants to merge 2 commits into
mainfrom
itay/remove-cirrus-runners

Conversation

@itaybre

@itaybre itaybre commented Aug 4, 2026

Copy link
Copy Markdown
Contributor

📢 Type of change

  • Bugfix
  • New feature
  • Enhancement
  • Refactoring

📜 Description

Remove all Cirrus Labs runner configurations from CI workflows and standardize on Bitrise runners for macOS/iOS jobs and ubuntu-24.04-16core for Android/Linux jobs.

Changes across three workflow files:

  • native-tests.yml: iOS test-ios now runs solely on Bitrise (bitrise_pool_name:tahoe), removed runner_provider matrix and Cirrus-only steps (rbenv cache, ruby/setup-ruby). Android test-android switched from Cirrus to ubuntu-24.04-16core.
  • sample-application.yml: iOS test-ios now runs solely on Bitrise, removed runner_provider matrix and conditionals.
  • e2e-v2.yml: Android runners in metrics, react-native-build, and react-native-test switched from Cirrus to ubuntu-24.04-16core. iOS react-native-test now runs on Bitrise, removed runner_provider matrix, continue-on-error, and Cirrus runner refs.

💡 Motivation and Context

Consolidate CI runners by removing Cirrus Labs machines and using only Bitrise for macOS/iOS workloads.

💚 How did you test it?

CI workflow changes — will be validated by running the workflows on this PR.

📝 Checklist

  • I added tests to verify changes.
  • No new PII added or SDK only sends newly added PII if sendDefaultPII is enabled.
  • I updated the docs if needed.
  • I updated the wizard if needed.
  • All tests passing.
  • Public API changes reviewed by another Mobile SDK team member or implemented according to the develop docs spec.
  • No breaking changes.

🔮 Next steps

Remove all Cirrus Labs runner configurations from CI workflows and
standardize on Bitrise runners for macOS/iOS jobs and ubuntu-24.04-16core
for Android/Linux jobs.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@itaybre itaybre added the ready-to-merge Triggers the full CI test suite label Aug 4, 2026
@github-actions

github-actions Bot commented Aug 4, 2026

Copy link
Copy Markdown
Contributor

Semver Impact of This PR

None (no version bump detected)

📋 Changelog Preview

This is how your changes will appear in the changelog.
Entries from this PR are highlighted with a left border (blockquote style).


  • chore(ci): remove Cirrus runners and use only Bitrise by itaybre in #6563
  • chore(deps): update Wizard to v7.0.0 by github-actions in #6558
  • chore(deps): bump the codeql-action group with 3 updates by dependabot in #6553
  • chore(deps): bump getsentry/craft/.github/workflows/changelog-preview.yml from 2.26.14 to 2.28.0 by dependabot in #6554
  • chore(deps): bump fast-uri from 3.1.4 to 3.1.5 by dependabot in #6560
  • chore(deps): bump getsentry/craft from 2.26.14 to 2.28.0 by dependabot in #6556
  • chore(deps): bump ip-address from 10.2.0 to 10.4.0 by dependabot in #6557
  • chore(deps): bump undici from 6.27.0 to 6.28.0 by dependabot in #6559
  • chore(deps): bump actions/setup-java from 5.6.0 to 5.7.0 by dependabot in #6555
  • chore(deps): bump brace-expansion from 1.1.16 to 1.1.18 by dependabot in #6552
  • fix(expo): resolve plugin config when registered as bare '@sentry/react-native' by antonis in #6543
  • fix(ios): make the RNSentry SPEC CHECKSUM in Podfile.lock machine-independent by alwx in #6534
  • chore(deps): update Android SDK to v8.51.0 by github-actions in #6539
  • chore(deps): update Sentry Android Gradle Plugin to v6.17.0 by github-actions in #6544
  • feat(core): Extend TurboModule instrumentation to legacy NativeModules by alwx in #6504
  • feat(ios): Introduce enableMetricKit option by alwx in #6540

🤖 This preview updates automatically when you update the PR.

@github-actions

github-actions Bot commented Aug 4, 2026

Copy link
Copy Markdown
Contributor

iOS (legacy) Performance metrics 🚀

  Plain With Sentry Diff
Startup time 3858.98 ms 1232.31 ms -2626.67 ms
Size 5.08 MiB 6.68 MiB 1.60 MiB

Baseline results on branch: main

Startup times

Revision Plain With Sentry Diff
64630e5+dirty 3842.70 ms 1218.11 ms -2624.60 ms
b0d3373+dirty 3831.75 ms 1227.29 ms -2604.46 ms
b04af96+dirty 3818.92 ms 1219.76 ms -2599.16 ms
3d31fcf+dirty 3838.09 ms 1223.46 ms -2614.63 ms
a0a3177+dirty 3844.73 ms 1225.23 ms -2619.51 ms
af33f3b+dirty 3849.98 ms 1236.45 ms -2613.53 ms
09a902f+dirty 3835.67 ms 1217.11 ms -2618.57 ms
5a316ea+dirty 3820.11 ms 1211.28 ms -2608.83 ms
acd838e+dirty 3849.78 ms 1230.00 ms -2619.78 ms
c2e182c+dirty 3848.40 ms 1211.79 ms -2636.61 ms

App size

Revision Plain With Sentry Diff
64630e5+dirty 4.98 MiB 6.46 MiB 1.49 MiB
b0d3373+dirty 5.15 MiB 6.68 MiB 1.53 MiB
b04af96+dirty 4.98 MiB 6.54 MiB 1.56 MiB
3d31fcf+dirty 4.98 MiB 6.56 MiB 1.58 MiB
a0a3177+dirty 4.98 MiB 6.55 MiB 1.58 MiB
af33f3b+dirty 4.98 MiB 6.51 MiB 1.54 MiB
09a902f+dirty 4.98 MiB 6.46 MiB 1.49 MiB
5a316ea+dirty 4.98 MiB 6.51 MiB 1.53 MiB
acd838e+dirty 5.15 MiB 6.70 MiB 1.55 MiB
c2e182c+dirty 4.98 MiB 6.50 MiB 1.52 MiB

@github-actions

github-actions Bot commented Aug 4, 2026

Copy link
Copy Markdown
Contributor

Android (legacy) Performance metrics 🚀

  Plain With Sentry Diff
Startup time 498.96 ms 538.83 ms 39.87 ms
Size 49.74 MiB 55.44 MiB 5.70 MiB

Baseline results on branch: main

Startup times

Revision Plain With Sentry Diff
d2eadf8+dirty 414.64 ms 454.56 ms 39.92 ms
1e5d96d+dirty 519.43 ms 543.62 ms 24.19 ms
822d35b+dirty 429.31 ms 498.04 ms 68.73 ms
84cba31+dirty 511.12 ms 567.62 ms 56.50 ms
3a829f0+dirty 474.65 ms 518.24 ms 43.59 ms
c823bb5+dirty 409.87 ms 478.57 ms 68.70 ms
5a23c47+dirty 423.85 ms 466.47 ms 42.62 ms
5ee78d6+dirty 551.80 ms 568.27 ms 16.47 ms
d67e46f+dirty 418.11 ms 447.62 ms 29.51 ms
b04af96+dirty 496.48 ms 557.88 ms 61.40 ms

App size

Revision Plain With Sentry Diff
d2eadf8+dirty 48.30 MiB 53.48 MiB 5.18 MiB
1e5d96d+dirty 49.74 MiB 54.81 MiB 5.07 MiB
822d35b+dirty 49.74 MiB 54.84 MiB 5.10 MiB
84cba31+dirty 49.74 MiB 55.37 MiB 5.63 MiB
3a829f0+dirty 48.30 MiB 53.58 MiB 5.28 MiB
c823bb5+dirty 48.30 MiB 53.58 MiB 5.28 MiB
5a23c47+dirty 49.74 MiB 54.82 MiB 5.07 MiB
5ee78d6+dirty 48.30 MiB 53.58 MiB 5.28 MiB
d67e46f+dirty 49.74 MiB 55.44 MiB 5.70 MiB
b04af96+dirty 49.74 MiB 55.00 MiB 5.26 MiB

Comment thread .github/workflows/native-tests.yml
@github-actions

github-actions Bot commented Aug 4, 2026

Copy link
Copy Markdown
Contributor

iOS (new) Performance metrics 🚀

  Plain With Sentry Diff
Startup time 3827.11 ms 1209.53 ms -2617.58 ms
Size 5.08 MiB 6.68 MiB 1.60 MiB

Baseline results on branch: main

Startup times

Revision Plain With Sentry Diff
7d6fd3a+dirty 1210.89 ms 1217.63 ms 6.74 ms
774257e+dirty 3821.35 ms 1211.96 ms -2609.39 ms
4e0b819+dirty 3828.96 ms 1205.64 ms -2623.32 ms
d038a14+dirty 3831.11 ms 1216.30 ms -2614.81 ms
882f8ae+dirty 3842.51 ms 1230.40 ms -2612.11 ms
5125c43+dirty 3827.94 ms 1208.79 ms -2619.15 ms
15d4514+dirty 3843.73 ms 1228.09 ms -2615.64 ms
3d31fcf+dirty 3857.46 ms 1237.17 ms -2620.29 ms
4b87b12+dirty 1199.49 ms 1199.78 ms 0.29 ms
5c1e987+dirty 1208.43 ms 1220.72 ms 12.29 ms

App size

Revision Plain With Sentry Diff
7d6fd3a+dirty 3.38 MiB 4.77 MiB 1.39 MiB
774257e+dirty 5.15 MiB 6.70 MiB 1.54 MiB
4e0b819+dirty 4.98 MiB 6.46 MiB 1.49 MiB
d038a14+dirty 5.15 MiB 6.67 MiB 1.51 MiB
882f8ae+dirty 5.15 MiB 6.70 MiB 1.54 MiB
5125c43+dirty 5.15 MiB 6.68 MiB 1.53 MiB
15d4514+dirty 5.15 MiB 6.70 MiB 1.55 MiB
3d31fcf+dirty 4.98 MiB 6.56 MiB 1.58 MiB
4b87b12+dirty 3.38 MiB 4.77 MiB 1.39 MiB
5c1e987+dirty 3.38 MiB 4.73 MiB 1.35 MiB

@github-actions

github-actions Bot commented Aug 4, 2026

Copy link
Copy Markdown
Contributor

Android (new) Performance metrics 🚀

  Plain With Sentry Diff
Startup time 493.29 ms 535.27 ms 41.97 ms
Size 49.74 MiB 55.44 MiB 5.70 MiB

Baseline results on branch: main

Startup times

Revision Plain With Sentry Diff
1a2e7e0+dirty 451.98 ms 501.50 ms 49.52 ms
ab203f9+dirty 430.27 ms 464.22 ms 33.95 ms
2c735cc+dirty 435.20 ms 459.48 ms 24.28 ms
2363c0f+dirty 419.48 ms 463.92 ms 44.44 ms
774257e+dirty 541.42 ms 575.55 ms 34.13 ms
ca9d079+dirty 460.67 ms 512.54 ms 51.87 ms
5a316ea+dirty 626.41 ms 645.00 ms 18.59 ms
a736b76+dirty 405.78 ms 458.74 ms 52.96 ms
3817909+dirty 357.52 ms 391.52 ms 34.00 ms
9474ead+dirty 432.18 ms 481.92 ms 49.73 ms

App size

Revision Plain With Sentry Diff
1a2e7e0+dirty 49.74 MiB 54.82 MiB 5.07 MiB
ab203f9+dirty 49.74 MiB 54.85 MiB 5.11 MiB
2c735cc+dirty 43.94 MiB 48.94 MiB 5.00 MiB
2363c0f+dirty 49.74 MiB 54.84 MiB 5.10 MiB
774257e+dirty 48.30 MiB 53.58 MiB 5.28 MiB
ca9d079+dirty 48.30 MiB 53.58 MiB 5.28 MiB
5a316ea+dirty 49.74 MiB 55.09 MiB 5.34 MiB
a736b76+dirty 48.30 MiB 53.48 MiB 5.18 MiB
3817909+dirty 43.94 MiB 48.94 MiB 5.00 MiB
9474ead+dirty 48.30 MiB 53.61 MiB 5.30 MiB

@itaybre
itaybre marked this pull request as ready for review August 4, 2026 15:46
Comment on lines 396 to +397
- platform: android
runs-on:
[
"ghcr.io/cirruslabs/ubuntu-runner-amd64:24.04",
"runner_group_id:10",
]
exclude:
- platform: android
runner_provider: bitrise
runs-on: ubuntu-latest

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Bug: Android CI jobs are configured with ubuntu-latest instead of the intended, more powerful ubuntu-24.04-16core runner, which may degrade test performance.
Severity: MEDIUM

Suggested Fix

Update the runs-on value for all Android jobs in .github/workflows/e2e-v2.yml and .github/workflows/native-tests.yml from ubuntu-latest to ubuntu-24.04-16core to match the performance requirements and the stated intent of the pull request.

Prompt for AI Agent
Review the code at the location below. A potential bug has been identified by an AI
agent. Verify if this is a real issue. If it is, propose a fix; if not, explain why it's
not valid.

Location: .github/workflows/e2e-v2.yml#L396-L397

Potential issue: The pull request aims to standardize CI runners, specifying
`ubuntu-24.04-16core` for Android jobs. However, the implementation in `e2e-v2.yml` and
`native-tests.yml` sets the runner to `ubuntu-latest`. The `ubuntu-latest` runner
provides 4 CPU cores, whereas the intended runner has 16. Since the Android jobs run
resource-intensive emulator tests using KVM, this discrepancy will likely lead to
significantly longer test execution times, potential timeouts, and increased test
flakiness. This represents a performance regression and misaligns with the stated goals
of the change.

Also affects:

  • .github/workflows/native-tests.yml:116~116
  • .github/workflows/e2e-v2.yml:61~61
  • .github/workflows/e2e-v2.yml:250~250

Did we get this right? 👍 / 👎 to inform future reviews.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I do agree with the bot here, it needs to be a specific version of Ubuntu, not ubuntu-latest.

@itaybre
itaybre enabled auto-merge (squash) August 4, 2026 18:58
Comment on lines 396 to +397
- platform: android
runs-on:
[
"ghcr.io/cirruslabs/ubuntu-runner-amd64:24.04",
"runner_group_id:10",
]
exclude:
- platform: android
runner_provider: bitrise
runs-on: ubuntu-latest

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I do agree with the bot here, it needs to be a specific version of Ubuntu, not ubuntu-latest.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

ready-to-merge Triggers the full CI test suite

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants