Message ID | 1475105337-18002-1-git-send-email-jgunthorpe@obsidianresearch.com (mailing list archive) |
---|---|
State | Accepted |
Headers | show |
On 9/28/16 7:28 PM, Jason Gunthorpe wrote: > Necessary to use the Travis CI service. > > Signed-off-by: Jason Gunthorpe <jgunthorpe@obsidianresearch.com> > --- > .travis.yml | 28 ++++++++++++++++++++++++++++ > 1 file changed, 28 insertions(+) > create mode 100644 .travis.yml > > Now that travis is enabled on repo, we need a yml file to make it run. > > Here is a basic one. > > I don't test with distros as old as precise and I don't expect that glibc to > be new enough to build this (eg missing timerfd, O_CLOEXEC, etc), and the > cmake certainly isn't. So we use the trusty 'beta' environment and install > gcc 6.2. > > See it in action: > > https://github.com/linux-rdma/rdma-core/pull/7 Merged, thanks.
On Thu, Sep 29, 2016 at 11:20:08AM -0400, Doug Ledford wrote: > > https://github.com/linux-rdma/rdma-core/pull/7 > > Merged, thanks. FWIW, I updated the docker stuff in my preview tree to approximate what travis does: docker/do_docker.py pkg travis Jason -- To unsubscribe from this list: send the line "unsubscribe linux-rdma" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
On Wed, Sep 28, 2016 at 05:28:57PM -0600, Jason Gunthorpe wrote: > Necessary to use the Travis CI service. > > Signed-off-by: Jason Gunthorpe <jgunthorpe@obsidianresearch.com> > --- > .travis.yml | 28 ++++++++++++++++++++++++++++ > 1 file changed, 28 insertions(+) > create mode 100644 .travis.yml > > Now that travis is enabled on repo, we need a yml file to make it run. > > Here is a basic one. > > I don't test with distros as old as precise and I don't expect that glibc to > be new enough to build this (eg missing timerfd, O_CLOEXEC, etc), and the > cmake certainly isn't. So we use the trusty 'beta' environment and install > gcc 6.2. I'm using 16.04 and it has gcc 5.4.0 as a default. Don't you think that 6.2 is too "new" for us and other distributions? ➜ linux-rdma git:(master) gcc --version gcc (Ubuntu 5.4.0-6ubuntu1~16.04.2) 5.4.0 20160609 Copyright (C) 2015 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. Thanks
On Wed, Oct 05, 2016 at 02:51:32PM +0300, Leon Romanovsky wrote: > I'm using 16.04 and it has gcc 5.4.0 as a default. Don't you think that > 6.2 is too "new" for us and other distributions? I don't understand how a compiler can be too new? The next round of rolling release distros are likely to use this compiler, and those are the distros that will first pick to up rdma-core. > gcc (Ubuntu 5.4.0-6ubuntu1~16.04.2) 5.4.0 20160609 This is exactly why the automatic builds should run the latest compiler, because people are not going to install it on their desktop. People will test with older compilers on their own. If we want to run automatic tests from travis with old compilers we can, but my results basically show that older compilers are just buggy and produce incorrect warnings. Jason -- To unsubscribe from this list: send the line "unsubscribe linux-rdma" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
On 10/05/2016 04:51 AM, Leon Romanovsky wrote: > On Wed, Sep 28, 2016 at 05:28:57PM -0600, Jason Gunthorpe wrote: >> Necessary to use the Travis CI service. >> >> Signed-off-by: Jason Gunthorpe <jgunthorpe@obsidianresearch.com> >> --- >> .travis.yml | 28 ++++++++++++++++++++++++++++ >> 1 file changed, 28 insertions(+) >> create mode 100644 .travis.yml >> >> Now that travis is enabled on repo, we need a yml file to make it run. >> >> Here is a basic one. >> >> I don't test with distros as old as precise and I don't expect that glibc to >> be new enough to build this (eg missing timerfd, O_CLOEXEC, etc), and the >> cmake certainly isn't. So we use the trusty 'beta' environment and install >> gcc 6.2. > > I'm using 16.04 and it has gcc 5.4.0 as a default. Don't you think that > 6.2 is too "new" for us and other distributions? Hi Leon, The rolling release distro that is running on my laptop includes gcc 6.2.1. Bart. -- To unsubscribe from this list: send the line "unsubscribe linux-rdma" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
On Wed, Oct 05, 2016 at 10:32:50AM -0600, Jason Gunthorpe wrote: > On Wed, Oct 05, 2016 at 02:51:32PM +0300, Leon Romanovsky wrote: > > > I'm using 16.04 and it has gcc 5.4.0 as a default. Don't you think that > > 6.2 is too "new" for us and other distributions? > > I don't understand how a compiler can be too new? The next round of > rolling release distros are likely to use this compiler, and those are > the distros that will first pick to up rdma-core. I have an issue in front of my eyes where kernel fails to build with old gcc version, while new gcc version works. I don't want the same situation here. > > > gcc (Ubuntu 5.4.0-6ubuntu1~16.04.2) 5.4.0 20160609 > > This is exactly why the automatic builds should run the latest > compiler, because people are not going to install it on their desktop. > > People will test with older compilers on their own. If we want to run > automatic tests from travis with old compilers we can, but my results > basically show that older compilers are just buggy and produce > incorrect warnings. My experience shows the same, however I want to minimize the test burden on the users. > > Jason
On Wed, Oct 05, 2016 at 09:39:42AM -0700, Bart Van Assche wrote: > On 10/05/2016 04:51 AM, Leon Romanovsky wrote: > >On Wed, Sep 28, 2016 at 05:28:57PM -0600, Jason Gunthorpe wrote: > >>Necessary to use the Travis CI service. > >> > >>Signed-off-by: Jason Gunthorpe <jgunthorpe@obsidianresearch.com> > >>--- > >> .travis.yml | 28 ++++++++++++++++++++++++++++ > >> 1 file changed, 28 insertions(+) > >> create mode 100644 .travis.yml > >> > >>Now that travis is enabled on repo, we need a yml file to make it run. > >> > >>Here is a basic one. > >> > >>I don't test with distros as old as precise and I don't expect that glibc to > >>be new enough to build this (eg missing timerfd, O_CLOEXEC, etc), and the > >>cmake certainly isn't. So we use the trusty 'beta' environment and install > >>gcc 6.2. > > > >I'm using 16.04 and it has gcc 5.4.0 as a default. Don't you think that > >6.2 is too "new" for us and other distributions? > > Hi Leon, > > The rolling release distro that is running on my laptop includes gcc 6.2.1. I'm not sure if there are many users of this bundle who are running rolling distros. Anyway, let's start from the simple (one, latest gcc) and increase complexity later on. > > Bart. > -- > To unsubscribe from this list: send the line "unsubscribe linux-rdma" in > the body of a message to majordomo@vger.kernel.org > More majordomo info at http://vger.kernel.org/majordomo-info.html
On Thu, Oct 06, 2016 at 07:53:37AM +0300, Leon Romanovsky wrote: > > I don't understand how a compiler can be too new? The next round of > > rolling release distros are likely to use this compiler, and those are > > the distros that will first pick to up rdma-core. > > I have an issue in front of my eyes where kernel fails to build with old > gcc version, while new gcc version works. Heh, last week I had the opposite.. > My experience shows the same, however I want to minimize the test burden > on the users. IMHO, it is more valuable to run a build on the full distro stack than to try and inject old compiler variations into travis. Old system libraries are just as likely to fail a build as the compiler. I don't have any way to do that automatically. IMHO Travis is not able to handle that sort of workload. Perhaps a pre-release pass through OBS or something like it is the answer here? Jason -- To unsubscribe from this list: send the line "unsubscribe linux-rdma" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
On Thu, Oct 06, 2016 at 10:10:09AM -0600, Jason Gunthorpe wrote: > On Thu, Oct 06, 2016 at 07:53:37AM +0300, Leon Romanovsky wrote: > > > > I don't understand how a compiler can be too new? The next round of > > > rolling release distros are likely to use this compiler, and those are > > > the distros that will first pick to up rdma-core. > > > > I have an issue in front of my eyes where kernel fails to build with old > > gcc version, while new gcc version works. > > Heh, last week I had the opposite.. > > > My experience shows the same, however I want to minimize the test burden > > on the users. > > IMHO, it is more valuable to run a build on the full distro stack than > to try and inject old compiler variations into travis. Old system > libraries are just as likely to fail a build as the compiler. > > I don't have any way to do that automatically. IMHO Travis is not able to > handle that sort of workload. > > Perhaps a pre-release pass through OBS or something like it is the answer here? Yeah, Let's start simple and sort it later on. > > Jason
diff --git a/.travis.yml b/.travis.yml new file mode 100644 index 000000000000..e09dd32ffa9f --- /dev/null +++ b/.travis.yml @@ -0,0 +1,28 @@ +language: c +# We need at least cmake 2.12, this means we need to use trusty. +# Precise's glibc, etc predates what we are willing to support. +# No reason for sudo. +sudo: required +dist: trusty +addons: + apt: + sources: + - ubuntu-toolchain-r-test + packages: + - build-essential + - cmake + - debhelper + - gcc + - gcc-6 + - libnl-3-dev + - libnl-route-3-dev + - make + - ninja-build + - pkg-config + - python + - valgrind +script: + - mkdir build + - cd build + - CC=gcc-6 cmake -GNinja .. + - ninja
Necessary to use the Travis CI service. Signed-off-by: Jason Gunthorpe <jgunthorpe@obsidianresearch.com> --- .travis.yml | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) create mode 100644 .travis.yml Now that travis is enabled on repo, we need a yml file to make it run. Here is a basic one. I don't test with distros as old as precise and I don't expect that glibc to be new enough to build this (eg missing timerfd, O_CLOEXEC, etc), and the cmake certainly isn't. So we use the trusty 'beta' environment and install gcc 6.2. See it in action: https://github.com/linux-rdma/rdma-core/pull/7