From 1bbb50877d1fa8ee4efece8d67aac4dad4bf8702 Mon Sep 17 00:00:00 2001 From: Dan Crosby Date: Thu, 11 Jun 2026 21:47:52 -0700 Subject: [PATCH] Use CI build scripts for cache parity (#7120) --- scripts/build_eagle_ci.sh | 10 +++++- scripts/build_shardok_ci.sh | 10 +++++- scripts/check_bazel_remote_cache_parity.sh | 40 +++++++++++++++++----- 3 files changed, 50 insertions(+), 10 deletions(-) diff --git a/scripts/build_eagle_ci.sh b/scripts/build_eagle_ci.sh index b8865d8a2e..c667525a65 100755 --- a/scripts/build_eagle_ci.sh +++ b/scripts/build_eagle_ci.sh @@ -2,4 +2,12 @@ set -euo pipefail -bazel build //src/main/scala/net/eagle0/eagle:eagle_server +bazel_cmd=(bazel) +if [ -n "${BAZEL_OUTPUT_USER_ROOT:-}" ]; then + bazel_cmd+=("--output_user_root=${BAZEL_OUTPUT_USER_ROOT}") +fi +if [ -n "${BAZEL_OUTPUT_BASE:-}" ]; then + bazel_cmd+=("--output_base=${BAZEL_OUTPUT_BASE}") +fi + +"${bazel_cmd[@]}" build "$@" //src/main/scala/net/eagle0/eagle:eagle_server diff --git a/scripts/build_shardok_ci.sh b/scripts/build_shardok_ci.sh index d68d0931e4..ecb6d35ff1 100755 --- a/scripts/build_shardok_ci.sh +++ b/scripts/build_shardok_ci.sh @@ -2,4 +2,12 @@ set -euo pipefail -bazel build -c opt //src/main/cpp/net/eagle0/shardok:shardok-server +bazel_cmd=(bazel) +if [ -n "${BAZEL_OUTPUT_USER_ROOT:-}" ]; then + bazel_cmd+=("--output_user_root=${BAZEL_OUTPUT_USER_ROOT}") +fi +if [ -n "${BAZEL_OUTPUT_BASE:-}" ]; then + bazel_cmd+=("--output_base=${BAZEL_OUTPUT_BASE}") +fi + +"${bazel_cmd[@]}" build -c opt "$@" //src/main/cpp/net/eagle0/shardok:shardok-server diff --git a/scripts/check_bazel_remote_cache_parity.sh b/scripts/check_bazel_remote_cache_parity.sh index 3e91a66608..f0847213f0 100755 --- a/scripts/check_bazel_remote_cache_parity.sh +++ b/scripts/check_bazel_remote_cache_parity.sh @@ -28,18 +28,26 @@ esac tmp_root="${RUNNER_TEMP:-/private/tmp}" run_id="${GITHUB_RUN_ID:-local}-$$" +output_user_root="${tmp_root%/}/eagle0-bazel-user-root-${run_id}" output_base="${tmp_root%/}/eagle0-cache-parity-${mode}-${run_id}" echo "Mode: $mode" +echo "Output user root: $output_user_root" echo "Output base: $output_base" -run_bazel() { - echo "Bazel args:" +run_ci_build_script() { + local script="$1" + shift + + echo "Build script: $script" + echo "Build args:" printf ' %s\n' "$@" + BAZEL_OUTPUT_USER_ROOT="$output_user_root" BAZEL_OUTPUT_BASE="$output_base" "$script" "$@" +} + +cache_check_args() { local bazel_args=( - "--output_base=$output_base" - "build" "--remote_download_all" ) @@ -51,13 +59,29 @@ run_bazel() { ) fi - bazel "${bazel_args[@]}" "$@" + printf '%s\n' "${bazel_args[@]}" +} + +run_bazel_targets() { + bazel_args=() + while IFS= read -r arg; do + bazel_args+=("$arg") + done < <(cache_check_args) + + echo "Bazel args:" + printf ' %s\n' "${bazel_args[@]}" "$@" + + bazel "--output_user_root=$output_user_root" "--output_base=$output_base" build "${bazel_args[@]}" "$@" } if [ "$#" -gt 0 ]; then - run_bazel "$@" + run_bazel_targets "$@" exit 0 fi -run_bazel //src/main/scala/net/eagle0/eagle:eagle_server -run_bazel -c opt //src/main/cpp/net/eagle0/shardok:shardok-server +bazel_args=() +while IFS= read -r arg; do + bazel_args+=("$arg") +done < <(cache_check_args) +run_ci_build_script scripts/build_eagle_ci.sh "${bazel_args[@]}" +run_ci_build_script scripts/build_shardok_ci.sh "${bazel_args[@]}"