Remove sentry serializable public api #2034
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
name: Test Cross Platform | |
on: | |
push: | |
branches: | |
- main | |
pull_request: | |
paths: | |
- ".github/workflows/test-cross-platform.yml" | |
- "Sources/**" | |
- "Sentry.podspec" | |
- "SentrySwiftUI.podspec" | |
- "Package*.swift" | |
- "Makefile" # Make commands used for cross-platform setup | |
- "Brewfile*" # Dependency installation affects cross-platform testing | |
- "scripts/ci-diagnostics.sh" | |
# Concurrency configuration: | |
# - We use workflow-specific concurrency groups to prevent multiple cross-platform tests, | |
# as these involve complex React Native and cross-platform integration setups. | |
# - For pull requests, we cancel in-progress runs when new commits are pushed since only the | |
# latest cross-platform compatibility results matter for validating multi-platform support. | |
# - For main branch pushes, we never cancel cross-platform tests to ensure our SDK remains | |
# compatible with React Native and other cross-platform frameworks that depend on us. | |
concurrency: | |
group: ${{ github.workflow }}-${{ github.ref }} | |
cancel-in-progress: ${{ github.event_name == 'pull_request' }} | |
jobs: | |
test-react-native: | |
name: React Native Installation | |
runs-on: macos-15 | |
# This job can take a while to run, so we set a timeout. | |
timeout-minutes: 30 | |
steps: | |
- uses: actions/checkout@v5 | |
with: | |
repository: getsentry/sentry-cocoa | |
path: sentry-cocoa | |
- name: Initialize tools | |
run: make init-ci-build | |
working-directory: sentry-cocoa | |
- name: Clone Sentry React Native Repository | |
uses: actions/checkout@v5 | |
with: | |
repository: getsentry/sentry-react-native | |
path: sentry-react-native | |
- name: Enable Corepack | |
working-directory: sentry-react-native | |
run: npm i -g corepack | |
- uses: actions/setup-node@v4 | |
with: | |
node-version: 18 | |
cache: "yarn" | |
cache-dependency-path: sentry-react-native/yarn.lock | |
- run: ./sentry-cocoa/scripts/ci-select-xcode.sh 16.4 | |
- name: Install SDK JS Dependencies | |
working-directory: sentry-react-native | |
run: yarn install | |
- name: Remove Sentry/HybridSDK Dependency from RNSentry.podspec | |
run: sed -i '' "s/s.dependency 'Sentry\/HybridSDK', '[0-9]*\.[0-9]*\.[0-9]*'/s.dependency 'Sentry\/HybridSDK'/" sentry-react-native/packages/core/RNSentry.podspec | |
- name: Add Sentry/HybridSDK Dependency to RNSentryCocoaTester/Podfile | |
run: sed -i '' -e "s/RNSentry.podspec'/RNSentry.podspec'\\n pod 'Sentry\/HybridSDK', :path => '..\/..\/..\/..\/sentry-cocoa'/" sentry-react-native/packages/core/RNSentryCocoaTester/Podfile | |
- name: Disable test parallelization | |
working-directory: sentry-react-native/packages/core/RNSentryCocoaTester | |
run: sed -i '' "s/parallelizable = \"YES\"/parallelizable = \"NO\"/" RNSentryCocoaTester.xcodeproj/xcshareddata/xcschemes/RNSentryCocoaTester.xcscheme | |
- name: Install App Pods | |
working-directory: sentry-react-native/packages/core/RNSentryCocoaTester | |
run: pod install | |
- name: Run iOS Tests | |
working-directory: sentry-react-native/packages/core/RNSentryCocoaTester | |
env: | |
SCHEME: RNSentryCocoaTester | |
CONFIGURATION: Release | |
DESTINATION: "platform=iOS Simulator,OS=latest,name=iPhone 16" | |
run: | | |
set -o pipefail | |
env NSUnbufferedIO=YES \ | |
xcodebuild -workspace *.xcworkspace \ | |
-scheme $SCHEME -configuration $CONFIGURATION \ | |
-destination "$DESTINATION" \ | |
test SWIFT_ACTIVE_COMPILATION_CONDITIONS=CROSS_PLATFORM_TEST GCC_PREPROCESSOR_DEFINITIONS"=CROSS_PLATFORM_TEST=1" | xcbeautify | |
- name: Run CI Diagnostics | |
if: failure() | |
run: ./scripts/ci-diagnostics.sh |