[Gluster-devel] Automatically building RPMs upon patch submission?
Niels de Vos
ndevos at redhat.com
Fri May 2 10:37:19 UTC 2014
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
More information about the Gluster-devel
mailing list