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