Skip to content

Commit 74042bf

Browse files
authored
* [CI] Update release script to support xgboost-cu13 (dmlc#11705) * [CI] Update release script to support xgboost-cu13 * Don't build sdist for xgboost-cu13; Remove NCCL dep from xgboost sdist * [CI] Use macos-15-intel instead of unsupported macos-13 (dmlc#11721) * [CI] Use macos-14 instead of unsupported macos-13 * macos-14-large is for Intel * Use macos-15-intel, as macos-14-large isn't free * [CI] Clarify job name
1 parent b5d77a0 commit 74042bf

File tree

4 files changed

+30
-40
lines changed

4 files changed

+30
-40
lines changed

.github/workflows/jvm_tests.yml

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -77,7 +77,7 @@ jobs:
7777
- description: "MacOS (Intel)"
7878
script: ops/pipeline/build-jvm-macos-intel.sh
7979
libname: libxgboost4j_intel.dylib
80-
runner: macos-13
80+
runner: macos-15-intel
8181
steps:
8282
- uses: actions/checkout@v4
8383
with:
@@ -132,12 +132,12 @@ jobs:
132132
strategy:
133133
fail-fast: false
134134
matrix:
135-
os: [windows-latest, macos-13]
135+
os: [windows-latest, macos-15-intel]
136136
steps:
137137
- uses: actions/checkout@v4
138138
with:
139139
submodules: 'true'
140-
- uses: actions/setup-java@v4
140+
- uses: actions/setup-java@v5
141141
with:
142142
distribution: 'temurin'
143143
java-version: '8'
@@ -152,7 +152,7 @@ jobs:
152152
key: ${{ runner.os }}-m2-${{ hashFiles('./jvm-packages/pom.xml') }}
153153
restore-keys: ${{ runner.os }}-m2-${{ hashFiles('./jvm-packages/pom.xml') }}
154154
- name: Test XGBoost4J (Core) on macos
155-
if: matrix.os == 'macos-13'
155+
if: matrix.os == 'macos-15-intel'
156156
run: |
157157
cd jvm-packages
158158
mvn test -B -pl :xgboost4j_2.12 -Duse.openmp=OFF
@@ -205,7 +205,7 @@ jobs:
205205
SCALA_VERSION: ${{ matrix.scala_version }}
206206

207207
deploy-jvm-packages:
208-
name: Deploy JVM packages to S3 (${{ matrix.variant.name }})
208+
name: Deploy JVM packages to S3 (${{ matrix.variant.name }}, Scala ${{ matrix.scala_version }})
209209
needs: [build-jvm-gpu, build-test-jvm-packages, test-jvm-packages-gpu]
210210
runs-on:
211211
- runs-on

.github/workflows/python_tests.yml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ jobs:
2020
strategy:
2121
fail-fast: false
2222
matrix:
23-
os: [macos-13, windows-latest, ubuntu-latest]
23+
os: [macos-15-intel, windows-latest, ubuntu-latest]
2424
steps:
2525
- uses: actions/checkout@v4
2626
with:
@@ -32,13 +32,13 @@ jobs:
3232
- name: Install extra package for MacOS
3333
run: |
3434
mamba install -c conda-forge llvm-openmp
35-
if: matrix.os == 'macos-13'
35+
if: matrix.os == 'macos-15-intel'
3636
- name: Build and install XGBoost
3737
run: bash ops/pipeline/test-python-sdist.sh
3838

3939
python-tests-on-macos:
40-
name: Test XGBoost Python package on macos-13
41-
runs-on: macos-13
40+
name: Test XGBoost Python package on macos-15-intel
41+
runs-on: macos-15-intel
4242
timeout-minutes: 60
4343
steps:
4444
- uses: actions/checkout@v4

.github/workflows/python_wheels_macos.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ jobs:
2525
fail-fast: false
2626
matrix:
2727
include:
28-
- os: macos-13
28+
- os: macos-15-intel
2929
platform_id: macosx_x86_64
3030
- os: macos-14
3131
platform_id: macosx_arm64

ops/script/release_artifacts.py

Lines changed: 20 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -109,36 +109,22 @@ def make_python_sdist(
109109
dist_dir = outdir / "dist"
110110
dist_dir.mkdir(exist_ok=True)
111111

112-
# Build sdist for `xgboost-cpu`.
113-
with DirectoryExcursion(ROOT):
114-
make_pyproject(use_suffix="cpu", require_nccl_dep="na")
115-
with DirectoryExcursion(ROOT / "python-package"):
116-
subprocess.run(["python", "-m", "build", "--sdist"], check=True)
117-
sdist_name = (
118-
f"xgboost_cpu-{release}{rc}{rc_ver}.tar.gz"
119-
if rc
120-
else f"xgboost_cpu-{release}.tar.gz"
121-
)
122-
src = DIST / sdist_name
123-
subprocess.run(["twine", "check", str(src)], check=True)
124-
dest = dist_dir / sdist_name
125-
shutil.move(src, dest)
126-
127-
# Build sdist for `xgboost`.
128-
with DirectoryExcursion(ROOT):
129-
make_pyproject(use_suffix="na", require_nccl_dep="cu12")
130-
131-
with DirectoryExcursion(ROOT / "python-package"):
132-
subprocess.run(["python", "-m", "build", "--sdist"], check=True)
133-
sdist_name = (
134-
f"xgboost-{release}{rc}{rc_ver}.tar.gz"
135-
if rc
136-
else f"xgboost-{release}.tar.gz"
137-
)
138-
src = DIST / sdist_name
139-
subprocess.run(["twine", "check", str(src)], check=True)
140-
dest = dist_dir / sdist_name
141-
shutil.move(src, dest)
112+
# Build sdist for `xgboost-cpu`, `xgboost`.
113+
for suffix, nccl_dep in [("cpu", "na"), ("na", "na")]:
114+
with DirectoryExcursion(ROOT):
115+
make_pyproject(use_suffix=suffix, require_nccl_dep=nccl_dep)
116+
with DirectoryExcursion(ROOT / "python-package"):
117+
subprocess.run(["python", "-m", "build", "--sdist"], check=True)
118+
pkg_name = "xgboost" if suffix == "na" else f"xgboost_{suffix}"
119+
sdist_name = (
120+
f"{pkg_name}-{release}{rc}{rc_ver}.tar.gz"
121+
if rc
122+
else f"{pkg_name}-{release}.tar.gz"
123+
)
124+
src = DIST / sdist_name
125+
subprocess.run(["twine", "check", str(src)], check=True)
126+
dest = dist_dir / sdist_name
127+
shutil.move(src, dest)
142128

143129
# Build stub package `xgboost-cu12`.
144130
with DirectoryExcursion(ROOT):
@@ -166,6 +152,9 @@ def download_python_wheels(branch: str, commit_hash: str, outdir: Path) -> None:
166152
"macosx_10_15_x86_64",
167153
"macosx_12_0_arm64",
168154
]
155+
cu13_platforms = [
156+
"manylinux_2_28_x86_64",
157+
]
169158
minimal_platforms = [
170159
"win_amd64",
171160
"win_arm64",
@@ -179,6 +168,7 @@ def download_python_wheels(branch: str, commit_hash: str, outdir: Path) -> None:
179168
for pkg_name, platforms in [
180169
("xgboost", full_platforms),
181170
("xgboost_cpu", minimal_platforms),
171+
("xgboost_cu13", cu13_platforms),
182172
]:
183173
src_filename_prefix = f"{pkg_name}-{args.release}-py3-none-"
184174
target_filename_prefix = f"{pkg_name}-{args.release}-py3-none-"

0 commit comments

Comments
 (0)