[Gluster-devel] Automatically building RPMs upon patch submission?
James
purpleidea at gmail.com
Mon May 5 01:59:27 UTC 2014
On Fri, May 2, 2014 at 6:37 AM, Niels de Vos <ndevos at redhat.com> 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
Sounds like a brilliant idea. If RPM's were available for each commit,
it would be much, much easier to install/test/bisect each patch on a
full cluster using puppet-gluster+vagrant.
It would require patching to know where to find the RPM's, but that is
easy to do in:
https://github.com/purpleidea/puppet-gluster/blob/master/manifests/repo.pp#L18
Let me know if this happens and what the directory format looks like.
Cheers,
James
PS: I would only bother generating these for CentOS/RHEL6... I think
this is the most used, and makes most sense to test on. Fewer changes
in the base platform will make finding bugs in GlusterFS easier too.
>
> Related: http://review.gluster.org/7610
> _______________________________________________
> Gluster-devel mailing list
> Gluster-devel at gluster.org
> http://supercolony.gluster.org/mailman/listinfo/gluster-devel
More information about the Gluster-devel
mailing list