patches for DPDK stable branches
 help / color / mirror / Atom feed
* [dpdk-stable] [PATCH 18.11 0/3] Travis for 18.11 stable branch
@ 2019-05-10 12:43 Kevin Traynor
  2019-05-10 12:43 ` [dpdk-stable] [PATCH 18.11 1/3] ci: introduce Travis builds for GitHub repositories Kevin Traynor
                   ` (3 more replies)
  0 siblings, 4 replies; 6+ messages in thread
From: Kevin Traynor @ 2019-05-10 12:43 UTC (permalink / raw)
  To: stable; +Cc: aconole, msantana, Kevin Traynor

Travis is convenient way of build testing. Backport Travis
integration to 18.11 branch.

One later path fix on master (76f8486e16) dropped as n/a for 18.11.

Aaron Conole (2):
  ci: enable ccache in Travis
  ci: add a distinguisher to the extra Travis builds

Michael Santana (1):
  ci: introduce Travis builds for GitHub repositories

 .ci/linux-build.sh                  | 24 +++++++
 .ci/linux-setup.sh                  |  3 +
 .travis.yml                         | 98 +++++++++++++++++++++++++++++
 MAINTAINERS                         |  6 ++
 doc/guides/contributing/patches.rst |  4 ++
 5 files changed, 135 insertions(+)
 create mode 100755 .ci/linux-build.sh
 create mode 100755 .ci/linux-setup.sh
 create mode 100644 .travis.yml

-- 
2.20.1


^ permalink raw reply	[flat|nested] 6+ messages in thread

* [dpdk-stable] [PATCH 18.11 1/3] ci: introduce Travis builds for GitHub repositories
  2019-05-10 12:43 [dpdk-stable] [PATCH 18.11 0/3] Travis for 18.11 stable branch Kevin Traynor
@ 2019-05-10 12:43 ` Kevin Traynor
  2019-05-10 12:43 ` [dpdk-stable] [PATCH 18.11 2/3] ci: enable ccache in Travis Kevin Traynor
                   ` (2 subsequent siblings)
  3 siblings, 0 replies; 6+ messages in thread
From: Kevin Traynor @ 2019-05-10 12:43 UTC (permalink / raw)
  To: stable
  Cc: aconole, msantana, Bruce Richardson, Luca Boccassi,
	Honnappa Nagarahalli, Thomas Monjalon

From: Michael Santana <msantana@redhat.com>

[ upstream commit 99889bd85228bdf6fa28e160308444d82dca68cd ]

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>
---
 .ci/linux-build.sh                  | 24 +++++++
 .ci/linux-setup.sh                  |  3 +
 .travis.yml                         | 99 +++++++++++++++++++++++++++++
 MAINTAINERS                         |  6 ++
 doc/guides/contributing/patches.rst |  4 ++
 5 files changed, 136 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 000000000..4eb7c3cf0
--- /dev/null
+++ b/.ci/linux-build.sh
@@ -0,0 +1,24 @@
+#!/bin/sh -xe
+
+on_error() {
+    if [ $? = 0 ]; then
+        exit
+    fi
+    FILES_TO_PRINT="build/meson-logs/testlog.txt build/.ninja_log build/meson-logs/meson-log.txt"
+
+    for pr_file in $FILES_TO_PRINT; do
+        if [ -e "$pr_file" ]; then
+            cat "$pr_file"
+        fi
+    done
+}
+trap on_error EXIT
+
+if [ "$AARCH64" = "1" ]; then
+    # convert the arch specifier
+    OPTS="$OPTS --cross-file config/arm/arm64_armv8_linuxapp_gcc"
+fi
+
+OPTS="$OPTS --default-library=$DEF_LIB"
+meson build --werror -Dexamples=all $OPTS
+ninja -C build
diff --git a/.ci/linux-setup.sh b/.ci/linux-setup.sh
new file mode 100755
index 000000000..acdf9f370
--- /dev/null
+++ b/.ci/linux-setup.sh
@@ -0,0 +1,3 @@
+#!/bin/sh
+
+python3 -m pip install --upgrade meson --user
diff --git a/.travis.yml b/.travis.yml
new file mode 100644
index 000000000..3045eada5
--- /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
diff --git a/MAINTAINERS b/MAINTAINERS
index af291f439..d0ba42ee6 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -121,4 +121,10 @@ 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>
diff --git a/doc/guides/contributing/patches.rst b/doc/guides/contributing/patches.rst
index 427137dc7..1bd91b7e7 100644
--- a/doc/guides/contributing/patches.rst
+++ b/doc/guides/contributing/patches.rst
@@ -33,4 +33,8 @@ Contributors will need to `register for the mailing list <http://mails.dpdk.org/
 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 GitHub
+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.20.1


^ permalink raw reply	[flat|nested] 6+ messages in thread

