Enable part of travis jobs with gcc compiler for arm64 architecture 1. Add arm jobs into the matrix in .travis.yml configuration file 2. To enable OVS-DPDK jobs, set the build target according to different CPU architectures 3. Temporarily disable sparse checker because of static code checking failure on arm64
Successful travis build jobs report: https://travis-ci.org/yzyuestc/ovs/builds/621037339 Reviewed-by: Yanqin Wei <[email protected]> Reviewed-by: Jieqiang Wang <[email protected]> Reviewed-by: Gavin Hu <[email protected]> Signed-off-by: Lance Yang <[email protected]> --- .travis.yml | 18 ++++++++++++++++++ .travis/linux-build.sh | 16 ++++++++++++++-- 2 files changed, 32 insertions(+), 2 deletions(-) diff --git a/.travis.yml b/.travis.yml index 2dc4d43..f82e484 100644 --- a/.travis.yml +++ b/.travis.yml @@ -50,6 +50,24 @@ matrix: - os: osx compiler: clang env: OPTS="--disable-ssl" + - arch: arm64 + compiler: gcc + env: OPTS="--disable-ssl" + - arch: arm64 + compiler: gcc + env: KERNEL_LIST="5.0 4.20 4.19 4.18 4.17 4.16" + - arch: arm64 + compiler: gcc + env: KERNEL_LIST="4.15 4.14 4.9 4.4 3.16" + - arch: arm64 + compiler: gcc + env: DPDK=1 OPTS="--enable-shared" + - arch: arm64 + compiler: gcc + env: DPDK_SHARED=1 + - arch: arm64 + compiler: gcc + env: DPDK_SHARED=1 OPTS="--enable-shared" script: ./.travis/${TRAVIS_OS_NAME}-build.sh $OPTS diff --git a/.travis/linux-build.sh b/.travis/linux-build.sh index bb47b3e..ce6bfd1 100755 --- a/.travis/linux-build.sh +++ b/.travis/linux-build.sh @@ -6,7 +6,7 @@ set -x CFLAGS_FOR_OVS="-g -O2" SPARSE_FLAGS="" EXTRA_OPTS="--enable-Werror" -TARGET="x86_64-native-linuxapp-gcc" +TARGET="" function install_kernel() { @@ -87,6 +87,16 @@ function install_dpdk() local DPDK_VER=$1 local VERSION_FILE="dpdk-dir/travis-dpdk-cache-version" + if [ -z "$TARGET" -a -z "$TRAVIS_ARCH" ] || + [ "$TRAVIS_ARCH" == "amd64" ]; then + TARGET="x86_64-native-linuxapp-gcc" + elif [ "$TRAVIS_ARCH" == "aarch64" ]; then + TARGET="arm64-armv8a-linuxapp-gcc" + else + echo "Target is unknown" + exit 1 + fi + if [ "${DPDK_VER##refs/*/}" != "${DPDK_VER}" ]; then # Avoid using cache for git tree build. rm -rf dpdk-dir @@ -184,7 +194,9 @@ elif [ "$M32" ]; then # difference on 'configure' and 'make' stages. export CC="$CC -m32" else - OPTS="--enable-sparse" + if [ "$TRAVIS_ARCH" != "aarch64" ]; then + OPTS="--enable-sparse" + fi if [ "$AFXDP" ]; then # netdev-afxdp uses memset for 64M for umem initialization. SPARSE_FLAGS="${SPARSE_FLAGS} -Wno-memcpy-max-count" -- 2.7.4 _______________________________________________ dev mailing list [email protected] https://mail.openvswitch.org/mailman/listinfo/ovs-dev
