Skip to content

Commit 9e6e8f4

Browse files
authored
Merge branch 'main' into alwx/experiment/eas-build
2 parents f8ac8f0 + f03c375 commit 9e6e8f4

File tree

198 files changed

+7392
-1181
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

198 files changed

+7392
-1181
lines changed

.github/workflows/buildandtest.yml

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,6 @@ on:
44
push:
55
branches:
66
- main
7-
- v5
87
- release/**
98
pull_request:
109

.github/workflows/changelog-preview.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,5 +14,5 @@ permissions:
1414

1515
jobs:
1616
changelog-preview:
17-
uses: getsentry/craft/.github/workflows/changelog-preview.yml@63d1636bead951f6e034ed62c2a3610965fef010 # V2
17+
uses: getsentry/craft/.github/workflows/changelog-preview.yml@906009a1b771956757e521555b561379307eb667 # V2
1818
secrets: inherit

.github/workflows/codegen.yml

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,6 @@ on:
44
push:
55
branches:
66
- main
7-
- v5
87
- release/**
98
pull_request:
109

.github/workflows/codeql-analysis.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@ jobs:
4444

4545
# Initializes the CodeQL tools for scanning.
4646
- name: Initialize CodeQL
47-
uses: github/codeql-action/init@45cbd0c69e560cd9e7cd7f8c32362050c9b7ded2 # pin@v4.32.2
47+
uses: github/codeql-action/init@9e907b5e64f6b83e7804b09294d44122997950d6 # pin@v4.32.3
4848
with:
4949
languages: ${{ matrix.language }}
5050
# If you wish to specify custom queries, you can do so here or in a config file.
@@ -55,7 +55,7 @@ jobs:
5555
# Autobuild attempts to build any compiled languages (C/C++, C#, or Java).
5656
# If this step fails, then you should remove it and run the build manually (see below)
5757
- name: Autobuild
58-
uses: github/codeql-action/autobuild@45cbd0c69e560cd9e7cd7f8c32362050c9b7ded2 # pin@v4.32.2
58+
uses: github/codeql-action/autobuild@9e907b5e64f6b83e7804b09294d44122997950d6 # pin@v4.32.3
5959

6060
# ℹ️ Command-line programs to run using the OS shell.
6161
# 📚 https://docs.github.com/en/actions/reference/workflow-syntax-for-github-actions
@@ -66,4 +66,4 @@ jobs:
6666
# make bootstrap
6767
# make release
6868
- name: Perform CodeQL Analysis
69-
uses: github/codeql-action/analyze@45cbd0c69e560cd9e7cd7f8c32362050c9b7ded2 # pin@v4.32.2
69+
uses: github/codeql-action/analyze@9e907b5e64f6b83e7804b09294d44122997950d6 # pin@v4.32.3

.github/workflows/e2e-v2.yml

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,6 @@ on:
44
push:
55
branches:
66
- main
7-
- v5
87
- release/**
98
pull_request:
109
types: [opened, synchronize, reopened, labeled]
@@ -190,7 +189,7 @@ jobs:
190189
strategy:
191190
fail-fast: false # keeps matrix running if one fails
192191
matrix:
193-
rn-version: ['0.71.19', '0.83.0']
192+
rn-version: ['0.71.19', '0.84.0']
194193
rn-architecture: ['legacy', 'new']
195194
platform: ['android', 'ios']
196195
build-type: ['production']
@@ -203,13 +202,13 @@ jobs:
203202
runs-on: ["ghcr.io/cirruslabs/macos-sequoia-xcode:16.4", "runner_group_id:12"]
204203
# Use Xcode 26 for newer RN versions (0.83.0)
205204
- platform: ios
206-
rn-version: '0.83.0'
205+
rn-version: '0.84.0'
207206
runs-on: ["ghcr.io/cirruslabs/macos-tahoe-xcode:26.2.0", "runner_group_id:12"]
208207
- platform: android
209208
runs-on: ["ghcr.io/cirruslabs/ubuntu-runner-amd64:22.04", "runner_group_id:12"]
210209
exclude:
211210
# exclude JSC for new RN versions (keeping the matrix manageable)
212-
- rn-version: '0.83.0'
211+
- rn-version: '0.84.0'
213212
engine: 'jsc'
214213
# exclude all rn versions lower than 0.80.0 for new architecture
215214
- rn-version: '0.71.19'
@@ -324,15 +323,15 @@ jobs:
324323
strategy:
325324
fail-fast: false # keeps matrix running if one fails
326325
matrix:
327-
rn-version: ['0.83.0']
326+
rn-version: ['0.84.0']
328327
rn-architecture: ['legacy', 'new']
329328
platform: ['android', 'ios']
330329
build-type: ['production']
331330
ios-use-frameworks: ['no'] # test only no frameworks
332331
engine: ['hermes']
333332
include:
334333
- platform: ios
335-
rn-version: '0.83.0'
334+
rn-version: '0.84.0'
336335
runs-on: macos-26
337336
- platform: android
338337
runs-on: ["ghcr.io/cirruslabs/ubuntu-runner-amd64:22.04", "runner_group_id:12"]

.github/workflows/native-tests.yml

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,6 @@ on:
44
push:
55
branches:
66
- main
7-
- v5
87
- release/**
98
pull_request:
109
types: [opened, synchronize, reopened, labeled]

.github/workflows/release.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@ jobs:
4343
cache-dependency-path: yarn.lock
4444

4545
- name: Prepare release
46-
uses: getsentry/craft@63d1636bead951f6e034ed62c2a3610965fef010 # v2
46+
uses: getsentry/craft@906009a1b771956757e521555b561379307eb667 # v2
4747
env:
4848
GITHUB_TOKEN: ${{ steps.token.outputs.token }}
4949
with:

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

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,6 @@ on:
44
push:
55
branches:
66
- main
7-
- v5
87
pull_request:
98
types: [opened, synchronize, reopened, labeled]
109

.github/workflows/sample-application.yml

Lines changed: 24 additions & 47 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,6 @@ on:
44
push:
55
branches:
66
- main
7-
- v5
87
pull_request:
98
types: [opened, synchronize, reopened, labeled]
109

@@ -87,7 +86,7 @@ jobs:
8786
- uses: ruby/setup-ruby@v1
8887
if: ${{ matrix.platform == 'ios' || matrix.platform == 'macos' }}
8988
with:
90-
working-directory: ${{ matrix.platform == 'ios' && env.REACT_NATIVE_SAMPLE_PATH || ' samples/react-native-macos' }}
89+
working-directory: ${{ matrix.platform == 'ios' && env.REACT_NATIVE_SAMPLE_PATH || 'samples/react-native-macos' }}
9190
ruby-version: '3.3.0' # based on what is used in the sample
9291
bundler-cache: true # runs 'bundle install' and caches installed gems automatically
9392
cache-version: 1 # cache the installed gems
@@ -114,63 +113,39 @@ jobs:
114113
if: ${{ matrix.platform == 'ios' || matrix.platform == 'macos' }}
115114
working-directory: samples
116115
run: |
117-
[[ "${{ matrix.platform }}" == "ios" ]] && cd react-native/ios
118-
[[ "${{ matrix.platform }}" == "macos" ]] && cd react-native-macos/macos
116+
[[ "${{ matrix.platform }}" == "ios" ]] && cd react-native
117+
[[ "${{ matrix.platform }}" == "macos" ]] && cd react-native-macos
119118
120-
[[ "${{ matrix.build-type }}" == "production" ]] && ENABLE_PROD=1 || ENABLE_PROD=0
121-
[[ "${{ matrix.rn-architecture }}" == "new" ]] && ENABLE_NEW_ARCH=1 || ENABLE_NEW_ARCH=0
119+
[[ "${{ matrix.build-type }}" == "production" ]] && export ENABLE_PROD=1 || export ENABLE_PROD=0
120+
[[ "${{ matrix.rn-architecture }}" == "new" ]] && export ENABLE_NEW_ARCH=1 || export ENABLE_NEW_ARCH=0
122121
[[ "${{ matrix.ios-use-frameworks }}" == "dynamic-frameworks" ]] && export USE_FRAMEWORKS=dynamic
123-
echo "ENABLE_PROD=$ENABLE_PROD"
124-
echo "ENABLE_NEW_ARCH=$ENABLE_NEW_ARCH"
125-
PRODUCTION=$ENABLE_PROD RCT_NEW_ARCH_ENABLED=$ENABLE_NEW_ARCH bundle exec pod install
126-
cat Podfile.lock | grep $RN_SENTRY_POD_NAME
122+
123+
./scripts/pod-install.sh
127124
128125
- name: Build Android App
129126
if: ${{ matrix.platform == 'android' }}
130-
working-directory: ${{ env.REACT_NATIVE_SAMPLE_PATH }}/android
127+
working-directory: ${{ env.REACT_NATIVE_SAMPLE_PATH }}
131128
run: |
132-
if [[ ${{ matrix.rn-architecture }} == 'new' ]]; then
133-
perl -i -pe's/newArchEnabled=false/newArchEnabled=true/g' gradle.properties
134-
echo 'New Architecture enabled'
135-
elif [[ ${{ matrix.rn-architecture }} == 'legacy' ]]; then
136-
perl -i -pe's/newArchEnabled=true/newArchEnabled=false/g' gradle.properties
137-
echo 'Legacy Architecture enabled'
138-
else
139-
echo 'No changes for architecture: ${{ matrix.rn-architecture }}'
140-
fi
141-
[[ "${{ matrix.build-type }}" == "production" ]] && CONFIG='Release' || CONFIG='Debug'
142-
echo "Building $CONFIG"
143-
[[ "${{ matrix.build-type }}" == "production" ]] && TEST_TYPE='release' || TEST_TYPE='debug'
144-
echo "Building $TEST_TYPE"
129+
export RN_ARCHITECTURE="${{ matrix.rn-architecture }}"
130+
[[ "${{ matrix.build-type }}" == "production" ]] && export CONFIG='release' || export CONFIG='debug'
145131
146-
./gradlew ":app:assemble$CONFIG" -PreactNativeArchitectures=x86
132+
./scripts/set-dsn-aos.mjs
133+
./scripts/build-android.sh -PreactNativeArchitectures=x86
147134
148135
- name: Build iOS App
149136
if: ${{ matrix.platform == 'ios' }}
150-
working-directory: ${{ env.REACT_NATIVE_SAMPLE_PATH }}/ios
137+
working-directory: ${{ env.REACT_NATIVE_SAMPLE_PATH }}
151138
run: |
152-
[[ "${{ matrix.build-type }}" == "production" ]] && CONFIG='Release' || CONFIG='Debug'
153-
echo "Building $CONFIG"
154-
mkdir -p "DerivedData"
155-
derivedData="$(cd "DerivedData" ; pwd -P)"
156-
set -o pipefail && xcodebuild \
157-
-workspace sentryreactnativesample.xcworkspace \
158-
-configuration "$CONFIG" \
159-
-scheme sentryreactnativesample \
160-
-sdk 'iphonesimulator' \
161-
-destination 'generic/platform=iOS Simulator' \
162-
ONLY_ACTIVE_ARCH=yes \
163-
ARCHS=arm64 \
164-
-derivedDataPath "$derivedData" \
165-
build \
166-
| tee xcodebuild.log \
167-
| xcbeautify --quieter --is-ci --disable-colored-output
139+
[[ "${{ matrix.build-type }}" == "production" ]] && export CONFIG='Release' || export CONFIG='Debug'
140+
141+
./scripts/set-dsn-ios.mjs
142+
./scripts/build-ios.sh
168143
169144
- name: Build macOS App
170145
if: ${{ matrix.platform == 'macos' }}
171146
working-directory: samples/react-native-macos/macos
172147
run: |
173-
[[ "${{ matrix.build-type }}" == "production" ]] && CONFIG='Release' || CONFIG='Debug'
148+
[[ "${{ matrix.build-type }}" == "production" ]] && export CONFIG='Release' || export CONFIG='Debug'
174149
echo "Building $CONFIG"
175150
mkdir -p "DerivedData"
176151
derivedData="$(cd "DerivedData" ; pwd -P)"
@@ -187,19 +162,19 @@ jobs:
187162
188163
- name: Archive iOS App
189164
if: ${{ matrix.platform == 'ios' && matrix.rn-architecture == 'new' && matrix.build-type == 'production' && matrix.ios-use-frameworks == 'no-frameworks' }}
165+
working-directory: ${{ env.REACT_NATIVE_SAMPLE_PATH }}
190166
run: |
191-
cd ${{ env.REACT_NATIVE_SAMPLE_PATH }}/ios/DerivedData/Build/Products/Release-iphonesimulator
192167
zip -r \
193168
${{ github.workspace }}/${{ env.IOS_APP_ARCHIVE_PATH }} \
194169
sentryreactnativesample.app
195170
196171
- name: Archive Android App
197172
if: ${{ matrix.platform == 'android' && matrix.rn-architecture == 'new' && matrix.build-type == 'production' }}
198173
run: |
199-
mv ${{ env.REACT_NATIVE_SAMPLE_PATH }}/android/app/build/outputs/apk/release/app-release.apk app.apk
200174
zip -j \
201175
${{ env.ANDROID_APP_ARCHIVE_PATH }} \
202-
app.apk
176+
${{ env.REACT_NATIVE_SAMPLE_PATH }}/app.apk \
177+
${{ env.REACT_NATIVE_SAMPLE_PATH }}/app-androidTest.apk
203178
204179
- name: Upload iOS APP
205180
if: ${{ matrix.platform == 'ios' && matrix.rn-architecture == 'new' && matrix.build-type == 'production' && matrix.ios-use-frameworks == 'no-frameworks' }}
@@ -279,7 +254,9 @@ jobs:
279254
- name: Unzip Android APK
280255
if: ${{ matrix.platform == 'android' }}
281256
working-directory: ${{ env.REACT_NATIVE_SAMPLE_PATH }}
282-
run: unzip ${{ env.ANDROID_APP_ARCHIVE_PATH }}
257+
run: |
258+
unzip ${{ env.ANDROID_APP_ARCHIVE_PATH }}
259+
rm app-androidTest.apk
283260
284261
- name: Enable Corepack
285262
run: corepack enable

.github/workflows/testflight.yml

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ on:
33
push:
44
branches:
55
- main
6+
- alwx/ci/macos-tahoe-cl-runners
67

78
pull_request:
89
paths:
@@ -14,7 +15,7 @@ jobs:
1415

1516
upload_to_testflight:
1617
name: Build and Upload React Native Sample to Testflight
17-
runs-on: ["ghcr.io/cirruslabs/macos-sequoia-xcode:16.4", "runner_group_id:12"]
18+
runs-on: ["ghcr.io/cirruslabs/macos-tahoe-xcode:26.2.0", "runner_group_id:12"]
1819
needs: [diff_check]
1920
if: ${{ needs.diff_check.outputs.skip_ci != 'true' }}
2021
steps:
@@ -62,6 +63,10 @@ jobs:
6263
SENTRY_AUTH_TOKEN: ${{ secrets.SENTRY_AUTH_TOKEN }}
6364
SENTRY_LOG_LEVEL: DEBUG
6465
SENTRY_CLI_EXTRA_ARGS: "--force-foreground"
66+
# Fix for Xcode 26+ with MetalToolchain: use default Xcode toolchain to avoid
67+
# missing Swift compatibility libraries (swiftCompatibility56, etc.)
68+
# See: https://github.com/actions/runner-images/issues/13135
69+
TOOLCHAINS: com.apple.dt.toolchain.XcodeDefault
6570
run: |
6671
bundle exec fastlane ios build_react_native_sample
6772
bundle exec fastlane ios upload_react_native_sample_to_testflight

0 commit comments

Comments
 (0)