Skip to content

Commit

Permalink
Check revisions for all shim jars while build all (#4266)
Browse files Browse the repository at this point in the history
* Check revisions for all shim jars while build all

Signed-off-by: Chong Gao <res_life@163.com>
  • Loading branch information
Chong Gao authored Dec 8, 2021
1 parent 3bc61dc commit 367c5d7
Show file tree
Hide file tree
Showing 2 changed files with 60 additions and 1 deletion.
9 changes: 8 additions & 1 deletion dist/maven-antrun/build-parallel-worlds.xml
Original file line number Diff line number Diff line change
Expand Up @@ -121,6 +121,13 @@
<concat destfile="${shimServiceFile}">
<fileset dir="${project.build.directory}/parallel-world" includes="spark*/${shimServiceRsrc}"/>
</concat>

<!-- check shims revisions -->
<exec executable="${project.basedir}/scripts/check-shims-revisions.sh" failonerror="true"
dir="${project.build.directory}">
<arg value="${included_buildvers}"/>
</exec>

<exec executable="${project.basedir}/scripts/binary-dedupe.sh" failonerror="true"
dir="${project.build.directory}"/>

Expand Down Expand Up @@ -149,4 +156,4 @@
</filterchain>
</copy>
</target>
</project>
</project>
52 changes: 52 additions & 0 deletions dist/scripts/check-shims-revisions.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
#!/bin/bash

#
# Copyright (c) 2021, NVIDIA CORPORATION. All rights reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#

set -e
#
# check the revisions of each shims, they should be equal
# $1 is included_buildvers
function check-shims-revisions() {
included_buildvers="$1"
# PWD should be spark-rapids root path
parallel_dir=${PWD}/parallel-world
pre_revision=""
pre_shim_version_path=""

IFS=","
for shim in ${included_buildvers}; do
# trim
shim=$(echo "${shim}" | xargs)
shim_version_path="${parallel_dir}/spark${shim}/rapids4spark-version-info.properties"
if [[ -f "$shim_version_path" ]] ; then
curr_revision=$(grep "revision=" "${shim_version_path}" | cut -d'=' -f2)
if [ -n "$pre_revision" ] && [[ "$curr_revision" != "$pre_revision" ]] ; then
echo
echo "Check Failed: git revisions between shims are not equal"
echo "Please check the revisions of each shim to see which one is inconsistent. Note, if building with Databricks those jars are built separately."
exit 1
fi
pre_revision="${curr_revision}"
pre_shim_version_path="${shim_version_path}"
else
echo "Error: version file missing: ${shim_version_path}"
exit 1
fi
done
}

check-shims-revisions "$1"

0 comments on commit 367c5d7

Please sign in to comment.