* [dpdk-stable] [PATCH 18.11 2/3] ci: enable ccache in Travis
  2019-05-10 12:43 [dpdk-stable] [PATCH 18.11 0/3] Travis for 18.11 stable branch Kevin Traynor
  2019-05-10 12:43 ` [dpdk-stable] [PATCH 18.11 1/3] ci: introduce Travis builds for GitHub repositories Kevin Traynor
@ 2019-05-10 12:43 ` Kevin Traynor
  2019-05-10 12:43 ` [dpdk-stable] [PATCH 18.11 3/3] ci: add a distinguisher to the extra Travis builds Kevin Traynor
  2019-05-10 14:10 ` [dpdk-stable] [PATCH 18.11 0/3] Travis for 18.11 stable branch Aaron Conole
  3 siblings, 0 replies; 6+ messages in thread
From: Kevin Traynor @ 2019-05-10 12:43 UTC (permalink / raw)
  To: stable; +Cc: aconole, msantana, Luca Boccassi, David Marchand

From: Aaron Conole <aconole@redhat.com>

[ upstream commit 5afc16b82529433af79233a7083cd93289fe1530 ]

We try to make the planet happy travis builds dpdk.

Also, the 'sudo' flag was recently deprecated.  Drop it.

Suggested-by: Luca Boccassi <bluca@debian.org>
Signed-off-by: Aaron Conole <aconole@redhat.com>
Reviewed-by: David Marchand <david.marchand@redhat.com>
Acked-by: Luca Boccassi <bluca@debian.org>
---
 .travis.yml | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/.travis.yml b/.travis.yml
index 3045eada5..72f8671b1 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -1,3 +1,4 @@
 language: c
+cache: ccache
 compiler:
   - gcc
@@ -25,6 +26,4 @@ extra_packages: &extra_packages
 before_install: ./.ci/${TRAVIS_OS_NAME}-setup.sh
 
-sudo: false
-
 env:
   - DEF_LIB="static"
-- 
2.20.1


^ permalink raw reply	[flat|nested] 6+ messages in thread

* [dpdk-stable] [PATCH 18.11 3/3] ci: add a distinguisher to the extra Travis builds
  2019-05-10 12:43 [dpdk-stable] [PATCH 18.11 0/3] Travis for 18.11 stable branch Kevin Traynor
  2019-05-10 12:43 ` [dpdk-stable] [PATCH 18.11 1/3] ci: introduce Travis builds for GitHub repositories Kevin Traynor
  2019-05-10 12:43 ` [dpdk-stable] [PATCH 18.11 2/3] ci: enable ccache in Travis Kevin Traynor
@ 2019-05-10 12:43 ` Kevin Traynor
  2019-05-10 14:10 ` [dpdk-stable] [PATCH 18.11 0/3] Travis for 18.11 stable branch Aaron Conole
  3 siblings, 0 replies; 6+ messages in thread
From: Kevin Traynor @ 2019-05-10 12:43 UTC (permalink / raw)
  To: stable; +Cc: aconole, msantana, David Marchand, Luca Boccassi

From: Aaron Conole <aconole@redhat.com>

[ upstream commit 98e6329c800a198790fecaad7fe411ed7fafde27 ]

This helps in two ways:
  1. When looking at travis page for dpdk, it's a visual distinction

  2. For ccache support, the build IDs include the 'env', so we get unique
     cache data.

Signed-off-by: Aaron Conole <aconole@redhat.com>
Reviewed-by: David Marchand <david.marchand@redhat.com>
Acked-by: Luca Boccassi <bluca@debian.org>
---
 .travis.yml | 16 ++++++++--------
 1 file changed, 8 insertions(+), 8 deletions(-)

diff --git a/.travis.yml b/.travis.yml
index 72f8671b1..7b167fa64 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -46,5 +46,5 @@ matrix:
         packages:
           - *aarch64_packages
-  - env: DEF_LIB="static"
+  - env: DEF_LIB="static" EXTRA_PACKAGES=1
     compiler: gcc
     addons:
@@ -52,5 +52,5 @@ matrix:
         packages:
           - *extra_packages
-  - env: DEF_LIB="shared"
+  - env: DEF_LIB="shared" EXTRA_PACKAGES=1
     compiler: gcc
     addons:
@@ -58,5 +58,5 @@ matrix:
         packages:
           - *extra_packages
-  - env: DEF_LIB="static" OPTS="-Denable_kmods=false"
+  - env: DEF_LIB="static" OPTS="-Denable_kmods=false" EXTRA_PACKAGES=1
     compiler: gcc
     addons:
@@ -64,5 +64,5 @@ matrix:
         packages:
           - *extra_packages
-  - env: DEF_LIB="shared" OPTS="-Denable_kmods=false"
+  - env: DEF_LIB="shared" OPTS="-Denable_kmods=false" EXTRA_PACKAGES=1
     compiler: gcc
     addons:
@@ -70,5 +70,5 @@ matrix:
         packages:
           - *extra_packages
-  - env: DEF_LIB="static"
+  - env: DEF_LIB="static" EXTRA_PACKAGES=1
     compiler: clang
     addons:
@@ -76,5 +76,5 @@ matrix:
         packages:
           - *extra_packages
-  - env: DEF_LIB="shared"
+  - env: DEF_LIB="shared" EXTRA_PACKAGES=1
     compiler: clang
     addons:
