diff --git a/.github/workflows/jvm_tests.yml b/.github/workflows/jvm_tests.yml index 8eecc83c0c19..659de52c30e0 100644 --- a/.github/workflows/jvm_tests.yml +++ b/.github/workflows/jvm_tests.yml @@ -21,6 +21,7 @@ jobs: - runs-on=${{ github.run_id }} - runner=${{ matrix.runner }} strategy: + max-parallel: 2 matrix: container_id: - xgb-ci.manylinux2014_x86_64 diff --git a/.github/workflows/lint.yml b/.github/workflows/lint.yml index 59b3cecf57ed..70d892b1061d 100644 --- a/.github/workflows/lint.yml +++ b/.github/workflows/lint.yml @@ -15,26 +15,20 @@ env: jobs: build-containers: - name: Build CI containers (${{ matrix.container_id }}) + name: Build CI containers + env: + CONTAINER_ID: xgb-ci.clang_tidy runs-on: - runs-on=${{ github.run_id }} - - runner=${{ matrix.runner }} - strategy: - fail-fast: false - matrix: - include: - - container_id: xgb-ci.clang_tidy - runner: linux-amd64-cpu + - runner=linux-amd64-cpu steps: # Restart Docker daemon so that it recognizes the ephemeral disks - run: sudo systemctl restart docker - uses: actions/checkout@v4.2.2 with: submodules: "true" - - name: Build ${{ matrix.container_id }} + - name: Build ${{ env.CONTAINER_ID }} run: bash ops/docker_build.sh - env: - CONTAINER_ID: ${{ matrix.container_id }} clang-tidy: name: Run clang-tidy @@ -106,17 +100,10 @@ jobs: bash ops/script/lint_cmake.sh lintr: - runs-on: ${{ matrix.os }} - name: Run R linters on OS ${{ matrix.os }}, R ${{ matrix.r }} - strategy: - fail-fast: false - matrix: - include: - - os: ubuntu-latest - r: "release" + runs-on: ubuntu-latest + name: Run R linters on Ubuntu env: R_REMOTES_NO_ERRORS_FROM_WARNINGS: true - steps: - uses: actions/checkout@v4.2.2 with: @@ -124,14 +111,14 @@ jobs: - uses: r-lib/actions/setup-r@v2.11.0 with: - r-version: ${{ matrix.r }} + r-version: "release" - name: Cache R packages uses: actions/cache@v4.1.2 with: path: ${{ env.R_LIBS_USER }} - key: ${{ runner.os }}-r-${{ matrix.r }}-7-${{ hashFiles('R-package/DESCRIPTION') }} - restore-keys: ${{ runner.os }}-r-${{ matrix.r }}-7-${{ hashFiles('R-package/DESCRIPTION') }} + key: ${{ runner.os }}-r-release-7-${{ hashFiles('R-package/DESCRIPTION') }} + restore-keys: ${{ runner.os }}-r-release-7-${{ hashFiles('R-package/DESCRIPTION') }} - name: Install dependencies shell: Rscript {0} diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 77208a146443..15822c55f0d5 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -21,6 +21,7 @@ jobs: - runs-on=${{ github.run_id }} - runner=${{ matrix.runner }} strategy: + max-parallel: 2 matrix: container_id: - xgb-ci.gpu_build_rockylinux8 @@ -203,6 +204,7 @@ jobs: - runner=${{ matrix.runner }} strategy: fail-fast: false + max-parallel: 2 matrix: include: - suite: gpu @@ -241,6 +243,7 @@ jobs: - runner=${{ matrix.runner }} strategy: fail-fast: false + max-parallel: 2 matrix: include: - description: "single GPU" diff --git a/.github/workflows/misc.yml b/.github/workflows/misc.yml index b1b92c1528b7..1e6df46615d5 100644 --- a/.github/workflows/misc.yml +++ b/.github/workflows/misc.yml @@ -16,11 +16,7 @@ env: jobs: gtest-cpu: name: Test Google C++ test (CPU) - runs-on: ${{ matrix.os }} - strategy: - fail-fast: false - matrix: - os: [macos-13] + runs-on: macos-13 steps: - uses: actions/checkout@v4.2.2 with: @@ -42,11 +38,7 @@ jobs: gtest-cpu-nonomp: name: Test Google C++ unittest (CPU Non-OMP) - runs-on: ${{ matrix.os }} - strategy: - fail-fast: false - matrix: - os: [ubuntu-latest] + runs-on: ubuntu-latest steps: - uses: actions/checkout@v4.2.2 with: @@ -68,15 +60,10 @@ jobs: c-api-demo: name: Test installing XGBoost lib + building the C API demo - runs-on: ${{ matrix.os }} + runs-on: ubuntu-latest defaults: run: shell: bash -l {0} - strategy: - fail-fast: false - matrix: - os: ["ubuntu-latest"] - python-version: ["3.10"] steps: - uses: actions/checkout@v4.2.2 with: diff --git a/.github/workflows/python_tests.yml b/.github/workflows/python_tests.yml index 344e2f276b22..bcc0f5b8ba81 100644 --- a/.github/workflows/python_tests.yml +++ b/.github/workflows/python_tests.yml @@ -15,12 +15,8 @@ concurrency: jobs: python-sdist-test-on-Linux: - runs-on: ${{ matrix.os }} - name: Test installing XGBoost Python source package on ${{ matrix.os }} - strategy: - fail-fast: false - matrix: - os: [ubuntu-latest] + runs-on: ubuntu-latest + name: Test installing XGBoost Python source package steps: - uses: actions/checkout@v4.2.2 with: @@ -85,14 +81,9 @@ jobs: python -c 'import xgboost' python-tests-on-macos: - name: Test XGBoost Python package on ${{ matrix.os }} - runs-on: ${{ matrix.os }} + name: Test XGBoost Python package on macos-13 + runs-on: macos-13 timeout-minutes: 60 - strategy: - fail-fast: false - matrix: - os: [macos-13] - steps: - uses: actions/checkout@v4.2.2 with: @@ -138,13 +129,8 @@ jobs: pytest -s -v -rxXs --durations=0 ./tests/test_distributed/test_with_dask python-system-installation-on-ubuntu: - name: Test XGBoost Python package System Installation on ${{ matrix.os }} - runs-on: ${{ matrix.os }} - strategy: - fail-fast: false - matrix: - os: [ubuntu-latest] - + name: Test XGBoost Python package System Installation on Ubuntu + runs-on: ubuntu-latest steps: - uses: actions/checkout@v4.2.2 with: diff --git a/.github/workflows/sycl_tests.yml b/.github/workflows/sycl_tests.yml index 467734607ea6..7f6214016c00 100644 --- a/.github/workflows/sycl_tests.yml +++ b/.github/workflows/sycl_tests.yml @@ -20,11 +20,7 @@ env: jobs: gtest-cpu-sycl: name: Test Google C++ unittest (CPU SYCL) - runs-on: ${{ matrix.os }} - strategy: - fail-fast: false - matrix: - os: [ubuntu-latest] + runs-on: ubuntu-latest steps: - uses: actions/checkout@v4.2.2 with: @@ -53,14 +49,9 @@ jobs: ./testxgboost python-sycl-tests-on-ubuntu: - name: Test XGBoost Python package with SYCL on ${{ matrix.os }} - runs-on: ${{ matrix.os }} + name: Test XGBoost Python package with SYCL + runs-on: ubuntu-latest timeout-minutes: 90 - strategy: - fail-fast: false - matrix: - os: [ubuntu-latest] - steps: - uses: actions/checkout@v4.2.2 with: