From 8f3f1c9ecaa86efd75a68540bdcab7e4cddb8440 Mon Sep 17 00:00:00 2001 From: Cole Faust Date: Wed, 5 Apr 2023 12:50:20 -0700 Subject: 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 --- ci/multiproduct_analysis.sh | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) (limited to 'ci') 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 -- cgit v1.2.3