summaryrefslogtreecommitdiff
path: root/evergreen
diff options
context:
space:
mode:
authorMikhail Shchatko <mikhail.shchatko@mongodb.com>2022-08-12 08:29:10 +0000
committerEvergreen Agent <no-reply@evergreen.mongodb.com>2022-08-12 08:59:14 +0000
commite7ec85efe78433e28875631d0c84b6b537c539cf (patch)
tree49b8b20bd845e5b164fe2bfaaa60b1c913cead2e /evergreen
parente120e64260238f445ce605cc16e910c9305205c5 (diff)
downloadmongo-e7ec85efe78433e28875631d0c84b6b537c539cf.tar.gz
SERVER-68176 Speedup test_api_version_compatibility task
Diffstat (limited to 'evergreen')
-rwxr-xr-xevergreen/check_idl_compat.sh22
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