Skip to content

Commit 38a9064

Browse files
committed
binproto file updater script and docker compose file are added
1 parent db00d42 commit 38a9064

File tree

4 files changed

+711
-0
lines changed

4 files changed

+711
-0
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
services:
2+
ray:
3+
image: rayproject/ray:${RAY_VERSION}
4+
ports:
5+
- "8265:8265"
6+
command: sh -c "ray start --head --dashboard-host=0.0.0.0 && tail -f /dev/null"
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,97 @@
1+
#!/usr/bin/env bash
2+
3+
# Copyright 2022 Google LLC
4+
#
5+
# Licensed under the Apache License, Version 2.0 (the "License");
6+
# you may not use this file except in compliance with the License.
7+
# You may obtain a copy of the License at
8+
#
9+
# https://www.apache.org/licenses/LICENSE-2.0
10+
#
11+
# Unless required by applicable law or agreed to in writing, software
12+
# distributed under the License is distributed on an "AS IS" BASIS,
13+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14+
# See the License for the specific language governing permissions and
15+
# limitations under the License.
16+
17+
set -e
18+
19+
source ../../common.sh
20+
21+
SCRIPT_PATH="$(cd -- "$(dirname "$0")" >/dev/null 2>&1 ; pwd -P)"
22+
# Root path to the web fingerprinter plugin.
23+
PROJECT_ROOT="$(cd -- "${SCRIPT_PATH}/../../../.." >/dev/null 2>&1 ; pwd -P)"
24+
# Path to the configurations for starting a live instance of Ray.
25+
RAY_APP_PATH="${SCRIPT_PATH}/app"
26+
# Path to the temporary data holder.
27+
TMP_DATA="/tmp/RAY_fingerprints"
28+
# Path to the local git repository for Ray codebase.
29+
GIT_REPO="${TMP_DATA}/repo"
30+
# Path to the directory of all the updated fingerprints data.
31+
FINGERPRINTS_PATH="${TMP_DATA}/fingerprints"
32+
# Json data of the final result.
33+
JSON_DATA="${FINGERPRINTS_PATH}/fingerprint.json"
34+
# Binary proto data of the final result.
35+
BIN_DATA="${FINGERPRINTS_PATH}/fingerprint.binproto"
36+
# Read all the versions to be fingerprinted.
37+
readarray -t ALL_VERSIONS < "${SCRIPT_PATH}/versions.txt"
38+
mkdir -p "${FINGERPRINTS_PATH}"
39+
40+
startRay() {
41+
local version="$1"
42+
pushd "${RAY_APP_PATH}" >/dev/null
43+
RAY_VERSION="${version}" docker compose up -d
44+
popd >/dev/null
45+
}
46+
47+
stopRay() {
48+
local version="$1"
49+
pushd "${RAY_APP_PATH}" >/dev/null
50+
RAY_VERSION="${version}" docker compose down --volumes --remove-orphans
51+
popd >/dev/null
52+
}
53+
54+
createFingerprintForDashboard() {
55+
local ray_version="$1"
56+
57+
echo "Fingerprinting Ray version ${ray_version} ..."
58+
# Start a live instance of Ray.
59+
startRay "${ray_version}"
60+
# Arbitrarily chosen so that Ray is up and running.
61+
echo "Waiting for Ray ${ray_version} to be ready ..."
62+
sleep 30
63+
64+
# Checkout the repository to the correct tag.
65+
checkOutRepo "${GIT_REPO}" "ray-${ray_version}"
66+
67+
updateFingerprint \
68+
"ray" \
69+
"${ray_version}" \
70+
"${FINGERPRINTS_PATH}" \
71+
"${GIT_REPO}/dashboard" \
72+
"http://localhost:8265"
73+
74+
# Stop the live instance of Ray.
75+
stopRay "${ray_version}"
76+
}
77+
78+
79+
# Convert the existing data file to a human-readable json file.
80+
convertFingerprint \
81+
"${PROJECT_ROOT}/src/main/resources/fingerprinters/web/data/community/ray.binproto" \
82+
"${JSON_DATA}"
83+
84+
# Fetch Ray codebase.
85+
if [[ ! -d "${GIT_REPO}" ]] ; then
86+
git clone https://github.com/ray-project/ray.git "${GIT_REPO}"
87+
fi
88+
89+
# Update for all the versions listed in versions.txt file.
90+
for ray_version in "${ALL_VERSIONS[@]}"; do
91+
createFingerprintForDashboard "${ray_version}"
92+
done
93+
94+
convertFingerprint "${JSON_DATA}" "${BIN_DATA}"
95+
96+
echo "Fingerprint updated for Ray. Please commit the following file:"
97+
echo " ${BIN_DATA}"
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
0.8.7
2+
1.0.0
3+
1.0.1
4+
1.1.0
5+
1.2.0
6+
1.3.0
7+
1.4.0
8+
1.4.1
9+
1.5.0
10+
1.5.1
11+
1.5.2
12+
1.6.0
13+
1.7.0
14+
1.7.1
15+
1.8.0
16+
1.9.0
17+
1.9.1
18+
1.9.2
19+
1.10.0
20+
1.11.0
21+
1.11.1
22+
1.12.0
23+
1.12.1
24+
1.13.0
25+
1.13.1
26+
2.0.0
27+
2.0.1
28+
2.1.0
29+
2.2.0
30+
2.3.0
31+
2.3.1
32+
2.4.0
33+
2.5.0
34+
2.5.1
35+
2.6.0
36+
2.6.1
37+
2.6.2
38+
2.7.0
39+
2.7.1
40+
2.8.0
41+
2.8.1
42+
2.9.0
43+
2.9.1
44+
2.9.2
45+
2.9.3
46+
2.10.0

0 commit comments

Comments
 (0)