Message ID | 1476804254-20341-2-git-send-email-mike.holmes@linaro.org |
---|---|
State | New |
Headers | show |
On 10/18 11:24:14, Mike Holmes wrote: > allows pushes to a github clone of ODP to automatically trigger CI builds > > Signed-off-by: Mike Holmes <mike.holmes@linaro.org> Reviewed-by: Brian Brooks <brian.brooks@linaro.org> > --- > .travis.yml | 35 +++++++++++++++++++++++++++++++++++ > 1 file changed, 35 insertions(+) > create mode 100644 .travis.yml > > diff --git a/.travis.yml b/.travis.yml > new file mode 100644 > index 0000000..0675952 > --- /dev/null > +++ b/.travis.yml > @@ -0,0 +1,35 @@ > + > +language: c > +compiler: clang > +sudo: required > + > +before_install: > + - sudo apt-get -qq update > + - sudo apt-get install automake autoconf libtool libssl-dev graphviz mscgen git doxygen Would a ./scripts/install_build_deps.sh which installs development packages based on info in /etc/lsb-release be useful? > + - gem install asciidoctor > + > +# Install cunit for the validation tests because distro version is too old and fails C99 compile > + - export CUNIT_VERSION=2.1-3 > + - curl -sSOL http://sourceforge.net/projects/cunit/files/CUnit/${CUNIT_VERSION}/CUnit-${CUNIT_VERSION}.tar.bz2 > + - tar -jxf *.bz2 > + - cd CUnit* > + - ./bootstrap > + - ./configure --enable-debug --enable-automated --enable-basic --enable-console --enable-examples --enable-test > + - make > + - sudo make install > + - cd .. > + - export LD_LIBRARY_PATH="/usr/local/lib:$LD_LIBRARY_PATH" > + > +install: > + - ./bootstrap > + > +script: > + - ./configure --enable-user-guides && make > + - ./configure --enable-test-cpp && make check > + - ./configure --enable-test-vald && make check > + - ./configure --enable-test-helper && make check > + - ./configure --enable-test-perf && make check > + - ./configure --enable-test-perf-proc && make check > + - ./configure --enable-test-example && make check > + - ./configure && make doxygen-doc > + - ./configure && make distcheck Similarly, ./scripts/configure-dbg ./scripts/configure-opt ./scripts/configure-cov and so on could contain variations on the configure command to verify multiple types of builds. > -- > 2.7.4 >
On 10/18/16 18:24, Mike Holmes wrote: > allows pushes to a github clone of ODP to automatically trigger CI builds > > Signed-off-by: Mike Holmes <mike.holmes@linaro.org> > --- > .travis.yml | 35 +++++++++++++++++++++++++++++++++++ > 1 file changed, 35 insertions(+) > create mode 100644 .travis.yml > > diff --git a/.travis.yml b/.travis.yml > new file mode 100644 > index 0000000..0675952 > --- /dev/null > +++ b/.travis.yml > @@ -0,0 +1,35 @@ copyright is missing. > + > +language: c > +compiler: clang will be good to add also gcc and cross compilation. > +sudo: required > + > +before_install: > + - sudo apt-get -qq update > + - sudo apt-get install automake autoconf libtool libssl-dev graphviz mscgen git doxygen after patch 1 you don't need git in dependencies. Do you also need -f option to apt-get install? > + - gem install asciidoctor > + > +# Install cunit for the validation tests because distro version is too old and fails C99 compile > + - export CUNIT_VERSION=2.1-3 export should not be needed, just set up variable. > + - curl -sSOL http://sourceforge.net/projects/cunit/files/CUnit/${CUNIT_VERSION}/CUnit-${CUNIT_VERSION}.tar.bz2 > + - tar -jxf *.bz2 > + - cd CUnit* cd and cd - change to pushd popd. > + - ./bootstrap > + - ./configure --enable-debug --enable-automated --enable-basic --enable-console --enable-examples --enable-test > + - make > + - sudo make install > + - cd .. > + - export LD_LIBRARY_PATH="/usr/local/lib:$LD_LIBRARY_PATH" > + > +install: > + - ./bootstrap > + > +script: > + - ./configure --enable-user-guides && make > + - ./configure --enable-test-cpp && make check > + - ./configure --enable-test-vald && make check > + - ./configure --enable-test-helper && make check > + - ./configure --enable-test-perf && make check > + - ./configure --enable-test-perf-proc && make check > + - ./configure --enable-test-example && make check why not combine options together in one line? > + - ./configure && make doxygen-doc no need to configure for generation docs. configure takes a lot of lines and it's better to have something readable in the longs. > + - ./configure && make distcheck Does this script does clean up? If not it will be better to do in script: git clean -f -d -x; ./bootstrap; ./configure && make distcheck
On 18 October 2016 at 11:52, Maxim Uvarov <maxim.uvarov@linaro.org> wrote: > On 10/18/16 18:24, Mike Holmes wrote: >> >> allows pushes to a github clone of ODP to automatically trigger CI builds >> >> Signed-off-by: Mike Holmes <mike.holmes@linaro.org> >> --- >> .travis.yml | 35 +++++++++++++++++++++++++++++++++++ >> 1 file changed, 35 insertions(+) >> create mode 100644 .travis.yml >> >> diff --git a/.travis.yml b/.travis.yml >> new file mode 100644 >> index 0000000..0675952 >> --- /dev/null >> +++ b/.travis.yml >> @@ -0,0 +1,35 @@ > > copyright is missing. I can add that, thanks > >> + >> +language: c >> +compiler: clang > > > will be good to add also gcc and cross compilation. It fails as it is an old version of GCC on that platform, I wan to keep this as minimal as possible, full CI is not my intent >> >> +sudo: required >> + >> +before_install: >> + - sudo apt-get -qq update >> + - sudo apt-get install automake autoconf libtool libssl-dev >> graphviz mscgen git doxygen > > > after patch 1 you don't need git in dependencies. Do you also need -f option > to apt-get install? I can remove git, but I have not needed -f >> >> + - gem install asciidoctor >> + >> +# Install cunit for the validation tests because distro version is >> too old and fails C99 compile >> + - export CUNIT_VERSION=2.1-3 > > export should not be needed, just set up variable. This is exactly how we state to do it in Dependencies in our repo so I wont change it now. Some could change both in another patch. > >> + - curl -sSOL >> http://sourceforge.net/projects/cunit/files/CUnit/${CUNIT_VERSION}/CUnit-${CUNIT_VERSION}.tar.bz2 >> + - tar -jxf *.bz2 >> + - cd CUnit* > > cd and cd - change to pushd popd. > >> + - ./bootstrap >> + - ./configure --enable-debug --enable-automated --enable-basic >> --enable-console --enable-examples --enable-test >> + - make >> + - sudo make install >> + - cd .. >> + - export LD_LIBRARY_PATH="/usr/local/lib:$LD_LIBRARY_PATH" >> + >> +install: >> + - ./bootstrap >> + >> +script: >> + - ./configure --enable-user-guides && make >> + - ./configure --enable-test-cpp && make check >> + - ./configure --enable-test-vald && make check >> + - ./configure --enable-test-helper && make check >> + - ./configure --enable-test-perf && make check >> + - ./configure --enable-test-perf-proc && make check >> + - ./configure --enable-test-example && make check > > why not combine options together in one line? So that you know where the issue is, I found it very handy to split them out. Not adverse to merging some of them BUT then the perf tests for example which often fail will mean you have to look at the whole log to know where the issue was, rather than just look at say the examples to say what happened. > >> + - ./configure && make doxygen-doc > > no need to configure for generation docs. configure takes a lot of lines > and it's better to have something readable in the longs. I like that this will ensure that changes to the config that has occurred previously will not affect it. It costs so little, but I can remove it > >> + - ./configure && make distcheck > > Does this script does clean up? If not it will be better to do in script: > git clean -f -d -x; ./bootstrap; ./configure && make distcheck It does only what autotools expects it to, I dont want to add any more than that, if we go that add scripting route maybe we start to call check-odp, but really this is all about doing only what autotools expect. This is really ALL about making it possible to have coverity static analysis run, this is not intended to be as thorough as check-odp > > -- Mike Holmes Program Manager - Linaro Networking Group Linaro.org │ Open source software for ARM SoCs "Work should be fun and collaborative, the rest follows"
btw, can you also add call for: ./scripts/build-pktio-dpdk to compile dpdk pktio? And I think something similar for netmap. Maxim. On 10/18/16 19:06, Mike Holmes wrote: > On 18 October 2016 at 11:52, Maxim Uvarov <maxim.uvarov@linaro.org> wrote: >> On 10/18/16 18:24, Mike Holmes wrote: >>> allows pushes to a github clone of ODP to automatically trigger CI builds >>> >>> Signed-off-by: Mike Holmes <mike.holmes@linaro.org> >>> --- >>> .travis.yml | 35 +++++++++++++++++++++++++++++++++++ >>> 1 file changed, 35 insertions(+) >>> create mode 100644 .travis.yml >>> >>> diff --git a/.travis.yml b/.travis.yml >>> new file mode 100644 >>> index 0000000..0675952 >>> --- /dev/null >>> +++ b/.travis.yml >>> @@ -0,0 +1,35 @@ >> copyright is missing. > I can add that, thanks > >>> + >>> +language: c >>> +compiler: clang >> >> will be good to add also gcc and cross compilation. > It fails as it is an old version of GCC on that platform, I wan to > keep this as minimal as possible, full CI is not my intent > >>> +sudo: required >>> + >>> +before_install: >>> + - sudo apt-get -qq update >>> + - sudo apt-get install automake autoconf libtool libssl-dev >>> graphviz mscgen git doxygen >> >> after patch 1 you don't need git in dependencies. Do you also need -f option >> to apt-get install? > I can remove git, but I have not needed -f > >>> + - gem install asciidoctor >>> + >>> +# Install cunit for the validation tests because distro version is >>> too old and fails C99 compile >>> + - export CUNIT_VERSION=2.1-3 >> export should not be needed, just set up variable. > This is exactly how we state to do it in Dependencies in our repo so I > wont change it now. Some could change both in another patch. > >>> + - curl -sSOL >>> http://sourceforge.net/projects/cunit/files/CUnit/${CUNIT_VERSION}/CUnit-${CUNIT_VERSION}.tar.bz2 >>> + - tar -jxf *.bz2 >>> + - cd CUnit* >> cd and cd - change to pushd popd. >> >>> + - ./bootstrap >>> + - ./configure --enable-debug --enable-automated --enable-basic >>> --enable-console --enable-examples --enable-test >>> + - make >>> + - sudo make install >>> + - cd .. >>> + - export LD_LIBRARY_PATH="/usr/local/lib:$LD_LIBRARY_PATH" >>> + >>> +install: >>> + - ./bootstrap >>> + >>> +script: >>> + - ./configure --enable-user-guides && make >>> + - ./configure --enable-test-cpp && make check >>> + - ./configure --enable-test-vald && make check >>> + - ./configure --enable-test-helper && make check >>> + - ./configure --enable-test-perf && make check >>> + - ./configure --enable-test-perf-proc && make check >>> + - ./configure --enable-test-example && make check >> why not combine options together in one line? > So that you know where the issue is, I found it very handy to split them out. > Not adverse to merging some of them BUT then the perf tests for > example which often fail will mean you have to look at the whole log > to know where the issue was, rather than just look at say the examples > to say what happened. > >>> + - ./configure && make doxygen-doc >> no need to configure for generation docs. configure takes a lot of lines >> and it's better to have something readable in the longs. > I like that this will ensure that changes to the config that has > occurred previously will not affect it. > It costs so little, but I can remove it > >>> + - ./configure && make distcheck >> Does this script does clean up? If not it will be better to do in script: >> git clean -f -d -x; ./bootstrap; ./configure && make distcheck > It does only what autotools expects it to, I dont want to add any more > than that, if we go that add scripting route maybe we start to call > check-odp, but really this is all about doing only what autotools > expect. > This is really ALL about making it possible to have coverity static > analysis run, this is not intended to be as thorough as check-odp > > >> > >
On 18 October 2016 at 15:36, Maxim Uvarov <maxim.uvarov@linaro.org> wrote: > btw, > > can you also add call for: > ./scripts/build-pktio-dpdk > > to compile dpdk pktio? > > And I think something similar for netmap. Not now, this is purely to get to the goal of simple validation of ODP using what auto make provides with the real goal of it supporting coverity static analysis. I dont want any external scripting or complexity, for that we already have check-odp, the only thing check-odp can't do for us is run static analysis on arbitrary personal repos. Having said that, who knows what the future brings, but right now the goal is support coverity so that we don't check in things it will then reject. Mike > > Maxim. > > > On 10/18/16 19:06, Mike Holmes wrote: >> >> On 18 October 2016 at 11:52, Maxim Uvarov <maxim.uvarov@linaro.org> wrote: >>> >>> On 10/18/16 18:24, Mike Holmes wrote: >>>> >>>> allows pushes to a github clone of ODP to automatically trigger CI >>>> builds >>>> >>>> Signed-off-by: Mike Holmes <mike.holmes@linaro.org> >>>> --- >>>> .travis.yml | 35 +++++++++++++++++++++++++++++++++++ >>>> 1 file changed, 35 insertions(+) >>>> create mode 100644 .travis.yml >>>> >>>> diff --git a/.travis.yml b/.travis.yml >>>> new file mode 100644 >>>> index 0000000..0675952 >>>> --- /dev/null >>>> +++ b/.travis.yml >>>> @@ -0,0 +1,35 @@ >>> >>> copyright is missing. >> >> I can add that, thanks >> >>>> + >>>> +language: c >>>> +compiler: clang >>> >>> >>> will be good to add also gcc and cross compilation. >> >> It fails as it is an old version of GCC on that platform, I wan to >> keep this as minimal as possible, full CI is not my intent >> >>>> +sudo: required >>>> + >>>> +before_install: >>>> + - sudo apt-get -qq update >>>> + - sudo apt-get install automake autoconf libtool libssl-dev >>>> graphviz mscgen git doxygen >>> >>> >>> after patch 1 you don't need git in dependencies. Do you also need -f >>> option >>> to apt-get install? >> >> I can remove git, but I have not needed -f >> >>>> + - gem install asciidoctor >>>> + >>>> +# Install cunit for the validation tests because distro version >>>> is >>>> too old and fails C99 compile >>>> + - export CUNIT_VERSION=2.1-3 >>> >>> export should not be needed, just set up variable. >> >> This is exactly how we state to do it in Dependencies in our repo so I >> wont change it now. Some could change both in another patch. >> >>>> + - curl -sSOL >>>> >>>> http://sourceforge.net/projects/cunit/files/CUnit/${CUNIT_VERSION}/CUnit-${CUNIT_VERSION}.tar.bz2 >>>> + - tar -jxf *.bz2 >>>> + - cd CUnit* >>> >>> cd and cd - change to pushd popd. >>> >>>> + - ./bootstrap >>>> + - ./configure --enable-debug --enable-automated --enable-basic >>>> --enable-console --enable-examples --enable-test >>>> + - make >>>> + - sudo make install >>>> + - cd .. >>>> + - export LD_LIBRARY_PATH="/usr/local/lib:$LD_LIBRARY_PATH" >>>> + >>>> +install: >>>> + - ./bootstrap >>>> + >>>> +script: >>>> + - ./configure --enable-user-guides && make >>>> + - ./configure --enable-test-cpp && make check >>>> + - ./configure --enable-test-vald && make check >>>> + - ./configure --enable-test-helper && make check >>>> + - ./configure --enable-test-perf && make check >>>> + - ./configure --enable-test-perf-proc && make check >>>> + - ./configure --enable-test-example && make check >>> >>> why not combine options together in one line? >> >> So that you know where the issue is, I found it very handy to split them >> out. >> Not adverse to merging some of them BUT then the perf tests for >> example which often fail will mean you have to look at the whole log >> to know where the issue was, rather than just look at say the examples >> to say what happened. >> >>>> + - ./configure && make doxygen-doc >>> >>> no need to configure for generation docs. configure takes a lot of lines >>> and it's better to have something readable in the longs. >> >> I like that this will ensure that changes to the config that has >> occurred previously will not affect it. >> It costs so little, but I can remove it >> >>>> + - ./configure && make distcheck >>> >>> Does this script does clean up? If not it will be better to do in script: >>> git clean -f -d -x; ./bootstrap; ./configure && make distcheck >> >> It does only what autotools expects it to, I dont want to add any more >> than that, if we go that add scripting route maybe we start to call >> check-odp, but really this is all about doing only what autotools >> expect. >> This is really ALL about making it possible to have coverity static >> analysis run, this is not intended to be as thorough as check-odp >> >> >>> >> >> > -- Mike Holmes Program Manager - Linaro Networking Group Linaro.org │ Open source software for ARM SoCs "Work should be fun and collaborative, the rest follows"
On 12 October 2016 at 20:21, Brian Brooks <brian.brooks@linaro.org> wrote: > On 10/18 11:24:14, Mike Holmes wrote: >> allows pushes to a github clone of ODP to automatically trigger CI builds >> >> Signed-off-by: Mike Holmes <mike.holmes@linaro.org> > > Reviewed-by: Brian Brooks <brian.brooks@linaro.org> > >> --- >> .travis.yml | 35 +++++++++++++++++++++++++++++++++++ >> 1 file changed, 35 insertions(+) >> create mode 100644 .travis.yml >> >> diff --git a/.travis.yml b/.travis.yml >> new file mode 100644 >> index 0000000..0675952 >> --- /dev/null >> +++ b/.travis.yml >> @@ -0,0 +1,35 @@ >> + >> +language: c >> +compiler: clang >> +sudo: required >> + >> +before_install: >> + - sudo apt-get -qq update >> + - sudo apt-get install automake autoconf libtool libssl-dev graphviz mscgen git doxygen > > Would a ./scripts/install_build_deps.sh which installs development packages > based on info in /etc/lsb-release be useful? I had missed this comment sorry Brian, yes perhaps that is easier > >> + - gem install asciidoctor >> + >> +# Install cunit for the validation tests because distro version is too old and fails C99 compile >> + - export CUNIT_VERSION=2.1-3 >> + - curl -sSOL http://sourceforge.net/projects/cunit/files/CUnit/${CUNIT_VERSION}/CUnit-${CUNIT_VERSION}.tar.bz2 >> + - tar -jxf *.bz2 >> + - cd CUnit* >> + - ./bootstrap >> + - ./configure --enable-debug --enable-automated --enable-basic --enable-console --enable-examples --enable-test >> + - make >> + - sudo make install >> + - cd .. >> + - export LD_LIBRARY_PATH="/usr/local/lib:$LD_LIBRARY_PATH" >> + >> +install: >> + - ./bootstrap >> + >> +script: >> + - ./configure --enable-user-guides && make >> + - ./configure --enable-test-cpp && make check >> + - ./configure --enable-test-vald && make check >> + - ./configure --enable-test-helper && make check >> + - ./configure --enable-test-perf && make check >> + - ./configure --enable-test-perf-proc && make check >> + - ./configure --enable-test-example && make check >> + - ./configure && make doxygen-doc >> + - ./configure && make distcheck > > Similarly, ./scripts/configure-dbg ./scripts/configure-opt > ./scripts/configure-cov and so on could contain variations on the configure > command to verify multiple types of builds. Yes, I think that would help > >> -- >> 2.7.4 >> -- Mike Holmes Program Manager - Linaro Networking Group Linaro.org │ Open source software for ARM SoCs "Work should be fun and collaborative, the rest follows"
diff --git a/.travis.yml b/.travis.yml new file mode 100644 index 0000000..0675952 --- /dev/null +++ b/.travis.yml @@ -0,0 +1,35 @@ + +language: c +compiler: clang +sudo: required + +before_install: + - sudo apt-get -qq update + - sudo apt-get install automake autoconf libtool libssl-dev graphviz mscgen git doxygen + - gem install asciidoctor + +# Install cunit for the validation tests because distro version is too old and fails C99 compile + - export CUNIT_VERSION=2.1-3 + - curl -sSOL http://sourceforge.net/projects/cunit/files/CUnit/${CUNIT_VERSION}/CUnit-${CUNIT_VERSION}.tar.bz2 + - tar -jxf *.bz2 + - cd CUnit* + - ./bootstrap + - ./configure --enable-debug --enable-automated --enable-basic --enable-console --enable-examples --enable-test + - make + - sudo make install + - cd .. + - export LD_LIBRARY_PATH="/usr/local/lib:$LD_LIBRARY_PATH" + +install: + - ./bootstrap + +script: + - ./configure --enable-user-guides && make + - ./configure --enable-test-cpp && make check + - ./configure --enable-test-vald && make check + - ./configure --enable-test-helper && make check + - ./configure --enable-test-perf && make check + - ./configure --enable-test-perf-proc && make check + - ./configure --enable-test-example && make check + - ./configure && make doxygen-doc + - ./configure && make distcheck
allows pushes to a github clone of ODP to automatically trigger CI builds Signed-off-by: Mike Holmes <mike.holmes@linaro.org> --- .travis.yml | 35 +++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) create mode 100644 .travis.yml -- 2.7.4