Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 0 additions & 2 deletions .bundle/config

This file was deleted.

5 changes: 5 additions & 0 deletions .claude/settings.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
{
"enabledPlugins": {
"expo@claude-plugins-official": true
}
}
12 changes: 0 additions & 12 deletions .eslintrc.js

This file was deleted.

12 changes: 11 additions & 1 deletion .github/workflows/build-android.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,11 @@ on:
description: 'The branch to build from. E.g. main'
required: false
type: string
se:
description: 'Inlined into the JS bundle as EXPO_PUBLIC_SE. The TDA pipeline expects "tda".'
required: false
type: string
default: tda

jobs:
build-android:
Expand All @@ -16,14 +21,16 @@ jobs:
APK_PATH: android/app/build/outputs/apk/release/app-release.apk
SENTRY_AUTH_TOKEN: ${{ secrets.SENTRY_AUTH_TOKEN }}
SENTRY_ALLOW_FAILURE: false
# babel-preset-expo inlines EXPO_PUBLIC_* at bundle time, so this has to be set for the build step, not just at runtime.
EXPO_PUBLIC_SE: ${{ inputs.se }}
steps:
- uses: actions/checkout@v4
with:
ref: ${{ inputs.ref }}

- uses: actions/setup-node@v4
with:
node-version: 18
node-version: 20
cache: 'npm'
cache-dependency-path: package-lock.json

Expand All @@ -36,6 +43,9 @@ jobs:

- uses: gradle/gradle-build-action@v3

- name: Generate native Android project
run: npx expo prebuild --platform android --no-install

- working-directory: android
run: ./gradlew :app:assembleRelease

Expand Down
31 changes: 19 additions & 12 deletions .github/workflows/build-ios.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7,45 +7,52 @@ on:
description: 'The branch to build from. E.g. main'
required: false
type: string
se:
description: 'Inlined into the JS bundle as EXPO_PUBLIC_SE. The TDA pipeline expects "tda".'
required: false
type: string
default: tda

jobs:
build-ios:
name: iOS
runs-on: macos-15
# Expo SDK 57 needs Xcode 26.4+ (Swift 6.3) to compile expo-modules-jsi, which
# uses `weak let`. Older images fail with "'weak' must be a mutable variable".
runs-on: macos-26
env:
APP_ARCHIVE_PATH: sentry_react_native.app.zip
SENTRY_AUTH_TOKEN: ${{ secrets.SENTRY_AUTH_TOKEN }}
SENTRY_ALLOW_FAILURE: false
# babel-preset-expo inlines EXPO_PUBLIC_* at bundle time, so this has to be set for the build step, not just at runtime.
EXPO_PUBLIC_SE: ${{ inputs.se }}
steps:
- uses: actions/checkout@v4
with:
ref: ${{ inputs.ref }}

- uses: actions/setup-node@v4
with:
node-version: 18
node-version: 20
cache: 'npm'
cache-dependency-path: package-lock.json

- run: npm ci

- uses: ruby/setup-ruby@v1
with:
ruby-version: '3.3.0'
bundler-cache: true # runs 'bundle install' and caches installed gems automatically

- working-directory: ios
run: bundle exec pod install
- name: Generate native iOS project (runs pod install)
run: npx expo prebuild --platform ios

# Workspace/scheme are named after app.config.js's "name" with non-alphanumeric
# characters stripped (that's how `expo prebuild` derives them). Update these if
# the app name in app.config.js ever changes.
- name: Run xcodebuild
working-directory: ios
run: |
mkdir -p "DerivedData"
derivedData="$(cd "DerivedData" ; pwd -P)"
set -o pipefail && xcodebuild \
-workspace sentry_react_native.xcworkspace \
-workspace sentryreactnative.xcworkspace \
-configuration "Release" \
-scheme sentry_react_native \
-scheme sentryreactnative \
-destination 'generic/platform=iOS Simulator' \
-derivedDataPath "$derivedData" \
build \
Expand All @@ -57,7 +64,7 @@ jobs:
cd ios/DerivedData/Build/Products/Release-iphonesimulator
zip -r \
${{ github.workspace }}/${{ env.APP_ARCHIVE_PATH }} \
sentry_react_native.app
sentryreactnative.app

- name: Upload APP
uses: actions/upload-artifact@v4
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ jobs:

- uses: actions/setup-node@v4
with:
node-version: 18
node-version: 20
cache: 'npm'
cache-dependency-path: package-lock.json

Expand Down
95 changes: 33 additions & 62 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,70 +1,41 @@
# OSX
#
.DS_Store
# Learn more https://docs.github.com/en/get-started/getting-started-with-git/ignoring-files

# Xcode
#
build/
*.pbxuser
!default.pbxuser
*.mode1v3
!default.mode1v3
*.mode2v3
!default.mode2v3
*.perspectivev3
!default.perspectivev3
xcuserdata
*.xccheckout
*.moved-aside
DerivedData
*.hmap
*.ipa
*.xcuserstate
**/.xcode.env.local
# dependencies
node_modules/

# Android/IntelliJ
#
build/
.idea
.gradle
local.properties
*.iml
*.hprof
.cxx/
*.keystore
!debug.keystore
.kotlin/
# Expo
.expo/
dist/
web-build/
expo-env.d.ts

# node.js
#
node_modules/
npm-debug.log
yarn-error.log
# Native
.kotlin/
*.orig.*
*.jks
*.p8
*.p12
*.key
*.mobileprovision

# Metro
.metro-health-check*

# fastlane
#
# It is recommended to not store the screenshots in the git repo. Instead, use fastlane to re-generate the
# screenshots whenever they are needed.
# For more information about the recommended setup visit:
# https://docs.fastlane.tools/best-practices/source-control/
# debug
npm-debug.*
yarn-debug.*
yarn-error.*

**/fastlane/report.xml
**/fastlane/Preview.html
**/fastlane/screenshots
**/fastlane/test_output
# macOS
.DS_Store
*.pem

# Bundle artifact
*.jsbundle
# local env files
.env*.local

# Ruby / CocoaPods
**/Pods/
/vendor/bundle/
# Temporary files created by Metro to check the health of the file watcher
.metro-health-check*
# testing
/coverage
# typescript
*.tsbuildinfo

.env
.yalc
yalc.lock
.sentry
# generated native folders
/ios
/android
2 changes: 1 addition & 1 deletion .prettierrc.js
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
module.exports = {
bracketSpacing: false,
jsxBracketSameLine: true,
bracketSameLine: true,
singleQuote: true,
trailingComma: 'all',
};
1 change: 0 additions & 1 deletion .watchmanconfig

This file was deleted.

3 changes: 3 additions & 0 deletions AGENTS.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
# Expo HAS CHANGED

Read the exact versioned docs at https://docs.expo.dev/versions/v57.0.0/ before writing any code.
Loading
Loading