3535 caller_ref : ${{ github.ref }}
3636
3737 build-ios :
38- name : Build ios ${{ matrix.build-type }} ${{ matrix.ios-use-frameworks }}
39- runs-on : ["ghcr.io/cirruslabs/macos-tahoe-xcode:26.2.0", "runner_group_id:10"]
38+ name : Build ios ${{ matrix.build-type }} ${{ matrix.ios-use-frameworks }} on ${{matrix.runner_provider}}
39+ runs-on : ${{ matrix.runner_provider == 'bitrise' && fromJSON('["bitrise_pool_name:tahoe"]') || fromJSON('["ghcr.io/cirruslabs/macos-tahoe-xcode:26.2.0", "runner_group_id:10"]') }}
40+ continue-on-error : ${{ matrix.runner_provider == 'bitrise' }}
4041 needs : [diff_check, detect-changes]
4142 if : >-
4243 ${{
@@ -45,12 +46,13 @@ jobs:
4546 && (needs.detect-changes.outputs.sample_expo == 'true' || needs.detect-changes.outputs.needs_ios == 'true')
4647 }}
4748 env :
48- SENTRY_DISABLE_AUTO_UPLOAD : ' true'
49+ SENTRY_DISABLE_AUTO_UPLOAD : " true"
4950 strategy :
5051 fail-fast : false
5152 matrix :
52- ios-use-frameworks : ['no-frameworks', 'dynamic-frameworks']
53- build-type : ['dev', 'production']
53+ ios-use-frameworks : ["no-frameworks", "dynamic-frameworks"]
54+ build-type : ["dev", "production"]
55+ runner_provider : ["cirrus", "bitrise"]
5456 steps :
5557 - uses : actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
5658
@@ -61,13 +63,43 @@ jobs:
6163 with :
6264 package-manager-cache : false
6365 node-version : 20
64- cache : ' yarn'
66+ cache : " yarn"
6567 cache-dependency-path : yarn.lock
6668
69+ - name : Setup asdf Node.js (Bitrise)
70+ if : matrix.runner_provider == 'bitrise'
71+ run : |
72+ asdf global nodejs system
73+ corepack enable
74+
75+ - uses : actions/cache@v4
76+ name : Cache Ruby
77+ if : matrix.runner_provider != 'bitrise'
78+ with :
79+ path : |
80+ ~/.rbenv/versions
81+ ~/.rbenv/cache
82+ key : ruby-${{ runner.os }}-${{ runner.arch }}-${{ hashFiles('.ruby-version') }}
83+
84+ - uses : actions/cache@v4
85+ name : Cache Ruby (Bitrise)
86+ if : matrix.runner_provider == 'bitrise'
87+ with :
88+ path : ~/.asdf/installs/ruby
89+ key : asdf-ruby-${{ runner.os }}-${{ runner.arch }}-${{ hashFiles('.ruby-version') }}
90+
91+ - name : Install Ruby (Bitrise)
92+ if : matrix.runner_provider == 'bitrise'
93+ working-directory : samples/expo
94+ run : |
95+ asdf install ruby 3.3.0
96+ asdf local ruby 3.3.0
97+
6798 - uses : ruby/setup-ruby@9eb537ca036ebaed86729dcb9309076e4c5c3b74 # v1
99+ if : matrix.runner_provider != 'bitrise'
68100 with :
69101 working-directory : samples/expo
70- ruby-version : ' 3.3.0' # based on what is used in the sample
102+ ruby-version : " 3.3.0" # based on what is used in the sample
71103 bundler-cache : true # runs 'bundle install' and caches installed gems automatically
72104 cache-version : 1 # cache the installed gems
73105
@@ -129,7 +161,7 @@ jobs:
129161 if : ${{ always() }}
130162 uses : actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7
131163 with :
132- name : build-sample-expo-ios-${{ matrix.build-type }}-${{ matrix.ios-use-frameworks}}-logs
164+ name : build-sample-expo-ios-${{ matrix.build-type }}-${{ matrix.ios-use-frameworks}}-${{ matrix.runner_provider }}- logs
133165 path : samples/expo/ios/*.log
134166
135167 build-android :
@@ -143,11 +175,11 @@ jobs:
143175 && (needs.detect-changes.outputs.sample_expo == 'true' || needs.detect-changes.outputs.needs_android == 'true')
144176 }}
145177 env :
146- SENTRY_DISABLE_AUTO_UPLOAD : ' true'
178+ SENTRY_DISABLE_AUTO_UPLOAD : " true"
147179 strategy :
148180 fail-fast : false
149181 matrix :
150- build-type : [' dev', ' production' ]
182+ build-type : [" dev", " production" ]
151183 steps :
152184 - uses : actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
153185
@@ -158,13 +190,13 @@ jobs:
158190 with :
159191 package-manager-cache : false
160192 node-version : 20
161- cache : ' yarn'
193+ cache : " yarn"
162194 cache-dependency-path : yarn.lock
163195
164196 - uses : actions/setup-java@ad2b38190b15e4d6bdf0c97fb4fca8412226d287 # v5
165197 with :
166- java-version : ' 17 '
167- distribution : ' adopt'
198+ java-version : " 17 "
199+ distribution : " adopt"
168200
169201 - name : Gradle cache
170202 uses : gradle/actions/setup-gradle@3f131e8634966bd73d06cc69884922b02e6faf92 # v6
@@ -212,7 +244,7 @@ jobs:
212244 && (needs.detect-changes.outputs.sample_expo == 'true' || needs.detect-changes.outputs.needs_web == 'true')
213245 }}
214246 env :
215- SENTRY_DISABLE_AUTO_UPLOAD : ' true'
247+ SENTRY_DISABLE_AUTO_UPLOAD : " true"
216248 steps :
217249 - uses : actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
218250
@@ -223,7 +255,7 @@ jobs:
223255 with :
224256 package-manager-cache : false
225257 node-version : 20
226- cache : ' yarn'
258+ cache : " yarn"
227259 cache-dependency-path : yarn.lock
228260
229261 - name : Install SDK Dependencies
0 commit comments