Skip to content

Commit 769e11c

Browse files
authored
CI: update workflows with newer version of Xcode (+ iOS SDK) (#5635)
* CI: update workflows with newer version of Xcode (+ iOS SDK) * Update CI to CirrusLabs runners * Fixes * Fixes * Fixes * More fixes * Tahoe -> Sequoia for sample apps * Tahoe -> Sequoia for Testflight
1 parent 058f147 commit 769e11c

File tree

3 files changed

+29
-21
lines changed

3 files changed

+29
-21
lines changed

.github/workflows/sample-application-expo.yml

Lines changed: 10 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -44,20 +44,24 @@ jobs:
4444
build-type: ['dev', 'production']
4545
include:
4646
- platform: ios
47-
xcode-version: '16.4'
48-
runs-on: macos-15
47+
runs-on: ["ghcr.io/cirruslabs/macos-sequoia-xcode:16.4", "runner_group_id:12"]
4948
- platform: android
50-
runs-on: ubuntu-latest
49+
runs-on: ["ghcr.io/cirruslabs/ubuntu-runner-amd64:22.04", "runner_group_id:12"]
5150
- platform: web
52-
runs-on: ubuntu-latest
51+
runs-on: ["ghcr.io/cirruslabs/ubuntu-runner-amd64:22.04", "runner_group_id:12"]
5352
exclude:
5453
- platform: 'android'
5554
ios-use-frameworks: 'dynamic-frameworks'
5655
steps:
5756
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6
5857

5958
- name: Enable Corepack
60-
run: npm i -g corepack
59+
run: corepack enable
60+
61+
- name: Install Ninja
62+
if: ${{ matrix.platform == 'android' }}
63+
run: sudo apt-get update && sudo apt-get install -y ninja-build
64+
6165
- uses: actions/setup-node@6044e13b5dc448c55e2357c09f80417699197238 # v6
6266
with:
6367
package-manager-cache: false
@@ -81,9 +85,6 @@ jobs:
8185
- name: Gradle cache
8286
uses: gradle/gradle-build-action@ac2d340dc04d9e1113182899e983b5400c17cda1 # v3.5.0
8387

84-
- run: sudo xcode-select -s /Applications/Xcode_${{ matrix.xcode-version }}.app/Contents/Developer
85-
if: ${{ matrix.platform == 'ios' }}
86-
8788
- name: Setup Global Xcode Tools
8889
if: ${{ matrix.platform == 'ios' }}
8990
run: which xcbeautify || brew install xcbeautify
@@ -137,6 +138,7 @@ jobs:
137138
-sdk 'iphonesimulator' \
138139
-destination 'generic/platform=iOS Simulator' \
139140
ONLY_ACTIVE_ARCH=yes \
141+
ARCHS=arm64 \
140142
-derivedDataPath "$derivedData" \
141143
build \
142144
| tee xcodebuild.log \

.github/workflows/sample-application.yml

Lines changed: 17 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -53,12 +53,11 @@ jobs:
5353
build-type: ['dev', 'production']
5454
include:
5555
- platform: ios
56-
xcode-version: '16.4'
57-
runs-on: macos-15
56+
runs-on: ["ghcr.io/cirruslabs/macos-sequoia-xcode:16.4", "runner_group_id:12"]
5857
- platform: macos
59-
runs-on: macos-15
58+
runs-on: ["ghcr.io/cirruslabs/macos-sequoia-xcode:16.4", "runner_group_id:12"]
6059
- platform: android
61-
runs-on: ubuntu-latest
60+
runs-on: ["ghcr.io/cirruslabs/ubuntu-runner-amd64:22.04", "runner_group_id:12"]
6261
exclude:
6362
- platform: 'android'
6463
ios-use-frameworks: 'dynamic-frameworks'
@@ -72,7 +71,12 @@ jobs:
7271
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6
7372

7473
- name: Enable Corepack
75-
run: npm i -g corepack
74+
run: corepack enable
75+
76+
- name: Install Ninja
77+
if: ${{ matrix.platform == 'android' }}
78+
run: sudo apt-get update && sudo apt-get install -y ninja-build
79+
7680
- uses: actions/setup-node@6044e13b5dc448c55e2357c09f80417699197238 # v6
7781
with:
7882
package-manager-cache: false
@@ -96,11 +100,8 @@ jobs:
96100
- name: Gradle cache
97101
uses: gradle/gradle-build-action@v3
98102

99-
- run: sudo xcode-select -s /Applications/Xcode_${{ matrix.xcode-version }}.app/Contents/Developer
100-
if: ${{ matrix.platform == 'ios' }}
101-
102103
- name: Setup Global Xcode Tools
103-
if: ${{ matrix.platform == 'ios' }}
104+
if: ${{ matrix.platform == 'ios' || matrix.platform == 'macos' }}
104105
run: which xcbeautify || brew install xcbeautify
105106

106107
- name: Install SDK Dependencies
@@ -159,6 +160,7 @@ jobs:
159160
-sdk 'iphonesimulator' \
160161
-destination 'generic/platform=iOS Simulator' \
161162
ONLY_ACTIVE_ARCH=yes \
163+
ARCHS=arm64 \
162164
-derivedDataPath "$derivedData" \
163165
build \
164166
| tee xcodebuild.log \
@@ -251,6 +253,10 @@ jobs:
251253
with:
252254
version: ${{env.MAESTRO_VERSION}}
253255

256+
- name: Install Ninja
257+
if: ${{ matrix.platform == 'android' }}
258+
run: sudo apt-get update && sudo apt-get install -y ninja-build
259+
254260
- name: Download iOS App Archive
255261
if: ${{ matrix.platform == 'ios' }}
256262
uses: actions/download-artifact@v7
@@ -276,7 +282,8 @@ jobs:
276282
run: unzip ${{ env.ANDROID_APP_ARCHIVE_PATH }}
277283

278284
- name: Enable Corepack
279-
run: npm i -g corepack
285+
run: corepack enable
286+
280287
- uses: actions/setup-node@6044e13b5dc448c55e2357c09f80417699197238 # v6
281288
with:
282289
package-manager-cache: false

.github/workflows/testflight.yml

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -14,19 +14,18 @@ jobs:
1414

1515
upload_to_testflight:
1616
name: Build and Upload React Native Sample to Testflight
17-
runs-on: macos-15
17+
runs-on: ["ghcr.io/cirruslabs/macos-sequoia-xcode:16.4", "runner_group_id:12"]
1818
needs: [diff_check]
1919
if: ${{ needs.diff_check.outputs.skip_ci != 'true' }}
2020
steps:
2121
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6
22-
- run: sudo xcode-select -s /Applications/Xcode_16.4.app/Contents/Developer
2322
- uses: ruby/setup-ruby@v1
2423
with:
2524
working-directory: samples/react-native
2625
ruby-version: '3.3.0' # based on what is used in the sample
2726
bundler-cache: true # runs 'bundle install' and caches installed gems automatically
2827
cache-version: 1 # cache the installed gems
29-
- run: npm i -g corepack
28+
- run: corepack enable
3029
- uses: actions/setup-node@6044e13b5dc448c55e2357c09f80417699197238 # v6
3130
with:
3231
package-manager-cache: false

0 commit comments

Comments
 (0)