Skip to content

Commit 1ab278a

Browse files
committed
ci: use self-hosted runners
1 parent c4360af commit 1ab278a

File tree

2 files changed

+81
-142
lines changed

2 files changed

+81
-142
lines changed

.buildkite/pipeline.yml

Lines changed: 0 additions & 141 deletions
This file was deleted.

.github/workflows/CI.yml

Lines changed: 81 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ concurrency:
2929
cancel-in-progress: ${{ startsWith(github.ref, 'refs/pull/') }}
3030

3131
jobs:
32-
test:
32+
test-cpu:
3333
timeout-minutes: 90
3434
name: Julia ${{ matrix.version }} - ${{ matrix.test_group }} - ${{ matrix.os }} - ${{ matrix.runtime }} - assertions=${{ matrix.assertions }} - ${{ github.event_name }}
3535
runs-on: ${{ matrix.os }}
@@ -160,3 +160,83 @@ jobs:
160160
- uses: codecov/codecov-action@v5
161161
with:
162162
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

Comments
 (0)