summaryrefslogtreecommitdiff
path: root/.travis.yml
diff options
context:
space:
mode:
authorMichael Santana <msantana@redhat.com>2019-03-25 11:32:08 -0400
committerThomas Monjalon <thomas@monjalon.net>2019-03-26 22:31:40 +0100
commit99889bd85228bdf6fa28e160308444d82dca68cd (patch)
treed313e69fefcb6f86de34bd4bc342aa997a8d6774 /.travis.yml
parent866bc6742c5478023219d5f795d44a0254a3ee88 (diff)
downloaddpdk-next-eventdev-99889bd85228bdf6fa28e160308444d82dca68cd.zip
dpdk-next-eventdev-99889bd85228bdf6fa28e160308444d82dca68cd.tar.gz
dpdk-next-eventdev-99889bd85228bdf6fa28e160308444d82dca68cd.tar.xz
ci: introduce Travis builds for GitHub repositories
GitHub is a service used by developers to store repositories. GitHub provides service integrations that allow 3rd party services to access developer repositories and perform actions. One of these services is Travis-CI, a simple continuous integration platform. This series introduces the ability for any github mirrors of the DPDK project, including developer mirrors, to kick off builds under the travis CI infrastructure. For now, this just means compilation - no other kinds of automated run exists yet. In the future, this can be expanded to execute and report results for any test-suites that might exist. This is a simple initial implementation of a travis build for the DPDK project. It doesn't require any changes from individual developers to enable, but will allow those developers who opt-in to GitHub and the travis service to get automatic builds for every push they make. The files added under .ci/ exist so that in the future, other CI support platforms (such as cirrus, appveyor, etc.) could have a common place to put their requisite scripts without polluting the main tree. Signed-off-by: Aaron Conole <aconole@redhat.com> Signed-off-by: Michael Santana <msantana@redhat.com> Acked-by: Bruce Richardson <bruce.richardson@intel.com> Acked-by: Luca Boccassi <bluca@debian.org> Reviewed-by: Honnappa Nagarahalli <honnappa.nagarahalli@arm.com> Acked-by: Thomas Monjalon <thomas@monjalon.net>
Diffstat (limited to '.travis.yml')
-rw-r--r--.travis.yml99
1 files changed, 99 insertions, 0 deletions
diff --git a/.travis.yml b/.travis.yml
new file mode 100644
index 0000000..3045ead
--- /dev/null
+++ b/.travis.yml
@@ -0,0 +1,99 @@
+language: c
+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]
+
+extra_packages: &extra_packages
+ - *required_packages
+ - [libbsd-dev, libpcap-dev, libcrypto++-dev, libjansson4]
+
+before_install: ./.ci/${TRAVIS_OS_NAME}-setup.sh
+
+sudo: false
+
+env:
+ - DEF_LIB="static"
+ - DEF_LIB="shared"
+ - DEF_LIB="static" OPTS="-Denable_kmods=false"
+ - DEF_LIB="shared" OPTS="-Denable_kmods=false"
+
+matrix:
+ include:
+ - 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"
+ compiler: gcc
+ addons:
+ apt:
+ packages:
+ - *extra_packages
+ - env: DEF_LIB="shared"
+ compiler: gcc
+ addons:
+ apt:
+ packages:
+ - *extra_packages
+ - env: DEF_LIB="static" OPTS="-Denable_kmods=false"
+ compiler: gcc
+ addons:
+ apt:
+ packages:
+ - *extra_packages
+ - env: DEF_LIB="shared" OPTS="-Denable_kmods=false"
+ compiler: gcc
+ addons:
+ apt:
+ packages:
+ - *extra_packages
+ - env: DEF_LIB="static"
+ compiler: clang
+ addons:
+ apt:
+ packages:
+ - *extra_packages
+ - env: DEF_LIB="shared"
+ compiler: clang
+ addons:
+ apt:
+ packages:
+ - *extra_packages
+ - env: DEF_LIB="static" OPTS="-Denable_kmods=false"
+ compiler: clang
+ addons:
+ apt:
+ packages:
+ - *extra_packages
+ - env: DEF_LIB="shared" OPTS="-Denable_kmods=false"
+ compiler: clang
+ addons:
+ apt:
+ packages:
+ - *extra_packages
+
+
+script: ./.ci/${TRAVIS_OS_NAME}-build.sh