Do we have any defined policy regarding Jenkins jobs?
Looking at https://builds.apache.org/view/A-D/view/DeltaSpike/. it seems
a number of jobs are disabled or have been failing for months.
It is not quite clear if a given job is supported, obsolete or experimental.
What about a simple rule like "don't release until all balls are blue",
except for a few jobs to be marked as experimental, like WildFly 10 and
TomEE 7?
Some jobs fail deterministically due to bugs in older CDI or app server
versions. If there's a good reason to test on these old versions, then
we should at least disable the tests known to fail on a given version
with excludes in a version-specific Maven profile.
Other jobs fail sporadically due to port conflicts. This could be
addressed with the build-helper-maven-plugin (reserve-network-ports).
Regarding build triggers, I can't look at the job configurations, but it
seems that some jobs are directly triggered by a commit, while others
are triggered by completion of the DeltaSpike Deploy job, which results
in some jobs being run twice.
Wouldn't it be better to have a single gatekeeper job triggered by
commits (e.g. DeltaSpike Deploy) and treat all other jobs as downstream
dependencies that are only triggered by a _stable_ run of the gatekeeper
job?
Regards,
Harald