[ANNOUNCE] New review-driven Gerrit CI Service - gerrit-ci.gerritforge.com

372 views
Skip to first unread message

lucamilanesio

unread,
Aug 6, 2015, 3:36:54 AM8/6/15
to Repo and Gerrit Discussion
Hi all,
I am pleased to announce that we are making good progress in transforming the current Gerrit CI (ci.gerritforge.com) into a 100% Gerrit-community-driven continuous integration environment.

The new service is running at:

At the moment the following builds have been implemented:
- Gerrit master / 2.10 / 2.11
- All Gerrit plugins built with BUCK on master / 2.10 / 2.11

What is missing:
- Gerrit integration tests pipeline
- Gerrit plugins built with Maven
- 2.9 release builds (*)

(*) Gerrit 2.9 is not supported by the community anymore, so possibly there is not so much value in keeping a CI on that stable branch, isn't it?

DISCLAIMER

The gerrit-ci.gerritforge.com is a Continuous Integration server and IS NOT NOT THE OFFICIAL GERRIT RELEASE. It is meant to be used for downloading the "latest and greatest" of Gerrit and its plugins without having to clone and build it yourself.

Contributing to the Gerrit CI scripts

Gerrit CI server is based on Jenkins (jenkins-ci.org) but its configuration and management is completely driven by Gerrit, on the gerrit-ci-scripts project (https://gerrit-review.googlesource.com/#/admin/projects/gerrit-ci-scripts).

Adding or amending a job is very easy as the configuration is all driven by YAML files processed by the "Jenkins Job Builder" tool (http://docs.openstack.org/infra/jenkins-job-builder/definition.html).

Example of a Gerrit plugin jobs build definition for master, 2.11 and 2.10 branches:

- project:
    name: gitiles
    branch:
      - master
      - stable-2.11
      - stable-2.10
    jobs:
      - 'plugin-{name}-{branch}'

Credits

The gerrit-ci project is the result of an amazing collaboration  of Gerrit contributors, started by GerritForge but then 100% driven by contributors (in alphabetical order):

  • Christian Aistleitner
  • David Pursehouse
  • Doug Kelly
  • Luca Milanesio

Next steps

Once the missing bits are implemented and available, the legacy CI (ci.gerritforge.com) will be shutdown and it will be automatically redirected to gerrit-ci.gerritforge.com.

Feedback

What do you think? Would you like to see something more, something different? Would you like to see a Travis-based rather than Jenkins-based build? Would you use the new service?

Speak up and contribute to the CI project :-)

Luca.

Doug Kelly

unread,
Aug 11, 2015, 11:42:20 AM8/11/15
to Repo and Gerrit Discussion


On Thursday, August 6, 2015 at 2:36:54 AM UTC-5, lucamilanesio wrote:
...
At the moment the following builds have been implemented:
- Gerrit master / 2.10 / 2.11
- All Gerrit plugins built with BUCK on master / 2.10 / 2.11

I will add, when I set up plugins to build, I picked core plugins, plus plugins I had some vested interest in (either I maintain, use, or otherwise contribute to).  There's plenty more plugins out there, ones I don't know if they're even maintained or if they work with the BUCK build process.  If you have knowledge of a plugin worth including in the CI builds, please add your plugin!  Luca provided the basic template to add a BUCK-driven plugin build; copying and pasting this to suit your needs should be sufficient.  Note that it assumes the path "plugins/$NAME" on gerrit.googlesource.com!

Thanks!

Christian Aistleitner

unread,
Aug 11, 2015, 4:03:40 PM8/11/15
to Doug Kelly, Repo and Gerrit Discussion
Hi Doug,

On Tue, Aug 11, 2015 at 08:42:19AM -0700, Doug Kelly wrote:
> There's plenty more plugins out there, ones I don't know
> if they're even maintained or if they work with the BUCK build process.

I faced the same problem some months ago when setting up nightly
builds for the gerrit eco-system at
http://builds.quelltextlich.at/gerrit/nightly/master

To spare you the trouble of having to check all plugins again,
currently the following 30 plugins build fine for me (using BUCK) on
master:
* admin-console
* avatars-external
* avatars-gravatar
* branch-network
* cfoauth
* codenvy
* delete-project
* events-log
* force-draft
* gitiles
* importer
* its-base
* its-bugzilla
* its-jira
* its-phabricator
* its-rtc
* its-storyboard
* motd
* quota
* rabbitmq
* ref-protection
* reparent
* reviewers
* reviewers-by-blame
* server-config
* serviceuser
* uploadvalidator
* websession-flatfile
* wip
* x-docs

(javamelody also builds just fine, but it is only working after a
gerrit restart. The needed upstream fix is at
https://gerrit-review.googlesource.com/#/c/70072/
. So I hope we can soon add javamelody to the above list.)

Hope this list saves you some time.

Have fun,
Christian


P.S.: I only cared about master branch, since some plugins needed
fixes to make them work against master. Since that was enough effort
already, I did not care to back-port fixes to the other branches.
But having a working master branch /now/ will pay off for each stable
branch that gets cut from now on.



--
---- quelltextlich e.U. ---- \\ ---- Christian Aistleitner ----
Companies' registry: 360296y in Linz
Christian Aistleitner
Kefermarkterstrasze 6a/3 Email: chri...@quelltextlich.at
4293 Gutau, Austria Phone: +43 7946 / 20 5 81
Fax: +43 7946 / 20 5 81
Homepage: http://quelltextlich.at/
---------------------------------------------------------------

lucamilanesio

unread,
Aug 27, 2015, 3:28:59 AM8/27/15
to Repo and Gerrit Discussion, doug...@gmail.com, chri...@quelltextlich.at
Thanks to Alex Garnier [1], we have now all the its-* plugins built on gerrit-ci [2].
Now the only piece of the jigsaw left is the template for Maven built plugins, and we can finally shutdown the old ci.gerritforge.com.

Thanks to all the contributors so far :-) and to Christian for the nightly builds as well.

