That's a good suggestion. I will look into it.

~Michael Santana

On Thu, Jan 24, 2019 at 2:27 PM Honnappa Nagarahalli <
honnappa.nagaraha...@arm.com> wrote:

> >
> > 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 <acon...@redhat.com>
> > Signed-off-by: Michael Santana <msant...@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}
> Adding Arm builds would be helpful.
>
> > +    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-rep...@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 <acon...@redhat.com>
> > +M: Michael Santana <msant...@redhat.com>
> > +F: .travis.yml
> > +F: .ci/
> > +
> >  ABI versioning
> >  M: Neil Horman <nhor...@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
>
>

Reply via email to