Part of the macOS CI speed-up. Tracked on shop/issues-checkout-kit#1205, under shop/issues-checkout-kit#1202.
Enabler only. This PR lands no measurable delta by itself. It removes three
defects that would break the Bitrise port on contact.
## Problem
1. The Xcode build scripts key their `xcbeautify` renderer off `CI`, which is
also `true` on Bitrise. Bitrise would get GitHub Actions annotation markup in
its logs.
2. `xcbeautify` is assumed present in two scripts. `xcode_run:110` already guards
it; the others do not. The Bitrise macOS stack does not ship it.
3. The existing `e2e` pipeline uses the default `status_report_name`, which is
identical for every pipeline on a Bitrise app. A second pipeline would
overwrite its commit status.
## Change
- `platforms/swift/Scripts/xcode_run`, `platforms/swift/Scripts/api`,
`platforms/react-native/sample/scripts/build_ios`,
`platforms/react-native/sample/scripts/test_ios` — renderer keyed off
`GITHUB_ACTIONS` rather than `CI`, plus a `run_xcodebuild()` wrapper and a
`command -v xcbeautify` guard in the two scripts that lacked one.
- `e2e/bitrise.yml` — the `e2e` pipeline gains a `status_report_name` containing
`<target_id>`, and `nightly-decide-should-build` gains the `no_output_timeout`
that `BITRISE.md:113` requires.
## Verification
- `shadowenv exec -- bitrise validate --config=e2e/bitrise.yml` — valid.
- `shadowenv exec -- ./scripts/test_ruby` — green.
- `bash -n` on all four edited scripts — clean.
## Note for the author
Two edits were not in the plan text and were found while porting: the
`no_output_timeout` on `nightly-decide-should-build`, and the `GITHUB_ACTIONS`
guard in `platforms/swift/Scripts/api`. Both are one line.
Renaming the `e2e` pipeline's status report is safe. Ruleset 15994822 requires
only `CI Required`, and `e2e/BITRISE.md:53` states the E2E GitHub checks are
deliberately non-blocking.
Part of the macOS CI speed-up
Epic
Issue
Scripts rely on "CI" envvar to set
--rendererfor xcbeautify togithub-actions"CI" is true on bitrise which doesn't support github-actions annotation markup format
Moving the scripts to rely on "GITHUB_ACTIONS" being set helps these scripts remain portable between environments during transition, bitrise will fallback to the default (
terminal)Couple extra safety changes included
xcbeautifyis assumed present in two scripts.xcode_run:110already guards it; the others do not.e2epipeline uses the defaultstatus_report_name, which is identical for every pipeline on a Bitrise app. A second pipeline would overwrite its commit status.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.