numam-dpdk/.travis.yml
David Marchand 40edb9c0d3 eal: handle compressed firmware
Introduce an internal firmware loading helper to remove code duplication
in our drivers and handle xz compressed firmware by calling libarchive.

This helper tries to look for .xz suffixes so that drivers are not aware
the firmware has been compressed.

libarchive is set as an optional dependency: without libarchive, a
runtime warning is emitted so that users know there is a compressed
firmware.

Windows implementation is left as an empty stub.

Signed-off-by: David Marchand <david.marchand@redhat.com>
Reviewed-by: Igor Russkikh <irusskikh@marvell.com>
Acked-by: Aaron Conole <aconole@redhat.com>
Tested-by: Haiyue Wang <haiyue.wang@intel.com>
2021-07-07 16:41:53 +02:00

172 lines
3.8 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]
- [libarchive-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=v21.05
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"
dist: focal
arch: arm64-graviton2
virt: vm
group: edge
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
dist: focal
arch: arm64-graviton2
virt: vm
group: edge
compiler: gcc
addons:
apt:
packages:
- *required_packages
- *doc_packages
- env: DEF_LIB="shared" ABI_CHECKS=true
dist: focal
arch: arm64-graviton2
virt: vm
group: edge
compiler: gcc
addons:
apt:
packages:
- *required_packages
- *libabigail_build_packages
# aarch64 clang jobs
- env: DEF_LIB="static"
dist: focal
arch: arm64-graviton2
virt: vm
group: edge
compiler: clang
- env: DEF_LIB="shared" RUN_TESTS=true
dist: focal
arch: arm64-graviton2
virt: vm
group: edge
compiler: clang