numam-dpdk/.travis.yml

153 lines
3.4 KiB
YAML
Raw Normal View History

# 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=none
jobs:
include:
# x86_64 gcc jobs
- env: DEF_LIB="static"
arch: amd64
compiler: gcc
ci: hook to GitHub Actions With the recent changes in terms of free access to the Travis CI, let's offer an alternative with GitHub Actions. Running jobs on ARM is not supported unless using external runners, so this commit only adds builds for x86_64 and cross compiling for i386 and aarch64. Differences with the Travis CI integration: - Error logs are not dumped to the console when something goes wrong. Instead, they are gathered in a "catch-all" step and attached as artifacts. - A cache entry is stored once and for all, but if no cache is found you can inherit from the default branch cache. The cache is 5GB large, for the whole git repository. - The maximum retention of logs and artifacts is 3 months. - /home/runner is world writable, so a workaround has been added for starting dpdk processes. - Ilya, working on OVS GHA support, noticed that jobs can run with processors that don't have the same capabilities. For DPDK, this impacts the ccache content since everything was built with -march=native so far, and we will end up with binaries that can't run in a later build. The problem has not been seen in Travis CI (?) but it is safer to use a fixed "-Dmachine=default" in any case. - Scheduling jobs is part of the configuration and takes the form of a crontab. A build is scheduled every Monday at 0:00 (UTC) to provide a default ccache for the week (useful for the ovsrobot). Signed-off-by: David Marchand <david.marchand@redhat.com> Tested-by: Ferruh Yigit <ferruh.yigit@intel.com> Acked-by: Thomas Monjalon <thomas@monjalon.net> Acked-by: Aaron Conole <aconole@redhat.com>
2020-12-04 17:36:21 +00:00
- env: DEF_LIB="shared" RUN_TESTS=true
arch: amd64
compiler: gcc
ci: hook to GitHub Actions With the recent changes in terms of free access to the Travis CI, let's offer an alternative with GitHub Actions. Running jobs on ARM is not supported unless using external runners, so this commit only adds builds for x86_64 and cross compiling for i386 and aarch64. Differences with the Travis CI integration: - Error logs are not dumped to the console when something goes wrong. Instead, they are gathered in a "catch-all" step and attached as artifacts. - A cache entry is stored once and for all, but if no cache is found you can inherit from the default branch cache. The cache is 5GB large, for the whole git repository. - The maximum retention of logs and artifacts is 3 months. - /home/runner is world writable, so a workaround has been added for starting dpdk processes. - Ilya, working on OVS GHA support, noticed that jobs can run with processors that don't have the same capabilities. For DPDK, this impacts the ccache content since everything was built with -march=native so far, and we will end up with binaries that can't run in a later build. The problem has not been seen in Travis CI (?) but it is safer to use a fixed "-Dmachine=default" in any case. - Scheduling jobs is part of the configuration and takes the form of a crontab. A build is scheduled every Monday at 0:00 (UTC) to provide a default ccache for the week (useful for the ovsrobot). Signed-off-by: David Marchand <david.marchand@redhat.com> Tested-by: Ferruh Yigit <ferruh.yigit@intel.com> Acked-by: Thomas Monjalon <thomas@monjalon.net> Acked-by: Aaron Conole <aconole@redhat.com>
2020-12-04 17:36:21 +00:00
- env: DEF_LIB="shared" BUILD_DOCS=true
arch: amd64
compiler: gcc
addons:
apt:
packages:
- *required_packages
- *doc_packages
# x86_64 clang jobs
- env: DEF_LIB="static"
arch: amd64
compiler: clang
ci: hook to GitHub Actions With the recent changes in terms of free access to the Travis CI, let's offer an alternative with GitHub Actions. Running jobs on ARM is not supported unless using external runners, so this commit only adds builds for x86_64 and cross compiling for i386 and aarch64. Differences with the Travis CI integration: - Error logs are not dumped to the console when something goes wrong. Instead, they are gathered in a "catch-all" step and attached as artifacts. - A cache entry is stored once and for all, but if no cache is found you can inherit from the default branch cache. The cache is 5GB large, for the whole git repository. - The maximum retention of logs and artifacts is 3 months. - /home/runner is world writable, so a workaround has been added for starting dpdk processes. - Ilya, working on OVS GHA support, noticed that jobs can run with processors that don't have the same capabilities. For DPDK, this impacts the ccache content since everything was built with -march=native so far, and we will end up with binaries that can't run in a later build. The problem has not been seen in Travis CI (?) but it is safer to use a fixed "-Dmachine=default" in any case. - Scheduling jobs is part of the configuration and takes the form of a crontab. A build is scheduled every Monday at 0:00 (UTC) to provide a default ccache for the week (useful for the ovsrobot). Signed-off-by: David Marchand <david.marchand@redhat.com> Tested-by: Ferruh Yigit <ferruh.yigit@intel.com> Acked-by: Thomas Monjalon <thomas@monjalon.net> Acked-by: Aaron Conole <aconole@redhat.com>
2020-12-04 17:36:21 +00:00
- env: DEF_LIB="shared" RUN_TESTS=true
arch: amd64
compiler: clang
ci: hook to GitHub Actions With the recent changes in terms of free access to the Travis CI, let's offer an alternative with GitHub Actions. Running jobs on ARM is not supported unless using external runners, so this commit only adds builds for x86_64 and cross compiling for i386 and aarch64. Differences with the Travis CI integration: - Error logs are not dumped to the console when something goes wrong. Instead, they are gathered in a "catch-all" step and attached as artifacts. - A cache entry is stored once and for all, but if no cache is found you can inherit from the default branch cache. The cache is 5GB large, for the whole git repository. - The maximum retention of logs and artifacts is 3 months. - /home/runner is world writable, so a workaround has been added for starting dpdk processes. - Ilya, working on OVS GHA support, noticed that jobs can run with processors that don't have the same capabilities. For DPDK, this impacts the ccache content since everything was built with -march=native so far, and we will end up with binaries that can't run in a later build. The problem has not been seen in Travis CI (?) but it is safer to use a fixed "-Dmachine=default" in any case. - Scheduling jobs is part of the configuration and takes the form of a crontab. A build is scheduled every Monday at 0:00 (UTC) to provide a default ccache for the week (useful for the ovsrobot). Signed-off-by: David Marchand <david.marchand@redhat.com> Tested-by: Ferruh Yigit <ferruh.yigit@intel.com> Acked-by: Thomas Monjalon <thomas@monjalon.net> Acked-by: Aaron Conole <aconole@redhat.com>
2020-12-04 17:36:21 +00:00
- 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
ci: hook to GitHub Actions With the recent changes in terms of free access to the Travis CI, let's offer an alternative with GitHub Actions. Running jobs on ARM is not supported unless using external runners, so this commit only adds builds for x86_64 and cross compiling for i386 and aarch64. Differences with the Travis CI integration: - Error logs are not dumped to the console when something goes wrong. Instead, they are gathered in a "catch-all" step and attached as artifacts. - A cache entry is stored once and for all, but if no cache is found you can inherit from the default branch cache. The cache is 5GB large, for the whole git repository. - The maximum retention of logs and artifacts is 3 months. - /home/runner is world writable, so a workaround has been added for starting dpdk processes. - Ilya, working on OVS GHA support, noticed that jobs can run with processors that don't have the same capabilities. For DPDK, this impacts the ccache content since everything was built with -march=native so far, and we will end up with binaries that can't run in a later build. The problem has not been seen in Travis CI (?) but it is safer to use a fixed "-Dmachine=default" in any case. - Scheduling jobs is part of the configuration and takes the form of a crontab. A build is scheduled every Monday at 0:00 (UTC) to provide a default ccache for the week (useful for the ovsrobot). Signed-off-by: David Marchand <david.marchand@redhat.com> Tested-by: Ferruh Yigit <ferruh.yigit@intel.com> Acked-by: Thomas Monjalon <thomas@monjalon.net> Acked-by: Aaron Conole <aconole@redhat.com>
2020-12-04 17:36:21 +00:00
- env: DEF_LIB="static" BUILD_32BIT=true
arch: amd64
compiler: gcc
addons:
apt:
packages:
- *build_32b_packages
# x86_64 cross-compiling aarch64 jobs
ci: hook to GitHub Actions With the recent changes in terms of free access to the Travis CI, let's offer an alternative with GitHub Actions. Running jobs on ARM is not supported unless using external runners, so this commit only adds builds for x86_64 and cross compiling for i386 and aarch64. Differences with the Travis CI integration: - Error logs are not dumped to the console when something goes wrong. Instead, they are gathered in a "catch-all" step and attached as artifacts. - A cache entry is stored once and for all, but if no cache is found you can inherit from the default branch cache. The cache is 5GB large, for the whole git repository. - The maximum retention of logs and artifacts is 3 months. - /home/runner is world writable, so a workaround has been added for starting dpdk processes. - Ilya, working on OVS GHA support, noticed that jobs can run with processors that don't have the same capabilities. For DPDK, this impacts the ccache content since everything was built with -march=native so far, and we will end up with binaries that can't run in a later build. The problem has not been seen in Travis CI (?) but it is safer to use a fixed "-Dmachine=default" in any case. - Scheduling jobs is part of the configuration and takes the form of a crontab. A build is scheduled every Monday at 0:00 (UTC) to provide a default ccache for the week (useful for the ovsrobot). Signed-off-by: David Marchand <david.marchand@redhat.com> Tested-by: Ferruh Yigit <ferruh.yigit@intel.com> Acked-by: Thomas Monjalon <thomas@monjalon.net> Acked-by: Aaron Conole <aconole@redhat.com>
2020-12-04 17:36:21 +00:00
- env: DEF_LIB="static" AARCH64=true
arch: amd64
compiler: gcc
addons:
apt:
packages:
- *aarch64_packages
ci: hook to GitHub Actions With the recent changes in terms of free access to the Travis CI, let's offer an alternative with GitHub Actions. Running jobs on ARM is not supported unless using external runners, so this commit only adds builds for x86_64 and cross compiling for i386 and aarch64. Differences with the Travis CI integration: - Error logs are not dumped to the console when something goes wrong. Instead, they are gathered in a "catch-all" step and attached as artifacts. - A cache entry is stored once and for all, but if no cache is found you can inherit from the default branch cache. The cache is 5GB large, for the whole git repository. - The maximum retention of logs and artifacts is 3 months. - /home/runner is world writable, so a workaround has been added for starting dpdk processes. - Ilya, working on OVS GHA support, noticed that jobs can run with processors that don't have the same capabilities. For DPDK, this impacts the ccache content since everything was built with -march=native so far, and we will end up with binaries that can't run in a later build. The problem has not been seen in Travis CI (?) but it is safer to use a fixed "-Dmachine=default" in any case. - Scheduling jobs is part of the configuration and takes the form of a crontab. A build is scheduled every Monday at 0:00 (UTC) to provide a default ccache for the week (useful for the ovsrobot). Signed-off-by: David Marchand <david.marchand@redhat.com> Tested-by: Ferruh Yigit <ferruh.yigit@intel.com> Acked-by: Thomas Monjalon <thomas@monjalon.net> Acked-by: Aaron Conole <aconole@redhat.com>
2020-12-04 17:36:21 +00:00
- 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
ci: hook to GitHub Actions With the recent changes in terms of free access to the Travis CI, let's offer an alternative with GitHub Actions. Running jobs on ARM is not supported unless using external runners, so this commit only adds builds for x86_64 and cross compiling for i386 and aarch64. Differences with the Travis CI integration: - Error logs are not dumped to the console when something goes wrong. Instead, they are gathered in a "catch-all" step and attached as artifacts. - A cache entry is stored once and for all, but if no cache is found you can inherit from the default branch cache. The cache is 5GB large, for the whole git repository. - The maximum retention of logs and artifacts is 3 months. - /home/runner is world writable, so a workaround has been added for starting dpdk processes. - Ilya, working on OVS GHA support, noticed that jobs can run with processors that don't have the same capabilities. For DPDK, this impacts the ccache content since everything was built with -march=native so far, and we will end up with binaries that can't run in a later build. The problem has not been seen in Travis CI (?) but it is safer to use a fixed "-Dmachine=default" in any case. - Scheduling jobs is part of the configuration and takes the form of a crontab. A build is scheduled every Monday at 0:00 (UTC) to provide a default ccache for the week (useful for the ovsrobot). Signed-off-by: David Marchand <david.marchand@redhat.com> Tested-by: Ferruh Yigit <ferruh.yigit@intel.com> Acked-by: Thomas Monjalon <thomas@monjalon.net> Acked-by: Aaron Conole <aconole@redhat.com>
2020-12-04 17:36:21 +00:00
- env: DEF_LIB="shared" RUN_TESTS=true
dist: focal
arch: arm64-graviton2
virt: vm
group: edge
compiler: gcc
ci: hook to GitHub Actions With the recent changes in terms of free access to the Travis CI, let's offer an alternative with GitHub Actions. Running jobs on ARM is not supported unless using external runners, so this commit only adds builds for x86_64 and cross compiling for i386 and aarch64. Differences with the Travis CI integration: - Error logs are not dumped to the console when something goes wrong. Instead, they are gathered in a "catch-all" step and attached as artifacts. - A cache entry is stored once and for all, but if no cache is found you can inherit from the default branch cache. The cache is 5GB large, for the whole git repository. - The maximum retention of logs and artifacts is 3 months. - /home/runner is world writable, so a workaround has been added for starting dpdk processes. - Ilya, working on OVS GHA support, noticed that jobs can run with processors that don't have the same capabilities. For DPDK, this impacts the ccache content since everything was built with -march=native so far, and we will end up with binaries that can't run in a later build. The problem has not been seen in Travis CI (?) but it is safer to use a fixed "-Dmachine=default" in any case. - Scheduling jobs is part of the configuration and takes the form of a crontab. A build is scheduled every Monday at 0:00 (UTC) to provide a default ccache for the week (useful for the ovsrobot). Signed-off-by: David Marchand <david.marchand@redhat.com> Tested-by: Ferruh Yigit <ferruh.yigit@intel.com> Acked-by: Thomas Monjalon <thomas@monjalon.net> Acked-by: Aaron Conole <aconole@redhat.com>
2020-12-04 17:36:21 +00:00
- 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
# aarch64 clang jobs
- env: DEF_LIB="static"
dist: focal
arch: arm64-graviton2
virt: vm
group: edge
compiler: clang
ci: hook to GitHub Actions With the recent changes in terms of free access to the Travis CI, let's offer an alternative with GitHub Actions. Running jobs on ARM is not supported unless using external runners, so this commit only adds builds for x86_64 and cross compiling for i386 and aarch64. Differences with the Travis CI integration: - Error logs are not dumped to the console when something goes wrong. Instead, they are gathered in a "catch-all" step and attached as artifacts. - A cache entry is stored once and for all, but if no cache is found you can inherit from the default branch cache. The cache is 5GB large, for the whole git repository. - The maximum retention of logs and artifacts is 3 months. - /home/runner is world writable, so a workaround has been added for starting dpdk processes. - Ilya, working on OVS GHA support, noticed that jobs can run with processors that don't have the same capabilities. For DPDK, this impacts the ccache content since everything was built with -march=native so far, and we will end up with binaries that can't run in a later build. The problem has not been seen in Travis CI (?) but it is safer to use a fixed "-Dmachine=default" in any case. - Scheduling jobs is part of the configuration and takes the form of a crontab. A build is scheduled every Monday at 0:00 (UTC) to provide a default ccache for the week (useful for the ovsrobot). Signed-off-by: David Marchand <david.marchand@redhat.com> Tested-by: Ferruh Yigit <ferruh.yigit@intel.com> Acked-by: Thomas Monjalon <thomas@monjalon.net> Acked-by: Aaron Conole <aconole@redhat.com>
2020-12-04 17:36:21 +00:00
- env: DEF_LIB="shared" RUN_TESTS=true
dist: focal
arch: arm64-graviton2
virt: vm
group: edge
compiler: clang