-
Notifications
You must be signed in to change notification settings - Fork 5.5k
/
macos_ci_build.sh
executable file
·91 lines (85 loc) · 3.69 KB
/
macos_ci_build.sh
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
#!/bin/bash
set -ex
export CI="true"
export PYTHON="3.9"
export RAY_USE_RANDOM_PORTS="1"
export RAY_DEFAULT_BUILD="1"
export LC_ALL="en_US.UTF-8"
export LANG="en_US.UTF-8"
export BUILD="1"
export DL="1"
build_x86_64() {
# Cleanup environments
rm -rf /tmp/bazel_event_logs
cleanup() { if [ "${BUILDKITE_PULL_REQUEST}" = "false" ]; then ./ci/build/upload_build_info.sh; fi }; trap cleanup EXIT
(which bazel && bazel clean) || true
# TODO(simon): make sure to change both PR and wheel builds
# Special setup for jar builds (will be installed to the machine instead)
# - brew remove --force java & brew uninstall --force java & rm -rf /usr/local/Homebrew/Library/Taps/homebrew/homebrew-cask
# - brew install --cask adoptopenjdk/openjdk/adoptopenjdk8
diskutil list external physical
export JAVA_HOME=/Library/Java/JavaVirtualMachines/adoptopenjdk-8.jdk/Contents/Home
java -version
# Build wheels
export UPLOAD_WHEELS_AS_ARTIFACTS=1
export MAC_WHEELS=1
export MAC_JARS=1
export RAY_INSTALL_JAVA=1
export RAY_ENABLE_WINDOWS_OR_OSX_CLUSTER=1
. ./ci/ci.sh init && source ~/.zshenv
source ~/.zshrc
./ci/ci.sh build
# Test wheels
./ci/ci.sh test_wheels
# Build jars
bash ./java/build-jar-multiplatform.sh darwin
# Upload the wheels and jars
# We don't want to push on PRs, in fact, the copy_files will fail because unauthenticated.
if [ "$BUILDKITE_PULL_REQUEST" != "false" ]; then exit 0; fi
pip install -q docker aws_requests_auth boto3
# Upload to branch directory.
python .buildkite/copy_files.py --destination branch_wheels --path ./.whl
python .buildkite/copy_files.py --destination branch_jars --path ./.jar/darwin
# Upload to latest directory.
if [ "$BUILDKITE_BRANCH" = "master" ]; then python .buildkite/copy_files.py --destination wheels --path ./.whl; fi
if [ "$BUILDKITE_BRANCH" = "master" ]; then python .buildkite/copy_files.py --destination jars --path ./.jar/darwin; fi
}
build_aarch64() {
# Cleanup environments
rm -rf /tmp/bazel_event_logs
cleanup() { if [ "${BUILDKITE_PULL_REQUEST}" = "false" ]; then ./ci/build/upload_build_info.sh; fi }; trap cleanup EXIT
(which bazel && bazel clean) || true
brew install pkg-config nvm node || true
# TODO(simon): make sure to change both PR and wheel builds
# Special setup for jar builds (will be installed to the machine instead)
# - brew remove --force java & brew uninstall --force java & rm -rf /usr/local/Homebrew/Library/Taps/homebrew/homebrew-cask
# - brew install --cask adoptopenjdk/openjdk/adoptopenjdk8
diskutil list external physical
export JAVA_HOME=/Library/Java/JavaVirtualMachines/adoptopenjdk-8.jdk/Contents/Home
java -version
# Build wheels
export UPLOAD_WHEELS_AS_ARTIFACTS=1
export MAC_WHEELS=1
export MAC_JARS=1
export RAY_INSTALL_JAVA=1
export RAY_ENABLE_WINDOWS_OR_OSX_CLUSTER=1
export MINIMAL_INSTALL=1
. ./ci/ci.sh init && source ~/.zshenv
source ~/.zshrc
./ci/ci.sh build
# Test wheels
./ci/ci.sh test_wheels
# Build jars
bash ./java/build-jar-multiplatform.sh darwin
# Upload the wheels and jars
# We don't want to push on PRs, in fact, the copy_files will fail because unauthenticated.
if [ "$BUILDKITE_PULL_REQUEST" != "false" ]; then exit 0; fi
python -m pip install -q docker aws_requests_auth boto3
# Upload to branch directory.
python .buildkite/copy_files.py --destination branch_wheels --path ./.whl
python .buildkite/copy_files.py --destination branch_jars --path ./.jar/darwin
# Upload to latest directory.
if [ "$BUILDKITE_BRANCH" = "master" ]; then python .buildkite/copy_files.py --destination wheels --path ./.whl; fi
if [ "$BUILDKITE_BRANCH" = "master" ]; then python .buildkite/copy_files.py --destination jars --path ./.jar/darwin; fi
}
"$@"