diff options
Diffstat (limited to 'jjb/scripts/vpp/build.sh')
-rw-r--r-- | jjb/scripts/vpp/build.sh | 107 |
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 |