Product builds triggered on PluginRefUpdatedEvent
Enable running product builds on PluginRefUpdatedEvent

Product builds until now are triggered on PluginChangeMergedEvent,
resulting in one build per submitted Gerrit change if multiple
changes are submitted at once ("Submit including parents").

Triggering on PluginRefUpdatedEvent should trigger only one build
for the whole change series.

The GerritTrigger plug-in in Jenkins sets different environment
variables for these two cases. Adapt the pipeline scripts so they
can work with either.

Bug: 552963
Change-Id: Iea3cd90c5f77dc4d1f6e169b92a72de714bb5e23
Signed-off-by: Thomas Wolf <thomas.wolf@paranor.ch>
3 files changed
tree: 17476ce0f26a3d9092e12b9468f46feb00bd29c4
  1. .classpath
  2. .gitignore
  3. .project
  4. .settings/
  5. LICENSE
  6. README.md
  7. src/
  8. vars/
README.md

EGit Jenkins Pipelines

This repository contains the EGit Jenkins pipeline library.

For general information about Jenkins pipeline shared libraries see the Jenkins documentation.

Jenkins pipelines are written in Groovy; for development in Eclipse it may help to install the Groovy Development Tools. Be aware, though, that GDT patches the JDT Java compiler; a particular version of GDT thus works only with a particular version of JDT. If you use an Eclipse I-build (nightly development build for the next release), GDT will fail to install.

The library is intended to be used for the Jenkins builds of the egit/egit and the egit/egit-github repositories.

It provides several kinds of general pipelines that can be configured:

  • verifyBuild is a simple pipeline that builds and runs the tests for a Gerrit patch set.
  • productBuild is intended to be run when a Gerrit patch set is submitted and builds a full distribution (nightly or stable build).

uiNode encapsulates the general Jenkins slave setup to run a build including UI tests on a JIRO node.

Directory src contains auxiliary Groovy classes encapsulating generally useful operations.

License

The content of this repository is licensed under the EPL 2.0.

SPDX-License-Identifier: EPL-2.0