From: Michael Santana <msantana@redhat.com>
To: dev@dpdk.org
Cc: Aaron Conole <aconole@redhat.com>,
Bruce Richardson <bruce.richardson@intel.com>,
Thomas Monjalon <thomas@monjalon.net>,
Ferruh Yigit <ferruh.yigit@intel.com>
Subject: [dpdk-dev] [PATCH] Introduce travis builds for github repositories
Date: Wed, 23 Jan 2019 17:07:14 -0500 [thread overview]
Message-ID: <20190123220714.20763-1-msantana@redhat.com> (raw)
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 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.
Additionally, the travis service will send an email to the test-report
list informing anyone interested in the automated build (including a
result).
Signed-off-by: Aaron Conole <aconole@redhat.com>
Signed-off-by: Michael Santana <msantana@redhat.com>
---
.ci/linux-build.sh | 34 +++++++++++++++++++++++++
.ci/linux-setup.sh | 3 +++
.travis.yml | 39 +++++++++++++++++++++++++++++
MAINTAINERS | 6 +++++
doc/guides/contributing/patches.rst | 3 +++
5 files changed, 85 insertions(+)
create mode 100755 .ci/linux-build.sh
create mode 100755 .ci/linux-setup.sh
create mode 100644 .travis.yml
diff --git a/.ci/linux-build.sh b/.ci/linux-build.sh
new file mode 100755
index 0000000000..2cfaa05058
--- /dev/null
+++ b/.ci/linux-build.sh
@@ -0,0 +1,34 @@
+#!/bin/bash
+
+# check for whether we're clang or gcc
+# setup the right options depending on the environment variables
+# run the build
+
+# Just used for the 'classic' configuration system (ie: make)
+set_conf() {
+ c="$1/.config"
+ shift
+
+ if grep -q "$1" "$c"; then
+ sed -i "s:^$1=.*$:$1=$2:g" $c
+ else
+ echo $1=$2 >> "$c"
+ fi
+}
+
+
+if [ "${NINJABUILD}" == "1" ]; then
+ meson build
+ ninja -C build
+else
+ make config T=x86_64-native-linuxapp-${CC}
+ if [ "${SHARED}" == "1" ]; then
+ set_conf build CONFIG_RTE_BUILD_SHARED_LIB y
+ fi
+
+ if [ "${KERNEL}" == "1" ]; then
+ echo Unsupported kernel builds at the moment
+ fi
+
+ make all
+fi
diff --git a/.ci/linux-setup.sh b/.ci/linux-setup.sh
new file mode 100755
index 0000000000..6f9849cb94
--- /dev/null
+++ b/.ci/linux-setup.sh
@@ -0,0 +1,3 @@
+#!/bin/sh
+
+python3.5 -m pip install --upgrade meson --user
diff --git a/.travis.yml b/.travis.yml
new file mode 100644
index 0000000000..432d6c9c6c
--- /dev/null
+++ b/.travis.yml
@@ -0,0 +1,39 @@
+language: c
+compiler:
+ - gcc
+ - clang
+
+os:
+ - linux
+
+addons:
+ apt:
+ sources:
+ - deadsnakes #source for python 3.5
+ - sourceline: 'ppa:mstipicevic/ninja-build-1-7-2'
+ packages:
+ - libnuma-dev
+ - linux-headers-$(uname -r)
+ - python3.5
+ - python3-pip
+ - ninja-build
+
+before_install: ./.ci/${TRAVIS_OS_NAME}-setup.sh
+
+sudo: false
+
+env:
+ - SHARED=1
+ - KERNEL=1
+ - NINJABUILD=1
+
+matrix:
+ include:
+ - compiler: clang
+
+script: ./.ci/${TRAVIS_OS_NAME}-build.sh
+
+notifications:
+ email:
+ recipients:
+ - test-report@dpdk.org
diff --git a/MAINTAINERS b/MAINTAINERS
index 66104405e5..14a7bf1284 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -119,6 +119,12 @@ F: config/rte_config.h
F: buildtools/gen-pmdinfo-cfile.sh
F: buildtools/symlink-drivers-solibs.sh
+Public CI
+M: Aaron Conole <aconole@redhat.com>
+M: Michael Santana <msantana@redhat.com>
+F: .travis.yml
+F: .ci/
+
ABI versioning
M: Neil Horman <nhorman@tuxdriver.com>
F: lib/librte_compat/
diff --git a/doc/guides/contributing/patches.rst b/doc/guides/contributing/patches.rst
index a64bb03683..745a11a67a 100644
--- a/doc/guides/contributing/patches.rst
+++ b/doc/guides/contributing/patches.rst
@@ -32,6 +32,9 @@ The mailing list for DPDK development is `dev@dpdk.org <http://mails.dpdk.org/ar
Contributors will need to `register for the mailing list <http://mails.dpdk.org/listinfo/dev>`_ in order to submit patches.
It is also worth registering for the DPDK `Patchwork <http://patches.dpdk.org/project/dpdk/list/>`_
+If you are using the GitHub service, you can link your repository to the ``travis-ci.org`` build service. When you push
+patches to your repository, the travis service will automatically build your changes.
+
The development process requires some familiarity with the ``git`` version control system.
Refer to the `Pro Git Book <http://www.git-scm.com/book/>`_ for further information.
--
2.19.1
next reply other threads:[~2019-01-23 22:07 UTC|newest]
Thread overview: 60+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-01-23 22:07 Michael Santana [this message]
2019-01-24 9:35 ` Bruce Richardson
2019-01-24 9:41 ` Bruce Richardson
2019-01-24 18:11 ` Aaron Conole
2019-01-24 18:31 ` Bruce Richardson
2019-01-24 18:18 ` Thomas Monjalon
2019-01-24 20:02 ` Aaron Conole
2019-01-24 19:26 ` Honnappa Nagarahalli
2019-01-24 19:51 ` Michael Santana Francisco
2019-01-30 22:16 ` [dpdk-dev] [PATCH v2 0/2] Introduce travis support Michael Santana
2019-01-30 22:16 ` [dpdk-dev] [PATCH v2 1/2] examples/vhost_scsi: Don't build without virtio_scsi.h Michael Santana
2019-01-31 9:15 ` Bruce Richardson
2019-01-30 22:16 ` [dpdk-dev] [PATCH v2 2/2] ci: Introduce travis builds for github repositories Michael Santana
2019-01-31 9:25 ` Bruce Richardson
2019-01-31 16:43 ` Aaron Conole
2019-01-31 20:32 ` Bruce Richardson
2019-01-31 20:43 ` Aaron Conole
2019-02-01 16:48 ` [dpdk-dev] [PATCH v3 0/2] Introduce travis support Michael Santana
2019-02-01 16:48 ` [dpdk-dev] [PATCH v3 1/2] examples/vhost_scsi: Don't build without virtio_scsi.h Michael Santana
2019-02-01 16:48 ` [dpdk-dev] [PATCH v3 2/2] ci: Introduce travis builds for github repositories Michael Santana
2019-02-04 9:41 ` Bruce Richardson
2019-02-06 19:17 ` Honnappa Nagarahalli
2019-02-06 20:18 ` Aaron Conole
2019-02-06 22:13 ` [dpdk-dev] [PATCH v4 0/2] Introduce travis support Michael Santana
2019-02-06 22:13 ` [dpdk-dev] [PATCH v4 1/2] examples/vhost_scsi: Don't build without virtio_scsi.h Michael Santana
2019-02-06 22:13 ` [dpdk-dev] [PATCH v4 2/2] ci: Introduce travis builds for github repositories Michael Santana
2019-02-07 17:16 ` Honnappa Nagarahalli
2019-02-07 22:01 ` [dpdk-dev] [PATCH v5 0/2] Introduce travis support Michael Santana
2019-02-07 22:01 ` [dpdk-dev] [PATCH v5 1/2] examples/vhost_scsi: Don't build without virtio_scsi.h Michael Santana
2019-02-27 14:09 ` Thomas Monjalon
2019-02-07 22:01 ` [dpdk-dev] [PATCH v5 2/2] ci: Introduce travis builds for github repositories Michael Santana
2019-02-27 13:56 ` Thomas Monjalon
2019-02-27 14:35 ` Aaron Conole
2019-02-27 15:23 ` Thomas Monjalon
2019-02-27 15:53 ` Aaron Conole
2019-02-27 16:06 ` Luca Boccassi
2019-02-27 16:17 ` Aaron Conole
2019-02-14 14:30 ` [dpdk-dev] [PATCH v5 0/2] Introduce travis support Michael Santana Francisco
2019-02-25 18:40 ` Aaron Conole
2019-03-04 16:12 ` [dpdk-dev] [PATCH v6 0/1] " Michael Santana
2019-03-04 16:12 ` [dpdk-dev] [PATCH v6 1/1] ci: Introduce travis builds for github repositories Michael Santana
2019-03-04 18:14 ` Luca Boccassi
2019-03-14 13:21 ` Michael Santana Francisco
2019-03-14 13:21 ` Michael Santana Francisco
2019-03-20 16:01 ` Thomas Monjalon
2019-03-20 16:01 ` Thomas Monjalon
2019-03-20 19:28 ` Michael Santana Francisco
2019-03-20 19:28 ` Michael Santana Francisco
2019-03-20 21:11 ` Luca Boccassi
2019-03-20 21:11 ` Luca Boccassi
2019-03-21 15:45 ` Michael Santana Francisco
2019-03-21 15:45 ` Michael Santana Francisco
2019-03-22 16:56 ` [dpdk-dev] [PATCH v7] " Michael Santana
2019-03-22 16:56 ` Michael Santana
2019-03-25 15:32 ` [dpdk-dev] [PATCH v8] " Michael Santana
2019-03-25 15:32 ` Michael Santana
2019-03-25 16:10 ` Thomas Monjalon
2019-03-25 16:10 ` Thomas Monjalon
2019-03-26 21:54 ` Thomas Monjalon
2019-03-26 21:54 ` Thomas Monjalon
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20190123220714.20763-1-msantana@redhat.com \
--to=msantana@redhat.com \
--cc=aconole@redhat.com \
--cc=bruce.richardson@intel.com \
--cc=dev@dpdk.org \
--cc=ferruh.yigit@intel.com \
--cc=thomas@monjalon.net \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).