Luca.

lucamilanesio

unread,
Sep 4, 2015, 12:18:57 PM9/4/15
to Repo and Gerrit Discussion, doug...@gmail.com, chri...@quelltextlich.at
I have officially redirected the old "ci.gerritforge.com" to the new "gerrit-ci.gerritforge.com".

From now on, all the Jobs are managed by the Gerrit community through the YAML files submission to:

I've uploaded as well a change for including the Maven-driven builds as well [1] which is currently under review.
We're almost there ... just a few jobs more and we'll be 100% complete :-)

Thanks to everyone for collaborating in this joint effort !

Luca.

lucamilanesio

unread,
Sep 9, 2015, 7:00:55 PM9/9/15
to Repo and Gerrit Discussion, doug...@gmail.com, chri...@quelltextlich.at
I am pleased to announce that *ALL PLUGINS* are now built on gerrit-ci.gerritforge.com.

What Gerrit Versions are supported?

 The following versions of Gerrit and plugins are built:
- master 
- Ver. 2.11
- Ver. 2.10
- Ver. 2.9

What if a plugin is not listed under a Gerrit version?

With regards to those plugins that do not have a build for one of the above three branches, there are two cases:
a) That plugin is not designed to work with that version of Gerrit
b) The "master" version of the plugin is compatible with that version of Gerrit and thus does not require any specific branch

My next phase will be to write some scripting to "crunch" all the plugins with missing "stable" branches to understand if they are in case a) or b).

What is the full list of plugins?

admin-console

avatars-external

avatars-gravatar

branch-network

cfoauth

changemessage

commit-message-length-validator

cookbook-plugin

delete-project

download-commands

egit

events-log

force-draft

gitblit

github

gitiles

groovy-provider

imagare

importer

its-base

its-bugzilla

its-jira

its-phabricator

its-rtc

its-storyboard

javamelody

labelui

menuextender

motd

project-download-commands

quota

rabbitmq

ref-protection

reparent

replication

reviewers

reviewers-by-blame

reviewnotes

scala-provider

singleusergroup

wip

x-docs


... enjoy Gerrit plugins :-)


Luca.

Sébastien Douche

unread,
Sep 10, 2015, 4:57:58 AM9/10/15
to repo-d...@googlegroups.com
On Thu, 10 Sep 2015, at 01:00, lucamilanesio wrote:
> I am pleased to announce that *ALL PLUGINS* are now built on
> gerrit-ci.gerritforge.com.

Well done! It's great step forward for Gerrit.




--
Sébastien Douche <s...@nmeos.net>
Twitter: @sdouche
http://douche.name

Kenny Ho

unread,
Nov 18, 2015, 2:26:27 PM11/18/15
to Repo and Gerrit Discussion, doug...@gmail.com, chri...@quelltextlich.at
Luca,

What do I need to do to add new plugin to the CI?

Regards,
Kenny

Luca Milanesio

unread,
Nov 18, 2015, 5:19:01 PM11/18/15
to Kenny Ho, Repo and Gerrit Discussion, doug...@gmail.com, chri...@quelltextlich.at
Hi Kenny,
just submit a change to the gerrit-ci-scripts project.

E.g.

Luca.

--
--
To unsubscribe, email repo-discuss...@googlegroups.com
More info at http://groups.google.com/group/repo-discuss?hl=en

---
You received this message because you are subscribed to the Google Groups "Repo and Gerrit Discussion" group.
To unsubscribe from this group and stop receiving emails from it, send an email to repo-discuss...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply all
Reply to author
Forward
0 new messages