From 6450e9fc38572b13c9b87021d0011c932e5550f2 Mon Sep 17 00:00:00 2001 From: Peter Dillinger Date: Wed, 11 Aug 2021 16:01:27 -0700 Subject: [PATCH] Update and enhance check_format_compatible.sh (#8651) Summary: The last few releases overlooked adding to this test. This change fixes that. This change also fixes the problem of older branches not understanding ROCKSDB_NO_FBCODE and referencing compilers no longer supported. During the test, build_detect_platform is patched to force no FBCODE compiler usage. (We should not need to update old branches perpetually.) Pull Request resolved: https://github.com/facebook/rocksdb/pull/8651 Test Plan: local run reproduces regression described in https://github.com/facebook/rocksdb/issues/8650 Reviewed By: jay-zhuang, zhichao-cao Differential Revision: D30261872 Pulled By: pdillinger fbshipit-source-id: 02b447d224d7e0eb8613c63185437ded146713bc --- tools/check_format_compatible.sh | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/tools/check_format_compatible.sh b/tools/check_format_compatible.sh index 5bba01dae..cd032accd 100755 --- a/tools/check_format_compatible.sh +++ b/tools/check_format_compatible.sh @@ -47,6 +47,7 @@ git fetch $tmp_origin cleanup() { echo "== Cleaning up" + git reset --hard || true git checkout "$orig_branch" || true git branch -D $tmp_branch || true git remote remove $tmp_origin || true @@ -117,7 +118,7 @@ EOF # To check for DB forward compatibility with loading options (old version # reading data from new), as well as backward compatibility -declare -a db_forward_with_options_refs=("6.6.fb" "6.7.fb" "6.8.fb" "6.9.fb" "6.10.fb" "6.11.fb" "6.12.fb" "6.13.fb" "6.14.fb" "6.15.fb" "6.16.fb" "6.17.fb" "6.18.fb" "6.19.fb" "6.20.fb") +declare -a db_forward_with_options_refs=("6.6.fb" "6.7.fb" "6.8.fb" "6.9.fb" "6.10.fb" "6.11.fb" "6.12.fb" "6.13.fb" "6.14.fb" "6.15.fb" "6.16.fb" "6.17.fb" "6.18.fb" "6.19.fb" "6.20.fb" "6.21.fb" "6.22.fb" "6.23.fb") # To check for DB forward compatibility without loading options (in addition # to the "with loading options" set), as well as backward compatibility declare -a db_forward_no_options_refs=() # N/A at the moment @@ -237,6 +238,13 @@ member_of_array() return 1 } +force_no_fbcode() +{ + # Not all branches recognize ROCKSDB_NO_FBCODE and we should not need + # to patch old branches for changes to available FB compilers. + sed -i -e 's|-d /mnt/gvfs/third-party|"$ROCKSDB_FORCE_FBCODE"|' build_tools/build_detect_platform +} + # General structure from here: # * Check out, build, and do stuff with the "current" branch. # * For each older branch under consideration, @@ -253,6 +261,7 @@ current_checkout_name="$current_checkout_name ($current_checkout_hash)" echo "== Building $current_checkout_name debug" git checkout -B $tmp_branch $current_checkout_hash +force_no_fbcode make clean DISABLE_WARNING_AS_ERROR=1 make ldb -j32 @@ -273,6 +282,7 @@ for checkout_ref in "${checkout_refs[@]}" do echo "== Building $checkout_ref debug" git reset --hard $tmp_origin/$checkout_ref + force_no_fbcode make clean DISABLE_WARNING_AS_ERROR=1 make ldb -j32 @@ -330,6 +340,7 @@ done echo "== Building $current_checkout_name debug (again, final)" git reset --hard $current_checkout_hash +force_no_fbcode make clean DISABLE_WARNING_AS_ERROR=1 make ldb -j32