numam-dpdk/.travis.yml
Juraj Linkeš 5d0b4ffa69 ci: add aarch64 clang cross-compilation Travis builds
Mirror the existing gcc jobs - build static and shared libs.
Use arm64_armv8_linux_clang_ubuntu1804 meson cross file.

Signed-off-by: Juraj Linkeš <juraj.linkes@pantheon.tech>
2021-01-26 12:43:04 +01:00

165 lines
3.7 KiB
YAML

# default values for all jobs
language: c
cache:
ccache: true
directories:
- libabigail
- reference
dist: bionic
os: linux
addons:
apt:
update: true
packages: &required_packages
- [libnuma-dev, python3-setuptools, python3-wheel, python3-pip, python3-pyelftools, 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]
_aarch64_clang_packages: &aarch64_clang_packages
- *required_packages
- [libgcc-7-dev-arm64-cross, libatomic1-arm64-cross, libc6-dev-arm64-cross, pkg-config-aarch64-linux-gnu]
_libabigail_build_packages: &libabigail_build_packages
- [autoconf, automake, libtool, pkg-config, libxml2-dev, libdw-dev]
_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
env:
global:
- LIBABIGAIL_VERSION=libabigail-1.8
- REF_GIT_TAG=v20.11
jobs:
include:
# x86_64 gcc jobs
- env: DEF_LIB="static"
arch: amd64
compiler: gcc
- env: DEF_LIB="shared" RUN_TESTS=true
arch: amd64
compiler: gcc
- env: DEF_LIB="shared" BUILD_DOCS=true
arch: amd64
compiler: gcc
addons:
apt:
packages:
- *required_packages
- *doc_packages
- env: DEF_LIB="shared" ABI_CHECKS=true
arch: amd64
compiler: gcc
addons:
apt:
packages:
- *required_packages
- *libabigail_build_packages
# x86_64 clang jobs
- env: DEF_LIB="static"
arch: amd64
compiler: clang
- env: DEF_LIB="shared" RUN_TESTS=true
arch: amd64
compiler: clang
- env: DEF_LIB="shared" BUILD_DOCS=true
arch: amd64
compiler: clang
addons:
apt:
packages:
- *required_packages
- *doc_packages
# x86_64 cross-compiling 32-bits jobs
- env: DEF_LIB="static" BUILD_32BIT=true
arch: amd64
compiler: gcc
addons:
apt:
packages:
- *build_32b_packages
# x86_64 cross-compiling aarch64 jobs
- env: DEF_LIB="static" AARCH64=true
arch: amd64
compiler: gcc
addons:
apt:
packages:
- *aarch64_packages
- env: DEF_LIB="shared" AARCH64=true
arch: amd64
compiler: gcc
addons:
apt:
packages:
- *aarch64_packages
- env: DEF_LIB="static" AARCH64=true
arch: amd64
compiler: clang
addons:
apt:
packages:
- *aarch64_clang_packages
- env: DEF_LIB="shared" AARCH64=true
arch: amd64
compiler: clang
addons:
apt:
packages:
- *aarch64_clang_packages
# aarch64 gcc jobs
- env: DEF_LIB="static"
arch: arm64
compiler: gcc
- env: DEF_LIB="shared" RUN_TESTS=true
arch: arm64
compiler: gcc
- env: DEF_LIB="shared" RUN_TESTS=true
dist: focal
arch: arm64-graviton2
virt: vm
group: edge
compiler: gcc
- env: DEF_LIB="shared" BUILD_DOCS=true
arch: arm64
compiler: gcc
addons:
apt:
packages:
- *required_packages
- *doc_packages
- env: DEF_LIB="shared" ABI_CHECKS=true
arch: arm64
compiler: gcc
addons:
apt:
packages:
- *required_packages
- *libabigail_build_packages
# aarch64 clang jobs
- env: DEF_LIB="static"
arch: arm64
compiler: clang
- env: DEF_LIB="shared" RUN_TESTS=true
arch: arm64
compiler: clang
- env: DEF_LIB="shared" RUN_TESTS=true
dist: focal
arch: arm64-graviton2
virt: vm
group: edge
compiler: clang