From 0e2344906353029d5e6f36a53e077145bc02235a Mon Sep 17 00:00:00 2001 From: Tim Besard Date: Tue, 27 Oct 2026 14:59:19 +0100 Subject: [PATCH 1/2] Only test Julia 1.10 and 1.13 on pull requests The JLArray tests ran on five Julia versions and three platforms for every pull request push, about 6.5 runner-hours each (the macOS jobs alone take 30-40 minutes). Over the last 3.5 weeks of 91 pull request runs, Julia 1.11 and 1.12 never failed for a reason 1.10 or 1.13 didn't also show: their two unique failures were a worker that couldn't be killed on Windows and a timeout. Test 1.11, 1.12 and nightly on pushes to main instead, which brings a pull request push down to about 2.7 runner-hours. --- .buildkite/pipeline.yml | 8 ++++---- .github/workflows/Test.yml | 4 +++- 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/.buildkite/pipeline.yml b/.buildkite/pipeline.yml index 97714501..6ef25dd8 100644 --- a/.buildkite/pipeline.yml +++ b/.buildkite/pipeline.yml @@ -1,8 +1,8 @@ # Tests of the GPU back-ends against this version of GPUArrays. The JLArray tests on GitHub -# Actions cover every supported Julia version, so the back-ends are only tested on the oldest -# and newest release. Draft pull requests skip them, unless selected by name in the last commit -# message: `[only cuda]`, `[only metal, oneapi]` or `[only tests]` for all of them. `[skip amdgpu]` -# or `[skip tests]` does the opposite. +# Actions cover the Julia releases in between (on pushes to main), so the back-ends are only +# tested on the oldest and newest release. Draft pull requests skip them, unless selected by +# name in the last commit message: `[only cuda]`, `[only metal, oneapi]` or `[only tests]` for +# all of them. `[skip amdgpu]` or `[skip tests]` does the opposite. steps: # Julia 1.10 doesn't support [sources] in Project.toml, # so we need to manually dev CUDA.jl's workspace packages. diff --git a/.github/workflows/Test.yml b/.github/workflows/Test.yml index aa691a2a..7347be73 100644 --- a/.github/workflows/Test.yml +++ b/.github/workflows/Test.yml @@ -21,7 +21,9 @@ jobs: strategy: fail-fast: false matrix: - version: ['1.10', '1.11', '1.12', '1.13', 'nightly'] + # pull requests only test the oldest and newest supported release + version: ${{ fromJSON(github.event_name == 'pull_request' && '["1.10", "1.13"]' || + '["1.10", "1.11", "1.12", "1.13", "nightly"]') }} os: [ubuntu-latest, macOS-latest, windows-latest] steps: - uses: actions/checkout@v6 From 30f2be183a4bcfee0fe1f093a4714896852f63bc Mon Sep 17 00:00:00 2001 From: Tim Besard Date: Tue, 27 Oct 2026 14:59:19 +0100 Subject: [PATCH 2/2] Run the OpenCL.jl job on Julia 1.13 It was the only job still on 1.12, which is no longer a supported release. --- .github/workflows/Test.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/Test.yml b/.github/workflows/Test.yml index 7347be73..fe2d8021 100644 --- a/.github/workflows/Test.yml +++ b/.github/workflows/Test.yml @@ -67,7 +67,7 @@ jobs: - uses: actions/checkout@v6 - uses: julia-actions/setup-julia@v3 with: - version: '1.12' + version: '1.13' show-versioninfo: true - uses: julia-actions/cache@v3 - name: Run tests