40edb9c0d3
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>
172 lines
3.8 KiB
YAML
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
|