diff options
author | Mikhail Shchatko <mikhail.shchatko@mongodb.com> | 2022-08-12 08:29:10 +0000 |
---|---|---|
committer | Evergreen Agent <no-reply@evergreen.mongodb.com> | 2022-08-12 08:59:14 +0000 |
commit | e7ec85efe78433e28875631d0c84b6b537c539cf (patch) | |
tree | 49b8b20bd845e5b164fe2bfaaa60b1c913cead2e /evergreen | |
parent | e120e64260238f445ce605cc16e910c9305205c5 (diff) | |
download | mongo-e7ec85efe78433e28875631d0c84b6b537c539cf.tar.gz |
SERVER-68176 Speedup test_api_version_compatibility task
Diffstat (limited to 'evergreen')
-rwxr-xr-x | evergreen/check_idl_compat.sh | 22 |
1 files changed, 19 insertions, 3 deletions
diff --git a/evergreen/check_idl_compat.sh b/evergreen/check_idl_compat.sh index afa9c3f3239..5566cf23dbd 100755 --- a/evergreen/check_idl_compat.sh +++ b/evergreen/check_idl_compat.sh @@ -9,10 +9,26 @@ activate_venv $python buildscripts/idl/check_stable_api_commands_have_idl_definitions.py -v --install-dir dist-test/bin --include src --include src/mongo/db/modules/enterprise/src 1 $python buildscripts/idl/checkout_idl_files_from_past_releases.py -v idls -find idls -maxdepth 1 -mindepth 1 -type d | while read dir; do + +function run_idl_check_compatibility { + dir=$1 + output=$( + python buildscripts/idl/idl_check_compatibility.py -v \ + --old-include "$dir/src" \ + --old-include "$dir/src/mongo/db/modules/enterprise/src" \ + --new-include src \ + --new-include src/mongo/db/modules/enterprise/src \ + "$dir/src" src + ) + exit_code=$? echo "Performing idl check compatibility with release: $dir:" - $python buildscripts/idl/idl_check_compatibility.py -v --old-include "$dir/src" --old-include "$dir/src/mongo/db/modules/enterprise/src" --new-include src --new-include src/mongo/db/modules/enterprise/src "$dir/src" src -done + echo "$output" + if [ $exit_code -ne 0 ]; then + exit 255 + fi +} +export -f run_idl_check_compatibility +find idls -maxdepth 1 -mindepth 1 -type d | xargs -n 1 -P 0 -I % bash -c 'run_idl_check_compatibility "$@"' _ % # Run the idl compatibility checker script with the current src directory as both the "old" and # "new" versions. This is so that we can check that commands that were newly added since the last |