@@ -82,5 +82,5 @@ matrix:
         packages:
           - *extra_packages
-  - env: DEF_LIB="static" OPTS="-Denable_kmods=false"
+  - env: DEF_LIB="static" OPTS="-Denable_kmods=false" EXTRA_PACKAGES=1
     compiler: clang
     addons:
@@ -88,5 +88,5 @@ matrix:
         packages:
           - *extra_packages
-  - env: DEF_LIB="shared" OPTS="-Denable_kmods=false"
+  - env: DEF_LIB="shared" OPTS="-Denable_kmods=false" EXTRA_PACKAGES=1
     compiler: clang
     addons:
-- 
2.20.1


^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [dpdk-stable] [PATCH 18.11 0/3] Travis for 18.11 stable branch
  2019-05-10 12:43 [dpdk-stable] [PATCH 18.11 0/3] Travis for 18.11 stable branch Kevin Traynor
                   ` (2 preceding siblings ...)
  2019-05-10 12:43 ` [dpdk-stable] [PATCH 18.11 3/3] ci: add a distinguisher to the extra Travis builds Kevin Traynor
@ 2019-05-10 14:10 ` Aaron Conole
  2019-05-14 12:57   ` Kevin Traynor
  3 siblings, 1 reply; 6+ messages in thread
From: Aaron Conole @ 2019-05-10 14:10 UTC (permalink / raw)
  To: Kevin Traynor; +Cc: stable, msantana

Kevin Traynor <ktraynor@redhat.com> writes:

> Travis is convenient way of build testing. Backport Travis
> integration to 18.11 branch.
>
> One later path fix on master (76f8486e16) dropped as n/a for 18.11.
>
> Aaron Conole (2):
>   ci: enable ccache in Travis
>   ci: add a distinguisher to the extra Travis builds
>
> Michael Santana (1):
>   ci: introduce Travis builds for GitHub repositories
>
>  .ci/linux-build.sh                  | 24 +++++++
>  .ci/linux-setup.sh                  |  3 +
>  .travis.yml                         | 98 +++++++++++++++++++++++++++++
>  MAINTAINERS                         |  6 ++
>  doc/guides/contributing/patches.rst |  4 ++
>  5 files changed, 135 insertions(+)
>  create mode 100755 .ci/linux-build.sh
>  create mode 100755 .ci/linux-setup.sh
>  create mode 100644 .travis.yml

For the series:

Acked-by: Aaron Conole <aconole@redhat.com>

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [dpdk-stable] [PATCH 18.11 0/3] Travis for 18.11 stable branch
  2019-05-10 14:10 ` [dpdk-stable] [PATCH 18.11 0/3] Travis for 18.11 stable branch Aaron Conole
@ 2019-05-14 12:57   ` Kevin Traynor
  0 siblings, 0 replies; 6+ messages in thread
From: Kevin Traynor @ 2019-05-14 12:57 UTC (permalink / raw)
  To: Aaron Conole; +Cc: stable, msantana

On 10/05/2019 15:10, Aaron Conole wrote:
> Kevin Traynor <ktraynor@redhat.com> writes:
> 
>> Travis is convenient way of build testing. Backport Travis
>> integration to 18.11 branch.
>>
>> One later path fix on master (76f8486e16) dropped as n/a for 18.11.
>>
>> Aaron Conole (2):
>>   ci: enable ccache in Travis
>>   ci: add a distinguisher to the extra Travis builds
>>
>> Michael Santana (1):
>>   ci: introduce Travis builds for GitHub repositories
>>
>>  .ci/linux-build.sh                  | 24 +++++++
>>  .ci/linux-setup.sh                  |  3 +
>>  .travis.yml                         | 98 +++++++++++++++++++++++++++++
>>  MAINTAINERS                         |  6 ++
>>  doc/guides/contributing/patches.rst |  4 ++
>>  5 files changed, 135 insertions(+)
>>  create mode 100755 .ci/linux-build.sh
>>  create mode 100755 .ci/linux-setup.sh
>>  create mode 100644 .travis.yml
> 
> For the series:
> 
> Acked-by: Aaron Conole <aconole@redhat.com>
> 

Thanks Aaron and Micheal, pushed to dpdk-stable:18.11

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2019-05-14 12:57 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-05-10 12:43 [dpdk-stable] [PATCH 18.11 0/3] Travis for 18.11 stable branch Kevin Traynor
2019-05-10 12:43 ` [dpdk-stable] [PATCH 18.11 1/3] ci: introduce Travis builds for GitHub repositories Kevin Traynor
2019-05-10 12:43 ` [dpdk-stable] [PATCH 18.11 2/3] ci: enable ccache in Travis Kevin Traynor
2019-05-10 12:43 ` [dpdk-stable] [PATCH 18.11 3/3] ci: add a distinguisher to the extra Travis builds Kevin Traynor
2019-05-10 14:10 ` [dpdk-stable] [PATCH 18.11 0/3] Travis for 18.11 stable branch Aaron Conole
2019-05-14 12:57   ` Kevin Traynor

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).