Port the remaining three macOS jobs to the Bitrise ci-ios pipeline - #636
Open
kieran-osgood-shopify wants to merge 1 commit into
Conversation
11 tasks
This was referenced Aug 13, 2026
Contributor
Author
|
Warning This pull request is not mergeable via GitHub because a downstack PR is open. Once all requirements are satisfied, merge this PR as a stack on Graphite.
This stack of pull requests is managed by Graphite. Learn more about stacking. |
This was referenced Aug 13, 2026
kieran-osgood-shopify
force-pushed
the
kieran-osgood/macos-ci-4-bitrise-gate
branch
from
August 13, 2026 09:22
5f14e09 to
ade88b9
Compare
kieran-osgood-shopify
force-pushed
the
kieran-osgood/macos-ci-5-bitrise-remaining-jobs
branch
from
August 13, 2026 09:22
30948c5 to
11000e2
Compare
kieran-osgood-shopify
force-pushed
the
kieran-osgood/macos-ci-4-bitrise-gate
branch
from
August 13, 2026 11:36
ade88b9 to
f952221
Compare
kieran-osgood-shopify
force-pushed
the
kieran-osgood/macos-ci-5-bitrise-remaining-jobs
branch
from
August 13, 2026 11:36
11000e2 to
a581a2d
Compare
kieran-osgood-shopify
marked this pull request as ready for review
August 14, 2026 12:28
kieran-osgood-shopify
force-pushed
the
kieran-osgood/macos-ci-4-bitrise-gate
branch
from
August 14, 2026 12:36
f952221 to
4a0efcf
Compare
kieran-osgood-shopify
force-pushed
the
kieran-osgood/macos-ci-5-bitrise-remaining-jobs
branch
from
August 14, 2026 12:36
a581a2d to
90a015d
Compare
markmur
reviewed
Aug 14, 2026
| meta: | ||
| bitrise.io: | ||
| stack: *macos_stack | ||
| machine_type_id: g2.mac.4large |
Contributor
There was a problem hiding this comment.
4large seems reasonable for React Native, but would we get away with g2.mac.large for swift package and sample runs?
markmur
reviewed
Aug 14, 2026
markmur
left a comment
Contributor
There was a problem hiding this comment.
Left a question about machine size but looks good otherwise
markmur
approved these changes
Aug 14, 2026
Checkout Kit E2E resultsCaution E2E runs were skipped — 2 pipeline stages failed: None of the 4 planned runs executed:
|
kieran-osgood-shopify
force-pushed
the
kieran-osgood/macos-ci-5-bitrise-remaining-jobs
branch
from
August 14, 2026 16:32
90a015d to
4cc6dfc
Compare
kieran-osgood-shopify
force-pushed
the
kieran-osgood/macos-ci-4-bitrise-gate
branch
from
August 14, 2026 16:32
4a0efcf to
1473d71
Compare
Part of the macOS CI speed-up. Tracked on shop/issues-checkout-kit#1207, under shop/issues-checkout-kit#1202. Completes the port started in the previous PR. `ci-ios` now covers all four slow macOS jobs. ## Change `e2e/config/ios_ci.yml` gains `swift-samples`, `react-native-build-ios` and `react-native-test-ios`. The set-equality invariants from the previous PR then force `e2e/bitrise.yml` to match, which it does: three `ci-ios-*` workflows, three `run_if` blocks, three `share-pipeline-variable@1` entries, and three more names in `ci-ios-report.depends_on`. All three reuse the existing step bundles verbatim — `install-node-modules`, `install-ruby-gems`, `install-cocoapods`, `bootstrap-mint`, `create-ios-simulator`. Both `check_published_podfile_lock` guards are kept, each in its own step **before** `pod install`, so a local-path lockfile is named rather than surfacing as an opaque `--deployment` diff. ## Baselines to beat | Job | n | median | p90 | slowest step | share | | --- | --- | --- | --- | --- | --- | | `React Native / Run iOS Tests` | 11 | 13m19s | 13m53s | `Run iOS tests` 11m44s | 88% | | `React Native / Build iOS Sample` | 11 | 11m59s | 13m54s | `Build iOS sample` 10m27s | 87% | | `Swift / build-and-test-samples` | 11 | 6m38s | 8m10s | `Run Tests` 6m04s | 91% | React Native pair total: 25m18s. Whole-PR CI wall clock: 15m18s. 🟡 Variance is wide across all four jobs. Only the median over n ≥ 10 is worth comparing. ## Selection, verified | Change | Jobs selected | | --- | --- | | `platforms/swift/**` | `swift-package-tests`, `swift-samples` | | `platforms/react-native/**` | `react-native-build-ios`, `react-native-test-ios` | | `Package.swift` | all four | | `README.md` | none — `CI_IOS_HAS_JOBS=false` | `Package.swift` selecting all four mirrors `ci.yml:63-64` and `ci.yml:90-91`. ## Verification - `shadowenv exec -- ./scripts/test_ruby` — 293 runs, 0 failures. - `shadowenv exec -- bitrise validate --config=e2e/bitrise.yml` — valid. - Negative control: removing one flag and one `run_if` block fails all three set-equality invariants. ## Decisions made without you - **`swift-samples` secrets**: the samples only need a well-formed storefront configuration to compile, so the job exports placeholder values and calls `scripts/setup_storefront_env --skip-optional-prompts` directly. It does not call `e2e_configure_storefront`, which asserts the real secrets. Staying off them is what lets the job run on fork pull requests. - **`react-native-test-ios` pods**: not the `install-cocoapods` bundle — that one owns the sample app's Pods tree, and `test_ios` runs `pod install` for the integration app itself. An inline `restore-cache` / `save-cache` pair carries `test/rct-integration-app/Pods` instead. The plan called for a step bundle; inline is used because a bundle cannot wrap a step that lives in the workflow, and the paired-cache invariant added in the next PR would flag a split pair. - **`bootstrap-mint` in `react-native-test-ios`**: `test_ios` calls `generate_xcode_projects`, which needs xcodegen.
kieran-osgood-shopify
force-pushed
the
kieran-osgood/macos-ci-4-bitrise-gate
branch
from
August 17, 2026 15:50
1473d71 to
00bc5fd
Compare
kieran-osgood-shopify
force-pushed
the
kieran-osgood/macos-ci-5-bitrise-remaining-jobs
branch
from
August 17, 2026 15:50
4cc6dfc to
018c4f8
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.

