64 lines
2.1 KiB
Bash
Executable File
64 lines
2.1 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
set -euo pipefail
|
|
|
|
if [ $# -ne 1 ]; then
|
|
echo "Usage: $0 {x86_64,aarch64}"
|
|
exit 1
|
|
fi
|
|
|
|
arch=$1
|
|
|
|
source tests/buildkite/conftest.sh
|
|
|
|
WHEEL_TAG="manylinux2014_${arch}"
|
|
command_wrapper="tests/ci_build/ci_build.sh ${WHEEL_TAG}"
|
|
python_bin="/opt/python/cp310-cp310/bin/python"
|
|
|
|
echo "--- Build binary wheel for ${WHEEL_TAG}"
|
|
# Patch to add warning about manylinux2014 variant
|
|
patch -p0 < tests/buildkite/remove_nccl_dep.patch
|
|
patch -p0 < tests/buildkite/manylinux2014_warning.patch
|
|
$command_wrapper bash -c \
|
|
"cd python-package && ${python_bin} -m pip wheel --no-deps -v . --wheel-dir dist/"
|
|
git checkout python-package/pyproject.toml python-package/xgboost/core.py # discard the patch
|
|
|
|
$command_wrapper auditwheel repair --plat ${WHEEL_TAG} python-package/dist/*.whl
|
|
$command_wrapper ${python_bin} tests/ci_build/rename_whl.py \
|
|
--wheel-path wheelhouse/*.whl \
|
|
--commit-hash ${BUILDKITE_COMMIT} \
|
|
--platform-tag ${WHEEL_TAG}
|
|
rm -rf python-package/dist/
|
|
mkdir python-package/dist/
|
|
mv -v wheelhouse/*.whl python-package/dist/
|
|
|
|
echo "--- Build binary wheel for ${WHEEL_TAG} (CPU only)"
|
|
# Patch to rename pkg to xgboost-cpu
|
|
patch -p0 < tests/buildkite/remove_nccl_dep.patch
|
|
patch -p0 < tests/buildkite/cpu_only_pypkg.patch
|
|
$command_wrapper bash -c \
|
|
"cd python-package && ${python_bin} -m pip wheel --no-deps -v . --wheel-dir dist/"
|
|
git checkout python-package/pyproject.toml # discard the patch
|
|
|
|
$command_wrapper auditwheel repair --plat ${WHEEL_TAG} python-package/dist/xgboost_cpu-*.whl
|
|
$command_wrapper ${python_bin} tests/ci_build/rename_whl.py \
|
|
--wheel-path wheelhouse/xgboost_cpu-*.whl \
|
|
--commit-hash ${BUILDKITE_COMMIT} \
|
|
--platform-tag ${WHEEL_TAG}
|
|
rm -v python-package/dist/xgboost_cpu-*.whl
|
|
mv -v wheelhouse/xgboost_cpu-*.whl python-package/dist/
|
|
|
|
echo "--- Upload Python wheel"
|
|
for wheel in python-package/dist/*.whl
|
|
do
|
|
buildkite-agent artifact upload "${wheel}"
|
|
done
|
|
if [[ ($is_pull_request == 0) && ($is_release_branch == 1) ]]
|
|
then
|
|
for wheel in python-package/dist/*.whl
|
|
do
|
|
aws s3 cp "${wheel}" s3://xgboost-nightly-builds/${BRANCH_NAME}/ \
|
|
--acl public-read --no-progress
|
|
done
|
|
fi
|