[Gluster-devel] Automatically building RPMs upon patch submission?
Niels de Vos
ndevos at redhat.com
Mon May 5 14:36:05 UTC 2014
On Mon, May 05, 2014 at 07:13:14PM +0530, Lalatendu Mohanty wrote:
> On 05/02/2014 04:07 PM, Niels de Vos wrote:
> >Hi all,
> >
> >at the moment we have some duplicate RPM-building tests running:
> >
> >1. upon patch submission, next to smoke (compile+posix) tests
> >2. rpm.t in the regression tests framework
> >
> >Both have their own advantages, and both cover a little different
> >use-case.
> >
> >Notes and observations for 1:
> >
> > The advantage of (1) is that the built rpm-packages are made available
> > for downloading, and users can test the change easier.
> >
> > It is unclear to me how often this is used, many patches need several
> > revisions before they get accepted, each new revision gets new
> > packages build (takes time for each patch submission). I do not know
> > how long these packages are kept, or when they are deleted.
> >
> > Building is done for EPEL-6 and Fedora (exact version unclear to me).
> >
> >
> >Notes and observations for 2:
> >
> > Building is only done when there are changes related to the packaging.
> > When there are only changes in source code or documentation, there is
> > no need to try and build the rpms (saves ca. 5 minutes).
> >
> > The packages are build for EPEL-5 and EPEL-6 only. The resulting
> > packages are deleted automatically and can not be downloaded.
> >
> > When writing rpm.t, we decided that building for Fedora was a little
> > dangerous, there are the occasional incompatible changes introduced.
> > We also don't want to bother every developer too much with the
> > packaging.
> >
> >
> >Suggestion for improving the current duplicate package building:
> >
> > Building packages takes a lot of resources. It does not seem efficient
> > to me to build packages for two EPEL-6 and Fedora for each patch
> > submission. This takes additional time for a check (smoke.sh) that is
> > tried to keep quick. I also doubt that many of the generated packages
> > are actually used by anyone. Most developers (hopefully) test their
> > changes before submitting the patch(es) to Gerrit.
> >
> > There is a definite need to verify that the packaging still works, it
> > helps to catch packaging errors as early as possible. Testing each
> > patch submission might be overkill. Creating packages as part of the
> > regression tests (and make them available) might be too late,
> > regression testing tends to take quite long.
> >
> > From my understanding, the only users that are interested in these
> > very early packages, are the QA folks. We definitely want them to test
> > whatever the developers change, so we should accommodate them as much
> > as possible.
> >
> > After some discussion, Pranith tossed the idea about building packages
> > when at lease some review of the change has been done. I think this is
> > a great idea! So, I'd like to propose building packages when at least
> > one +1 has been given on a change. Alternatively, it should be
> > possible for the QA people to submit a Jenkins job that builds the
> > packages earlier already. This can then replace both current building
> > jobs.
> >
> >
> >Ideas and further discussions are very much welcome, thanks,
> >Niels
> >
> >Related: http://review.gluster.org/7610
>
> I am not sure if we have a Jenkins job to create RPM for a
> particular change-id. if not, we should have one. Should we also
> plan for "deb" (Debian packages) too? As we have quite a few users
> using Debian/Ubuntu distribution.
Yes, .deb would be a next step, probably followed by NetBSD and OSX.
Any objections if the current devrpms jobs (upon patch submission) will
be removed, and inserted at a +1 Code-Review or +1 Verified? Any
volunteers that know Jenkins and its Gerrit integration well enough to
make this happen?
I have no idea how to create Jenkins jobs that can create RPMs, probably
Luis can help with that.
Thanks,
Niels
More information about the Gluster-devel
mailing list