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 <[email protected]>
--- /dev/null
+#!/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 "*******************************************************************"
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
# 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
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
- 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'
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'
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