@@ -29,7 +29,7 @@ concurrency:
29
29
cancel-in-progress : ${{ startsWith(github.ref, 'refs/pull/') }}
30
30
31
31
jobs :
32
- test :
32
+ test-cpu :
33
33
timeout-minutes : 90
34
34
name : Julia ${{ matrix.version }} - ${{ matrix.test_group }} - ${{ matrix.os }} - ${{ matrix.runtime }} - assertions=${{ matrix.assertions }} - ${{ github.event_name }}
35
35
runs-on : ${{ matrix.os }}
@@ -160,3 +160,83 @@ jobs:
160
160
- uses : codecov/codecov-action@v5
161
161
with :
162
162
files : lcov.info
163
+
164
+ test-cuda :
165
+ timeout-minutes : 90
166
+ name : Julia ${{ matrix.version }} - ${{ matrix.test_group }} - linux - ${{ matrix.runtime }} - cuda - ${{ github.event_name }}
167
+ runs-on : [self-hosted, linux, x64, cuda]
168
+ strategy :
169
+ fail-fast : false
170
+ matrix :
171
+ version :
172
+ - " 1.10"
173
+ - " 1.11"
174
+ test_group :
175
+ - core
176
+ - neural_networks
177
+ - integration
178
+ runtime :
179
+ - " PJRT"
180
+ - " IFRT"
181
+ env :
182
+ TMPDIR : ${{ github.workspace }}/tmp
183
+ steps :
184
+ - uses : actions/checkout@v4
185
+ - name : Create TMPDIR
186
+ run : |
187
+ mkdir -p ${{ env.TMPDIR }}
188
+ - uses : julia-actions/setup-julia@v2
189
+ with :
190
+ version : ${{ matrix.version }}
191
+ - uses : julia-actions/cache@v2
192
+ - name : " Setup Runtime Preferences"
193
+ uses : " DamianReeves/write-file-action@master"
194
+ with :
195
+ path : " LocalPreferences.toml"
196
+ write-mode : " overwrite"
197
+ contents : |
198
+ [Reactant]
199
+ xla_runtime = "${{ matrix.runtime }}"
200
+ - name : " Install Dependencies"
201
+ run : |
202
+ import Pkg
203
+ Pkg.Registry.update()
204
+ # Install packages present in subdirectories
205
+ dev_pks = Pkg.PackageSpec[]
206
+ for path in ("lib/ReactantCore",)
207
+ push!(dev_pks, Pkg.PackageSpec(; path))
208
+ end
209
+ Pkg.develop(dev_pks)
210
+ shell : LD_LIBRARY_PATH="" julia --color=yes --code-coverage=user --depwarn=yes --project=. {0}
211
+ # Only in Julia v1.10 we need to install `ReactantCore` manually.
212
+ if : ${{ matrix.version == '1.10' }}
213
+ env :
214
+ JULIA_PKG_SERVER_REGISTRY_PREFERENCE : eager
215
+ - name : " Run Tests"
216
+ timeout-minutes : 60
217
+ run : |
218
+ import Pkg
219
+ Pkg.Registry.update()
220
+ Pkg.test(; coverage="user")
221
+ shell : LD_LIBRARY_PATH="" julia --color=yes --code-coverage=user --depwarn=yes --project=. {0}
222
+ id : run_tests
223
+ env :
224
+ JULIA_PKG_SERVER_REGISTRY_PREFERENCE : eager
225
+ ENABLE_PJRT_COMPATIBILITY : 1
226
+ REACTANT_TEST_GROUP : ${{ matrix.test_group }}
227
+ XLA_FLAGS : " --xla_force_host_platform_device_count=12"
228
+ JULIA_DEBUG : " Reactant,Reactant_jll"
229
+ REACTANT_BACKEND_GROUP : " GPU"
230
+ - name : Upload MLIR modules
231
+ uses : actions/upload-artifact@v4
232
+ timeout-minutes : 10
233
+ if : ${{ always() }}
234
+ with :
235
+ name : " mlir-${{ matrix.version }}-${{ matrix.test_group }}-linux-${{ matrix.runtime }}-cuda-${{ github.event_name }}"
236
+ path : " **/*.mlir"
237
+ retention-days : 90
238
+ overwrite : false
239
+ - uses : julia-actions/julia-processcoverage@v1
240
+ - uses : codecov/codecov-action@v5
241
+ with :
242
+ files : lcov.info
0 commit comments