summaryrefslogtreecommitdiffstats
path: root/jjb/scripts/vpp/build.sh
diff options
context:
space:
mode:
Diffstat (limited to 'jjb/scripts/vpp/build.sh')
-rw-r--r--jjb/scripts/vpp/build.sh107
1 files changed, 59 insertions, 48 deletions
diff --git a/jjb/scripts/vpp/build.sh b/jjb/scripts/vpp/build.sh
index bfeaacea..850d6100 100644
--- a/jjb/scripts/vpp/build.sh
+++ b/jjb/scripts/vpp/build.sh
@@ -33,37 +33,22 @@ DRYRUN="${DRYRUN:-}"
IS_CSIT_VPP_JOB="${IS_CSIT_VPP_JOB:-}"
MAKE_PARALLEL_FLAGS="${MAKE_PARALLEL_FLAGS:-}"
MAKE_PARALLEL_JOBS="${MAKE_PARALLEL_JOBS:-}"
-MAKE_TEST_OS="${MAKE_TEST_OS:-ubuntu-18.04}"
-MAKE_TEST_MULTIWORKER_OS="${MAKE_TEST_MULTIWORKER_OS:-debian-10}"
+MAKE_TEST_OS="${MAKE_TEST_OS:-ubuntu-22.04}"
+MAKE_TEST_MULTIWORKER_OS="${MAKE_TEST_MULTIWORKER_OS:-debian-11}"
VPPAPIGEN_TEST_OS="${VPPAPIGEN_TEST_OS:-${MAKE_TEST_OS}}"
BUILD_RESULT="SUCCESSFULLY COMPLETED"
BUILD_ERROR=""
RETVAL="0"
-echo "sha1sum of this script: ${0}"
-sha1sum $0
-
-# TODO: Mount ccache volume into docker container, then enable this.
-#
-#export CCACHE_DIR=/scratch/docker-build/ccache
-#if [ -d $CCACHE_DIR ];then
-# echo "ccache size:"
-# du -sh $CCACHE_DIR
-#else
-# echo $CCACHE_DIR does not exist.
-#fi
-
-if [ -n "${MAKE_PARALLEL_FLAGS}" ]
-then
+if [ -n "${MAKE_PARALLEL_FLAGS}" ] ; then
echo "Building VPP. Number of cores for build set with" \
"MAKE_PARALLEL_FLAGS='${MAKE_PARALLEL_FLAGS}'."
-elif [ -n "${MAKE_PARALLEL_JOBS}" ]
-then
+elif [ -n "${MAKE_PARALLEL_JOBS}" ] ; then
echo "Building VPP. Number of cores for build set with" \
"MAKE_PARALLEL_JOBS='${MAKE_PARALLEL_JOBS}'."
else
- echo "Building VPP. Number of cores not set, " \
- "using build default ($(grep -c ^processor /proc/cpuinfo))."
+ echo "Building VPP. Number of cores not set," \
+ "using build default ($(grep -c ^processor /proc/cpuinfo))."
fi
make_build_test() {
@@ -75,45 +60,70 @@ make_build_test() {
BUILD_ERROR="FAILED 'make install-ext-deps'"
return
fi
+ if [ -f extras/scripts/build_static_vppctl.sh ]; then
+ if ! extras/scripts/build_static_vppctl.sh ; then
+ BUILD_ERROR="FAILED 'extras/scripts/build_static_vppctl.sh'"
+ return
+ fi
+ fi
+ if ! make UNATTENDED=yes test-dep ; then
+ BUILD_ERROR="FAILED 'make test-dep'"
+ return
+ fi
if ! make UNATTENDED=yes pkg-verify ; then
BUILD_ERROR="FAILED 'make pkg-verify'"
- return
+ return
fi
- if [ "${IS_CSIT_VPP_JOB,,}" == "true" ]; then
- # CSIT jobs don't need to run make test
- return
+ if [ "${IS_CSIT_VPP_JOB,,}" == "true" ] ; then
+ # CSIT jobs don't need to run make test
+ return
fi
- if [ -n "${MAKE_PARALLEL_JOBS}" ]; then
- export TEST_JOBS="${MAKE_PARALLEL_JOBS}"
+ if [ -n "${MAKE_PARALLEL_JOBS}" ] ; then
+ TEST_JOBS="${MAKE_PARALLEL_JOBS}"
echo "Testing VPP with ${TEST_JOBS} cores."
else
- export TEST_JOBS="auto"
+ TEST_JOBS="auto"
echo "Testing VPP with automatically calculated number of cores. " \
"See test logs for the exact number."
fi
- if [ "${OS_ID}-${OS_VERSION_ID}" == "${VPPAPIGEN_TEST_OS}" ]; then
- if ! src/tools/vppapigen/test_vppapigen.py; then
- BUILD_ERROR="FAILED src/tools/vppapigen/test_vppapigen.py"
- return
- fi
+ if grep -q "${OS_ID}-${OS_VERSION_ID}" <<< "${VPPAPIGEN_TEST_OS}"; then
+ if ! src/tools/vppapigen/test_vppapigen.py ; then
+ BUILD_ERROR="FAILED src/tools/vppapigen/test_vppapigen.py"
+ return
+ fi
fi
- if [ "${OS_ID}-${OS_VERSION_ID}" == "${MAKE_TEST_OS}" ]; then
- if ! make COMPRESS_FAILED_TEST_LOGS=yes RETRIES=3 test; then
- BUILD_ERROR="FAILED 'make test'"
- return
- fi
+ if grep -q "${OS_ID}-${OS_VERSION_ID}" <<< "${MAKE_TEST_OS}"; then
+ if ! make COMPRESS_FAILED_TEST_LOGS=yes TEST_JOBS="$TEST_JOBS" RETRIES=3 test ; then
+ BUILD_ERROR="FAILED 'make test'"
+ return
+ fi
else
- echo "Skip running 'make test' on ${OS_ID}-${OS_VERSION_ID}"
+ echo "Skip running 'make test' on ${OS_ID}-${OS_VERSION_ID}"
fi
- if [ "${OS_ID}-${OS_VERSION_ID}" == "${MAKE_TEST_MULTIWORKER_OS}" ] && git grep VPP_WORKER_CONFIG; then
- if ! make VPP_WORKER_CONFIG="workers 2" COMPRESS_FAILED_TEST_LOGS=yes RETRIES=3 test; then
- BUILD_ERROR="FAILED 'make test' with VPP_WORKER_CONFIG='workers 2'"
- return
- else
- echo -e "\n* VPP ${OS_ID^^}-${OS_VERSION_ID}-${OS_ARCH^^} MULTIWORKER MAKE TEST SUCCESSFULLY COMPLETED\n"
- fi
+ if grep -q "${OS_ID}-${OS_VERSION_ID}" <<< "${MAKE_TEST_MULTIWORKER_OS}"; then
+ if git grep -q VPP_WORKER_CONFIG ; then
+ if ! make VPP_WORKER_CONFIG="workers 2" COMPRESS_FAILED_TEST_LOGS=yes \
+ RETRIES=3 TEST_JOBS="$TEST_JOBS" test ; then
+ BUILD_ERROR="FAILED 'make test' with VPP_WORKER_CONFIG='workers 2'"
+ return
+ else
+ echo -e "\n* VPP ${OS_ID^^}-${OS_VERSION_ID}-${OS_ARCH^^}" \
+ "MULTIWORKER MAKE TEST SUCCESSFULLY COMPLETED\n"
+ fi
+ elif git grep -q VPP_WORKER_COUNT ; then
+ if ! make VPP_WORKER_COUNT="2" COMPRESS_FAILED_TEST_LOGS=yes \
+ RETRIES=3 TEST_JOBS="$TEST_JOBS" test ; then
+ BUILD_ERROR="FAILED 'make test' with VPP_WORKER_CONFIG='workers 2'"
+ return
+ else
+ echo -e "\n* VPP ${OS_ID^^}-${OS_VERSION_ID}-${OS_ARCH^^}" \
+ "MULTIWORKER MAKE TEST SUCCESSFULLY COMPLETED\n"
+ fi
+ else
+ echo "Skip running MULTIWORKER MAKE TEST on ${OS_ID}-${OS_VERSION_ID}"
+ fi
else
- echo "Skip running 'make test' with VPP_WORKER_CONFIG='workers 2' on ${OS_ID}-${OS_VERSION_ID}"
+ echo "Skip running MULTIWORKER MAKE TEST on ${OS_ID}-${OS_VERSION_ID}"
fi
}
@@ -124,5 +134,6 @@ if [ -n "$BUILD_ERROR" ] ; then
BUILD_RESULT="$BUILD_ERROR"
RETVAL="1"
fi
-echo -e "\n$line\n* VPP ${OS_ID^^}-${OS_VERSION_ID}-${OS_ARCH^^} BUILD $BUILD_RESULT\n$line\n"
+echo -e "\n$line\n* VPP ${OS_ID^^}-${OS_VERSION_ID}-${OS_ARCH^^}" \
+ "BUILD $BUILD_RESULT\n$line\n"
exit $RETVAL