Part of the macOS CI speed-up
Epic
Issue
Completes the port started in the previous PR.
ci-iosnow covers all four slowmacOS jobs.
Change
e2e/config/ios_ci.ymlnow includesswift-samplesreact-native-build-iosreact-native-test-iosBaselines to beat
React Native / Run iOS TestsRun iOS tests11m44sReact Native / Build iOS SampleBuild iOS sample10m27sSwift / build-and-test-samplesRun Tests6m04sReact Native pair total: 25m18s. Whole-PR CI wall clock: 15m18s.
🟡 Variance is wide across all four jobs.
Before you merge
Important
platforms/swift/README.mdand/orplatforms/android/README.md)Releasing a new Swift version?
ShopifyCheckoutKit.podspecplatforms/swift/Sources/ShopifyCheckoutKit/ShopifyCheckoutKit.swiftplatforms/swift/README.md(major version only)Releasing a new Embedded Checkout Protocol version?
embeddedCheckoutProtocolAndroidinplatforms/android/gradle/libs.versions.tomlprotocol/languages/kotlin/embedded-checkout-protocol/api/embedded-checkout-protocol.apiif the public API changedReleasing a new Android version?
checkoutKitAndroidinplatforms/android/gradle/libs.versions.tomlplatforms/android/README.mdTip
See the Contributing documentation for the full release process per platform.