From: juraj.linkes Date: Thu, 11 Oct 2018 15:09:29 +0000 (+0200) Subject: Enable nonvoting testing in VPP ARM verify jobs X-Git-Url: https://gerrit.fd.io/r/gitweb?a=commitdiff_plain;h=34e6385e3633c366ede6cac81b0a1decc1dfd83b;p=ci-management.git Enable nonvoting testing in VPP ARM verify jobs Enable testing utilizing parallel test execution for ARM jobs with parallel test execution code, which has been merged in 1810 and update the OS for these jobs to Ubuntu1804. Create new jobs for branches without parallel test execution which don't have testing enabled and retain the OS. Also exclude some currently failing tests which will be enabled once the underlying issues are fixed. Change-Id: I5bbb1348a5a00676759753e5cf66ab65ce55e57d Signed-off-by: juraj.linkes --- diff --git a/jjb/vpp/include-raw-vpp-arm-build-no-test.sh b/jjb/vpp/include-raw-vpp-arm-build-no-test.sh new file mode 100644 index 000000000..94cc82449 --- /dev/null +++ b/jjb/vpp/include-raw-vpp-arm-build-no-test.sh @@ -0,0 +1,58 @@ +#!/bin/bash +# basic build script example +set -xe -o pipefail + +OS_ID=$(grep '^ID=' /etc/os-release | cut -f2- -d= | sed -e 's/\"//g') +OS_VERSION_ID=$(grep '^VERSION_ID=' /etc/os-release | cut -f2- -d= | sed -e 's/\"//g') + +echo OS_ID: $OS_ID +echo OS_VERSION_ID: $OS_VERSION_ID + +# do nothing but print the current slave hostname +hostname +export CCACHE_DIR=/tmp/ccache +if [ -d $CCACHE_DIR ];then + echo $CCACHE_DIR exists + du -sk $CCACHE_DIR +else + echo $CCACHE_DIR does not exist. This must be a new slave. +fi + +echo "cat /etc/bootstrap.sha" +if [ -f /etc/bootstrap.sha ];then + cat /etc/bootstrap.sha +else + echo "Cannot find cat /etc/bootstrap.sha" +fi + +echo "cat /etc/bootstrap-functions.sha" +if [ -f /etc/bootstrap-functions.sha ];then + cat /etc/bootstrap-functions.sha +else + echo "Cannot find cat /etc/bootstrap-functions.sha" +fi + +echo "sha1sum of this script: ${0}" +sha1sum $0 + +echo "CC=${CC}" + +make UNATTENDED=yes install-dep +make UNATTENDED=yes dpdk-install-dev +make UNATTENDED=yes -C build-root PLATFORM=vpp TAG=vpp wipe-all install-packages +make UNATTENDED=yes -C build-root PLATFORM=vpp TAG=vpp sample-plugin-install +make UNATTENDED=yes -C build-root PLATFORM=vpp TAG=vpp libmemif-install +make UNATTENDED=yes pkg-deb + +if [ "x${VPP_REPO}" == "x1" ]; then + if [ "x${REBASE_NEEDED}" == "x1" ]; then + echo "This patch to vpp is based on an old point in the tree that is likely" + echo "to fail verify." + echo "PLEASE REBASE PATCH ON THE CURRENT HEAD OF THE VPP REPO" + exit 1 + fi +fi + +echo "*******************************************************************" +echo "* VPP ARM BUILD SUCCESSFULLY COMPLETED" +echo "*******************************************************************" diff --git a/jjb/vpp/include-raw-vpp-arm-build.sh b/jjb/vpp/include-raw-vpp-arm-build.sh index 94cc82449..906e18584 100644 --- a/jjb/vpp/include-raw-vpp-arm-build.sh +++ b/jjb/vpp/include-raw-vpp-arm-build.sh @@ -36,13 +36,22 @@ echo "sha1sum of this script: ${0}" sha1sum $0 echo "CC=${CC}" - -make UNATTENDED=yes install-dep -make UNATTENDED=yes dpdk-install-dev -make UNATTENDED=yes -C build-root PLATFORM=vpp TAG=vpp wipe-all install-packages -make UNATTENDED=yes -C build-root PLATFORM=vpp TAG=vpp sample-plugin-install -make UNATTENDED=yes -C build-root PLATFORM=vpp TAG=vpp libmemif-install -make UNATTENDED=yes pkg-deb +echo "IS_CSIT_VPP_JOB=${IS_CSIT_VPP_JOB}" +# If and only if we are doing verify *after* make verify was made to work +# and we are not a CSIT job just building packages, then use make verify, +# else use the old build-root/vagrant/build.sh +if (git log --oneline | grep 37682e1 > /dev/null 2>&1) && \ + [ "x${IS_CSIT_VPP_JOB}" != "xTrue" ] +then + echo "Building using \"make verify\"" + sed -i '33i\ \ DEPENDS api_headers' src/vat/CMakeLists.txt + [ "x${DRYRUN}" == "xTrue" ] || make UNATTENDED=yes verify SKIP_AARCH64=yes +else + echo "Building using \"make build-root/vagrant/build.sh\"" + [ "x${DRYRUN}" == "xTrue" ] || make UNATTENDED=yes install-dep + [ "x${DRYRUN}" == "xTrue" ] || make UNATTENDED=yes dpdk-install-dev + [ "x${DRYRUN}" == "xTrue" ] || build-root/vagrant/build.sh +fi if [ "x${VPP_REPO}" == "x1" ]; then if [ "x${REBASE_NEEDED}" == "x1" ]; then diff --git a/jjb/vpp/include-raw-vpp-parallel-vars.sh b/jjb/vpp/include-raw-vpp-parallel-vars.sh index b4d5f209c..0926452f9 100644 --- a/jjb/vpp/include-raw-vpp-parallel-vars.sh +++ b/jjb/vpp/include-raw-vpp-parallel-vars.sh @@ -10,12 +10,12 @@ else # NODE_NAME is jenkins-SOMEHEX if [[ $NODE_NAME != $NODE_LABEL ]] then - # Found label such as ubuntu1604arm-us + # Found label such as ubuntu1804arm-us break fi done - if [[ $NODE_LABEL == 'ubuntu1604arm-us' ]] + if [[ $NODE_LABEL == 'ubuntu1804arm-us' ]] then CORES=16 fi @@ -24,4 +24,4 @@ fi echo "Using MAKE_PARALLEL_FLAGS='-j $CORES' TEST_JOBS=$CORES for parallel build/test" export MAKE_PARALLEL_FLAGS="-j $CORES" -TEST_JOBS=$CORES +export TEST_JOBS=$CORES diff --git a/jjb/vpp/vpp.yaml b/jjb/vpp/vpp.yaml index 60c5fb50a..d366e99b8 100644 --- a/jjb/vpp/vpp.yaml +++ b/jjb/vpp/vpp.yaml @@ -114,6 +114,17 @@ - master: branch: 'master' repo-stream-part: 'master' + os: + - ubuntu1804: + repo-os-part: 'ubuntu-arm.bionic.main' + +- project: + name: vpp-arm-old + jobs: + - 'vpp-arm-old-verify-{stream}-{os}' + - 'vpp-arm-merge-{stream}-{os}' + project: 'vpp' + stream: - '1804': branch: 'stable/1804' repo-stream-part: 'stable.1804' @@ -284,7 +295,7 @@ maven-version: 'mvn33-new' - job-template: - name: 'vpp-arm-verify-{stream}-{os}' + name: 'vpp-arm-old-verify-{stream}-{os}' project-type: freestyle node: '{os}arm-us' @@ -323,6 +334,69 @@ name: '{project}' branch: '{branch}' + builders: + - shell: + !include-raw-escape: ../scripts/setup_vpp_ubuntu_arm_test.sh + - shell: + !include-raw-escape: + - ../scripts/setup_vpp_dpdk_dev_env.sh + - include-raw-vpp-arm-build-no-test.sh + + publishers: + - archive: + artifacts: > + **/build-root/*.rpm, + **/build-root/*.deb, + **/dpdk/*.rpm, + **/dpdk/*.deb + allow-empty: 'true' + fingerprint: false + only-if-success: true + default-excludes: false + - fdio-infra-shiplogs: + maven-version: 'mvn33-new' + archive-artifacts: '/tmp/vpp-failed-unittests/*/* **/core' + +- job-template: + name: 'vpp-arm-verify-{stream}-{os}' + + project-type: freestyle + node: '{os}arm-us' + concurrent: true + + build-discarder: + daysToKeep: '{build-days-to-keep}' + numToKeep: 100 + artifactDaysToKeep: '{build-artifact-days-to-keep}' + artifactNumToKeep: '{build-artifact-num-to-keep}' + + parameters: + - project-parameter: + project: '{project}' + - gerrit-parameter: + branch: '{branch}' + - os-parameter: + os: '{os}' + - repo-name-parameter: + repo-name: '{repo-stream-part}.{repo-os-part}' + - stream-parameter: + stream: '{stream}' + + scm: + - gerrit-trigger-scm: + credentials-id: 'jenkins-gerrit-credentials' + refspec: '$GERRIT_REFSPEC' + choosing-strategy: 'gerrit' + + wrappers: + - fdio-infra-wrappers: + build-timeout: 120 + + triggers: + - gerrit-trigger-checkstyle-nonvoting: + name: '{project}' + branch: '{branch}' + builders: - shell: !include-raw-escape: ../scripts/setup_vpp_ubuntu_arm_test.sh