numam-dpdk/.travis.yml
Ruifeng Wang 31bb45bcfd ci: add travis ci support for native aarch64
Add Travis compilation jobs for native aarch64. gcc/clang compilations
for static/shared libraries are added.

Some limitations for current aarch64 Travis support:
1. Container is used. Huge page is not available due to security reason.
2. Missing kernel header package in Xenial distribution.

Solutions to address the limitations:
1. Not to add unit test for now. And run tests with no-huge in future.
2. Use Bionic distribution for all aarch64 jobs.

Signed-off-by: Ruifeng Wang <ruifeng.wang@arm.com>
Reviewed-by: Gavin Hu <gavin.hu@arm.com>
Acked-by: Aaron Conole <aconole@redhat.com>
2020-01-14 09:45:23 +01:00

161 lines
3.5 KiB
YAML

language: c
cache: ccache
compiler:
- gcc
- clang
dist: xenial
os:
- linux
addons:
apt:
update: true
packages: &required_packages
- [libnuma-dev, linux-headers-$(uname -r), python3-setuptools, python3-wheel, python3-pip, ninja-build]
aarch64_packages: &aarch64_packages
- *required_packages
- [gcc-aarch64-linux-gnu, libc6-dev-arm64-cross, pkg-config-aarch64-linux-gnu]
extra_packages: &extra_packages
- *required_packages
- [libbsd-dev, libpcap-dev, libcrypto++-dev, libjansson4]
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
env:
- DEF_LIB="static"
- DEF_LIB="shared"
- DEF_LIB="static" OPTS="-Denable_kmods=false"
- DEF_LIB="shared" OPTS="-Denable_kmods=false"
- DEF_LIB="shared" RUN_TESTS=1
matrix:
include:
- env: DEF_LIB="static" BUILD_32BIT=1
compiler: gcc
addons:
apt:
packages:
- *build_32b_packages
- env: DEF_LIB="static" OPTS="-Denable_kmods=false" AARCH64=1
compiler: gcc
addons:
apt:
packages:
- *aarch64_packages
- env: DEF_LIB="shared" OPTS="-Denable_kmods=false" AARCH64=1
compiler: gcc
addons:
apt:
packages:
- *aarch64_packages
- env: DEF_LIB="static" EXTRA_PACKAGES=1
compiler: gcc
addons:
apt:
packages:
- *extra_packages
- env: DEF_LIB="shared" EXTRA_PACKAGES=1 RUN_TESTS=1 BUILD_DOCS=1
compiler: gcc
addons:
apt:
packages:
- *extra_packages
- *doc_packages
- env: DEF_LIB="static" OPTS="-Denable_kmods=false" EXTRA_PACKAGES=1
compiler: gcc
addons:
apt:
packages:
- *extra_packages
- env: DEF_LIB="shared" OPTS="-Denable_kmods=false" EXTRA_PACKAGES=1
compiler: gcc
addons:
apt:
packages:
- *extra_packages
- env: DEF_LIB="static" EXTRA_PACKAGES=1
compiler: clang
addons:
apt:
packages:
- *extra_packages
- env: DEF_LIB="shared" EXTRA_PACKAGES=1
compiler: clang
addons:
apt:
packages:
- *extra_packages
- env: DEF_LIB="shared" EXTRA_PACKAGES=1 RUN_TESTS=1 BUILD_DOCS=1
compiler: clang
addons:
apt:
packages:
- *extra_packages
- *doc_packages
- env: DEF_LIB="static" OPTS="-Denable_kmods=false" EXTRA_PACKAGES=1
compiler: clang
addons:
apt:
packages:
- *extra_packages
- env: DEF_LIB="shared" OPTS="-Denable_kmods=false" EXTRA_PACKAGES=1
compiler: clang
addons:
apt:
packages:
- *extra_packages
- env: DEF_LIB="static"
arch: arm64
compiler: gcc
dist: bionic
addons:
apt:
packages:
- *required_packages
- env: DEF_LIB="shared"
arch: arm64
compiler: gcc
dist: bionic
addons:
apt:
packages:
- *required_packages
- env: DEF_LIB="static"
arch: arm64
dist: bionic
compiler: clang
addons:
apt:
packages:
- *required_packages
- env: DEF_LIB="shared"
arch: arm64
dist: bionic
compiler: clang
addons:
apt:
packages:
- *required_packages
- env: DEF_LIB="shared" OPTS="-Denable_kmods=false" BUILD_DOCS=1
arch: arm64
compiler: gcc
dist: bionic
addons:
apt:
packages:
- *required_packages
- *doc_packages
script: ./.ci/${TRAVIS_OS_NAME}-build.sh