aboutsummaryrefslogtreecommitdiff
path: root/ci
diff options
context:
space:
mode:
authorCole Faust <colefaust@google.com>2023-04-05 12:50:20 -0700
committerCole Faust <colefaust@google.com>2023-04-05 12:50:20 -0700
commit8f3f1c9ecaa86efd75a68540bdcab7e4cddb8440 (patch)
tree955db4182813baebb72344543c226cf4ca31b31d /ci
parentb034aef7853fa49e57f8e9b72ae9c7825c154c55 (diff)
downloadbazel-8f3f1c9ecaa86efd75a68540bdcab7e4cddb8440.tar.gz
Dist differing bp2build files
So that we can download the results from CI and compare them. CI is seeing more failures than locally for some reason. Bug: 247785938 Test: ./build/bazel/ci/multiproduct_analysis.sh Change-Id: I17825aa6a1a58f41cb6bd225744734748b8f9209
Diffstat (limited to 'ci')
-rwxr-xr-xci/multiproduct_analysis.sh15
1 files changed, 11 insertions, 4 deletions
diff --git a/ci/multiproduct_analysis.sh b/ci/multiproduct_analysis.sh
index 2105ea55..80659a9e 100755
--- a/ci/multiproduct_analysis.sh
+++ b/ci/multiproduct_analysis.sh
@@ -3,6 +3,7 @@
source "$(dirname $0)/target_lists.sh"
cd "$(dirname $0)/../../.."
OUT_DIR=$(realpath ${OUT_DIR:-out})
+DIST_DIR=$(realpath ${DIST_DIR:-out/dist})
read -ra PRODUCTS <<<"$(build/soong/soong_ui.bash --dumpvar-mode all_named_products)"
@@ -23,7 +24,7 @@ function report {
# exit 1
fi
if (( ${#PRODUCTS_WITH_BP2BUILD_DIFFS[@]} )); then
- printf "Products that produced different bp2build files from aosp_arm64:\n"
+ printf "\n\nProducts that produced different bp2build files from aosp_arm64:\n"
printf '%s\n' "${PRODUCTS_WITH_BP2BUILD_DIFFS[@]}"
# TODO(b/261023967): Don't fail the build until every product is OK and we want to prevent backsliding.
@@ -33,11 +34,14 @@ function report {
trap report EXIT
+rm -rf "${DIST_DIR}/multiproduct_analysis"
+mkdir -p "${DIST_DIR}/multiproduct_analysis"
+
# Create zip of the bp2build files for aosp_arm64. We'll check that all other products produce
# identical bp2build files
export TARGET_PRODUCT="aosp_arm64"
build/soong/soong_ui.bash --make-mode --skip-soong-tests bp2build
-tar --mtime='1970-01-01' -czf "out/multiproduct_analysis_reference_bp2build_files.tar.gz" -C out/soong/bp2build .
+tar --mtime='1970-01-01' -czf "${DIST_DIR}/multiproduct_analysis/reference_bp2build_files_aosp_arm64.tar.gz" -C out/soong/bp2build .
total=${#PRODUCTS[@]}
count=1
@@ -55,9 +59,12 @@ for product in "${PRODUCTS[@]}"; do
rm -f out/ninja_build
rm -f out/multiproduct_analysis_current_bp2build_files.tar.gz
- tar --mtime='1970-01-01' -czf "out/multiproduct_analysis_current_bp2build_files.tar.gz" -C out/soong/bp2build .
- diff -q out/multiproduct_analysis_current_bp2build_files.tar.gz out/multiproduct_analysis_reference_bp2build_files.tar.gz || \
+ tar --mtime='1970-01-01' -czf "${DIST_DIR}/multiproduct_analysis/bp2build_files_${product}.tar.gz" -C out/soong/bp2build .
+ if diff -q "${DIST_DIR}/multiproduct_analysis/bp2build_files_${product}.tar.gz" "${DIST_DIR}/multiproduct_analysis/reference_bp2build_files_aosp_arm64.tar.gz"; then
+ rm -f "${DIST_DIR}/multiproduct_analysis/bp2build_files_${product}.tar.gz"
+ else
PRODUCTS_WITH_BP2BUILD_DIFFS+=("${product}")
+ fi
STARTUP_FLAGS=(
# Keep the Bazel server alive, package cache hot and reduce excessive I/O