numam-dpdk/.travis.yml
Juraj Linkeš a0c66ba024 ci: add tests jobs in aarch64 vm
Tests requiring hugepages do not work outside of VM environment because
of security limitations. Add aarch64 builds which run tests to run in
a VM to avoid these limitations. Leave non-hugepage environments since
the tests may produce different results in hugepage and non-hugepage
environments.

Signed-off-by: Juraj Linkeš <juraj.linkes@pantheon.tech>
Reviewed-by: Ruifeng Wang <ruifeng.wang@arm.com>
Acked-by: Aaron Conole <aconole@redhat.com>
2020-09-30 21:52:54 +02:00

120 lines
2.6 KiB
YAML

# default values for all jobs
language: c
cache:
ccache: true
dist: bionic
os: linux
addons:
apt:
update: true
packages: &required_packages
- [libnuma-dev, python3-setuptools, python3-wheel, python3-pip, ninja-build]
- [libbsd-dev, libpcap-dev, libibverbs-dev, libcrypto++-dev, libfdt-dev, libjansson-dev]
_aarch64_packages: &aarch64_packages
- *required_packages
- [gcc-aarch64-linux-gnu, libc6-dev-arm64-cross, pkg-config-aarch64-linux-gnu]
_build_32b_packages: &build_32b_packages
- *required_packages
- [gcc-multilib]
_doc_packages: &doc_packages
- [doxygen, graphviz, python3-sphinx]
before_install: ./.ci/${TRAVIS_OS_NAME}-setup.sh
script: ./.ci/${TRAVIS_OS_NAME}-build.sh
jobs:
include:
# x86_64 gcc jobs
- env: DEF_LIB="static"
arch: amd64
compiler: gcc
- env: DEF_LIB="shared" RUN_TESTS=1
arch: amd64
compiler: gcc
- env: DEF_LIB="shared" BUILD_DOCS=1
arch: amd64
compiler: gcc
addons:
apt:
packages:
- *required_packages
- *doc_packages
# x86_64 clang jobs
- env: DEF_LIB="static"
arch: amd64
compiler: clang
- env: DEF_LIB="shared" RUN_TESTS=1
arch: amd64
compiler: clang
- env: DEF_LIB="shared" BUILD_DOCS=1
arch: amd64
compiler: clang
addons:
apt:
packages:
- *required_packages
- *doc_packages
# x86_64 cross-compiling 32-bits jobs
- env: DEF_LIB="static" BUILD_32BIT=1
arch: amd64
compiler: gcc
addons:
apt:
packages:
- *build_32b_packages
# x86_64 cross-compiling aarch64 jobs
- env: DEF_LIB="static" AARCH64=1
arch: amd64
compiler: gcc
addons:
apt:
packages:
- *aarch64_packages
- env: DEF_LIB="shared" AARCH64=1
arch: amd64
compiler: gcc
addons:
apt:
packages:
- *aarch64_packages
# aarch64 gcc jobs
- env: DEF_LIB="static"
arch: arm64
compiler: gcc
- env: DEF_LIB="shared" RUN_TESTS=1
arch: arm64
compiler: gcc
- env: DEF_LIB="shared" RUN_TESTS=1
dist: focal
arch: arm64-graviton2
virt: vm
group: edge
compiler: gcc
- env: DEF_LIB="shared" BUILD_DOCS=1
arch: arm64
compiler: gcc
addons:
apt:
packages:
- *required_packages
- *doc_packages
# aarch64 clang jobs
- env: DEF_LIB="static"
arch: arm64
compiler: clang
- env: DEF_LIB="shared" RUN_TESTS=1
arch: arm64
compiler: clang
- env: DEF_LIB="shared" RUN_TESTS=1
dist: focal
arch: arm64-graviton2
virt: vm
group: edge
compiler: clang