99 paths-ignore :
1010 - " **.md"
1111
12- env :
13- XCODE_VERSION : 16
14-
1512jobs :
1613 build-sentry-native :
1714 name : sentry-native (${{ matrix.os }})
1815 runs-on : ${{ matrix.os }}
1916 strategy :
2017 fail-fast : false
2118 matrix :
22- os : [ubuntu-latest, windows-latest, macos-latest]
19+ # Pin macos to get the version of XCode that we need: https://github.com/actions/runner-images/issues/10703
20+ os : [ubuntu-latest, windows-latest, macos-15]
2321
2422 steps :
2523 - name : Checkout
5553 strategy :
5654 fail-fast : false
5755 matrix :
58- os : [ubuntu-latest, windows-latest, macos-latest]
56+ # Pin macos to get the version of XCode that we need: https://github.com/actions/runner-images/issues/10703
57+ os : [ubuntu-latest, windows-latest, macos-15]
5958
6059 steps :
6160 - name : Cancel Previous Runs
@@ -68,18 +67,12 @@ jobs:
6867 submodules : recursive
6968 fetch-depth : 2 # default is 1 and codecov needs > 1
7069
71- - name : Setup Xcode
72- if : matrix.os == 'macos-latest'
73- run : |
74- sudo xcode-select --switch /Applications/Xcode_${{env.XCODE_VERSION}}.app/Contents/Developer
75- xcodebuild -version
76-
7770 - name : Remove unused applications
7871 uses : ./.github/actions/freediskspace
7972
8073 # We use macOS for the final publishing build so we get all the iOS/macCatalyst targets in the packages
8174 - name : Set Environment Variables
82- if : startsWith(matrix .os, 'macos')
75+ if : runner .os == 'macOS'
8376 run : echo "CI_PUBLISHING_BUILD=true" >> $GITHUB_ENV
8477
8578 - name : Download sentry-native (Linux)
@@ -116,6 +109,12 @@ jobs:
116109 - name : Restore .NET Dependencies
117110 run : dotnet restore Sentry-CI-Build-${{ runner.os }}.slnf --nologo
118111
112+ - name : Install Android SDKs
113+ if : runner.os == 'macOS'
114+ run : |
115+ dotnet build src/Sentry/Sentry.csproj -t:InstallAndroidDependencies -f:net7.0-android -p:AcceptAndroidSDKLicenses=True -p:AndroidSdkPath="/usr/local/lib/android/sdk/"
116+ dotnet build src/Sentry/Sentry.csproj -t:InstallAndroidDependencies -f:net8.0-android -p:AcceptAndroidSDKLicenses=True -p:AndroidSdkPath="/usr/local/lib/android/sdk/"
117+
119118 - name : Build
120119 run : dotnet build Sentry-CI-Build-${{ runner.os }}.slnf -c Release --no-restore --nologo -v:minimal -flp:logfile=build.log -p:CopyLocalLockFileAssemblies=true
121120
@@ -156,7 +155,8 @@ jobs:
156155 strategy :
157156 fail-fast : false
158157 matrix :
159- os : [ubuntu-latest, windows-latest, macos-latest]
158+ # Pin macos to get the version of XCode that we need: https://github.com/actions/runner-images/issues/10703
159+ os : [ubuntu-latest, windows-latest, macos-15]
160160
161161 steps :
162162 - uses : actions/checkout@v4
@@ -166,6 +166,8 @@ jobs:
166166 sparse-checkout : |
167167 Directory.Build.props
168168 integration-test
169+ .github
170+
169171 - name : Fetch Nuget Packages
170172 uses : actions/download-artifact@v4
171173 with :
@@ -178,30 +180,8 @@ jobs:
178180 sudo apt update
179181 sudo apt install libcurl4-openssl-dev
180182
181- # Possibly instead of installing net9.0 here we could pin the workload version when installing workloads
182- - uses : actions/setup-dotnet@v4
183- with :
184- dotnet-version : |
185- 8.0.x
186- 9.0.100
187-
188- - name : Setup Xcode
189- if : matrix.os == 'macos-latest'
190- run : |
191- sudo xcode-select --switch /Applications/Xcode_${{env.XCODE_VERSION}}.app/Contents/Developer
192- xcodebuild -version
193-
194- # Needed for Android SDK setup step
195- - uses : actions/setup-java@v4
196- with :
197- distribution : ' temurin'
198- java-version : ' 17'
199-
200- - name : Setup Android SDK
201- uses : android-actions/setup-android@00854ea68c109d98c75d956347303bf7c45b0277 # v3.2.1
202-
203- - name : Install android Workloads
204- run : dotnet workload install maui-android
183+ - name : Setup Environment
184+ uses : ./.github/actions/environment
205185
206186 - name : Test
207187 uses : getsentry/github-workflows/sentry-cli/integration-test/@v2
0 commit comments