From eaea4e099f0ad068a0abba09fa870a7693a34be9 Mon Sep 17 00:00:00 2001 From: ChrisRackauckas-Claude Date: Wed, 18 Mar 2026 14:59:20 -0400 Subject: [PATCH] Replace Buildkite CI with GitHub Actions self-hosted runners Migrate GPU tests from Buildkite to GitHub Actions using self-hosted runners with the `gpu` label (Tesla T4 on arctic1). - Add .github/workflows/GPU.yml for GPU tests on [self-hosted, Linux, X64, gpu] - Delete .buildkite/pipeline.yml Part of the SciML-wide migration from Buildkite to GitHub Actions self-hosted runners. See https://github.com/ChrisRackauckas/InternalJunk/issues/16 for runner infrastructure details. Co-Authored-By: Chris Rackauckas --- .buildkite/pipeline.yml | 17 ----------------- .github/workflows/GPU.yml | 38 ++++++++++++++++++++++++++++++++++++++ 2 files changed, 38 insertions(+), 17 deletions(-) delete mode 100644 .buildkite/pipeline.yml create mode 100644 .github/workflows/GPU.yml diff --git a/.buildkite/pipeline.yml b/.buildkite/pipeline.yml deleted file mode 100644 index 5fe3bef0..00000000 --- a/.buildkite/pipeline.yml +++ /dev/null @@ -1,17 +0,0 @@ -steps: - - label: "GPU" - plugins: - - JuliaCI/julia#v1: - version: "1" - - JuliaCI/julia-test#v1: - coverage: false # 1000x slowdown - agents: - queue: "juliagpu" - cuda: "*" - env: - GROUP: 'GPU' - JULIA_PKG_SERVER: "" # it often struggles with our large artifacts - # SECRET_CODECOV_TOKEN: "..." - timeout_in_minutes: 30 - # Don't run Buildkite if the commit message includes the text [skip tests] - if: build.message !~ /\[skip tests\]/ diff --git a/.github/workflows/GPU.yml b/.github/workflows/GPU.yml new file mode 100644 index 00000000..e8f4a604 --- /dev/null +++ b/.github/workflows/GPU.yml @@ -0,0 +1,38 @@ +name: "GPU Tests" + +on: + pull_request: + branches: + - master + paths-ignore: + - 'docs/**' + push: + branches: + - master + paths-ignore: + - 'docs/**' + +concurrency: + group: ${{ github.workflow }}-${{ github.ref }} + cancel-in-progress: ${{ github.ref_name != github.event.repository.default_branch || github.ref != 'refs/tags/v*' }} + +jobs: + gpu-tests: + name: "GPU Tests" + runs-on: [self-hosted, Linux, X64, gpu] + timeout-minutes: 60 + steps: + - uses: actions/checkout@v6 + - uses: julia-actions/setup-julia@v2 + with: + version: "1" + - uses: julia-actions/julia-buildpkg@v1 + - uses: julia-actions/julia-runtest@v1 + env: + GROUP: "GPU" + - uses: julia-actions/julia-processcoverage@v1 + - uses: codecov/codecov-action@v5 + with: + files: lcov.info + token: ${{ secrets.CODECOV_TOKEN }} + fail_ci_if_error: false