chore: import upstream snapshot with attribution
This commit is contained in:
Executable
+120
@@ -0,0 +1,120 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
set -euxo pipefail
|
||||
|
||||
ROOT_DIR="$(cd "$(dirname "${BASH_SOURCE:-$0}")"; pwd)"
|
||||
WORKSPACE_DIR="${ROOT_DIR}/.."
|
||||
|
||||
get_python_version() {
|
||||
python -s -c "import sys; sys.stdout.write('%s.%s' % sys.version_info[:2])"
|
||||
}
|
||||
|
||||
is_python_version() {
|
||||
local expected result=0
|
||||
expected="$1"
|
||||
case "$(get_python_version).0." in
|
||||
"${expected}".*) ;;
|
||||
*) result=1;;
|
||||
esac
|
||||
case "$(pip --version | tr -d "\r")" in
|
||||
*" (python ${expected})") ;;
|
||||
*) result=1;;
|
||||
esac
|
||||
return "${result}"
|
||||
}
|
||||
|
||||
refreshenv() {
|
||||
# https://gist.github.com/jayvdb/1daf8c60e20d64024f51ec333f5ce806
|
||||
powershell -NonInteractive - <<\EOF
|
||||
Import-Module "$env:ChocolateyInstall\helpers\chocolateyProfile.psm1"
|
||||
|
||||
Update-SessionEnvironment
|
||||
|
||||
# Print out the list of env vars we're going to export.
|
||||
# Sometimes the bash source fails, this will help with debugging.
|
||||
gci env:
|
||||
|
||||
# Round brackets in variable names cause problems with bash
|
||||
Get-ChildItem env:* | %{
|
||||
if (!($_.Name.Contains('('))) {
|
||||
$value = $_.Value
|
||||
if ($_.Name -eq 'PATH') {
|
||||
$value = $value -replace ';',':'
|
||||
}
|
||||
# Use heredocs to wrap values. This fixes problems with environment variables containing single quotes.
|
||||
# An environment variable containing the string REFRESHENV_EOF could still cause problems, but is
|
||||
# far less likely than a single quote.
|
||||
Write-Output ("export " + $_.Name + "=$`(cat <<- 'REFRESHENV_EOF'`n" + $value + "`nREFRESHENV_EOF`)")
|
||||
}
|
||||
} | Out-File -Encoding ascii $env:TEMP\refreshenv.sh
|
||||
|
||||
EOF
|
||||
|
||||
source "$TEMP/refreshenv.sh"
|
||||
}
|
||||
|
||||
build_dashboard() {
|
||||
pushd python/ray/dashboard/client
|
||||
choco install nodejs --version=22.4.1 -y
|
||||
refreshenv
|
||||
# https://stackoverflow.com/questions/69692842/error-message-error0308010cdigital-envelope-routinesunsupported
|
||||
export NODE_OPTIONS=--openssl-legacy-provider
|
||||
npm install
|
||||
npm run build
|
||||
popd
|
||||
}
|
||||
|
||||
build_wheel_windows() {
|
||||
if [[ "${BUILD_ONE_PYTHON_ONLY:-}" == "" ]]; then
|
||||
echo "Please set BUILD_ONE_PYTHON_ONLY . Building all python versions is no longer supported."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
local local_dir="python/dist"
|
||||
{
|
||||
echo "build --announce_rc";
|
||||
echo "build --config=ci";
|
||||
echo "startup --output_user_root=c:/raytmp";
|
||||
echo "build --remote_cache=${BUILDKITE_BAZEL_CACHE_URL}";
|
||||
} >> ~/.bazelrc
|
||||
|
||||
if [[ "${BUILDKITE_CACHE_READONLY:-}" == "true" ]]; then
|
||||
echo "build --remote_upload_local_results=false" >> ~/.bazelrc
|
||||
fi
|
||||
|
||||
local pyversion="${BUILD_ONE_PYTHON_ONLY}"
|
||||
|
||||
git clean -q -f -f -x -d -e "${local_dir}" -e python/ray/dashboard/client
|
||||
git checkout -q -f -- .
|
||||
|
||||
# Start a subshell to prevent PATH and cd from affecting our shell environment
|
||||
(
|
||||
unset PYTHON2_BIN_PATH PYTHON3_BIN_PATH # make sure these aren't set by some chance
|
||||
build_dashboard
|
||||
|
||||
cd "${WORKSPACE_DIR}"/python
|
||||
# Set the commit SHA in _version.py.
|
||||
if [[ -n "${BUILDKITE_COMMIT:-}" ]]; then
|
||||
sed -i.bak "s/{{RAY_COMMIT_SHA}}/$BUILDKITE_COMMIT/g" ray/_version.py && rm ray/_version.py.bak
|
||||
else
|
||||
echo "BUILDKITE_COMMIT variable not set - required to populated ray.__commit__."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# build ray wheel and ray-cpp wheel
|
||||
# delvewheel packs any needed system dlls like msvcp140.dll
|
||||
uv run --no-project --no-config --no-cache \
|
||||
--with wheel==0.45.1 \
|
||||
--with delvewheel==1.11.2 \
|
||||
--with setuptools==80.9.0 \
|
||||
--with pip==25.2 \
|
||||
--python "${pyversion}" \
|
||||
/bin/bash -o pipefail -ec "
|
||||
python -m pip wheel -v -w dist . --no-deps --use-pep517
|
||||
delvewheel repair dist/ray-*.whl
|
||||
RAY_INSTALL_CPP=1 python -m pip wheel -v -w dist . --no-deps --use-pep517
|
||||
"
|
||||
)
|
||||
}
|
||||
|
||||
build_wheel_windows "$@"
|
||||
Reference in New Issue
Block a user