Hi Christian,
very nice work, well done :-)
Are you willing to contribute them to the gerrit-ci-scripts project?
We could have:
/jenkins => for the CI yaml files
/nightly => for your set of scripts
> On 14 May 2015, at 17:14, Christian Aistleitner <
chri...@quelltextlich.at> wrote:
>
> Hi Luca,
>
> On Wed, May 13, 2015 at 06:45:12AM -0700, lucamilanesio wrote:
>> I forgot to mention that I would like to ask other Gerrit contributors to
>> co-manage the instance with us so that we can have more coverage on the
>> day-to-day system maintenance.
>>
>> [...]
>>
>> Feedback / proposals are more than welcome (as usual) :-)
>
> As people more often than not asked me for its-* plugin jars, and
> since Jenkins did not nicely expose what I was looking for, I am
> running a custom script to build nightly artifacts since not quite
> 2 months. The output (and artifacts :-) ) can be found at
>
>
http://builds.quelltextlich.at/gerrit/nightly/index.html
One question: why running them every night even when there are no new changes?
We had in a project years ago a “nightly build + deployment” in a QA environment … and you know what? It was mostly broken :-(
The reason was very simple: people were hurrying up in the evening to catch the train / bus or avoid traffic jams … and they were taking less attentions on the “last commit of the day”.
The best time to “cut a build” was then around 11-12 AM :-) … and went from nightly build to the “permalink” concept. We started deploying the “most stable build” of the day before rather than the one at midnight.
>
> Builds for master branch are at:
>
>
http://builds.quelltextlich.at/gerrit/nightly/master/index.html
See for instance:
2015-04-04 v2.11-rc1-248-gbf37566
2015-04-03 v2.11-rc1-248-gbf37566
Those two builds are exactly the same code: do you build them separately or they are just links to the same artifact?
>
> Today's build for the master branch is at:
>
>
http://builds.quelltextlich.at/gerrit/nightly/master/2015-05-14/index.html
>
> I wanted all branches to go all green [1] before I'd announce it
> ... but since you asked for feedback, I guess I should at least
> mention why Jenkins did not work for me.
Yes, that is going to be really useful :-)
>
> Jenkins did not fit nicely, as I wanted to better expose the grouping
> of artifacts. So already on the overview page for a branch, I wanted
> to see when which group caused issues, and also how severe it is. Also
> I wanted to make the repo description and schema number visible on the
> overview pages.
OK, so it was a UX issue. We could easily have a different landing page and just point to the Jenkins artifacts using their permalinks.
>
> In the page for a build, I wanted to bring the needed log files closer
> to the artifacts. And I wanted to decorate the artifacts with links to
> the repo browser, and the gerrit dashboards. So one can check with
> only a single click if there is already a fix for that issue on the
> dashboard / open changes.
Nice: why don’t we try to build that GUI together using your current page as example?
>
> Finally, I wanted to make it possible to isolate the building of
> plugins. So an error in the BUCK file of a plugin should not prohibit
> building core's WAR files, etc.
>
> I wanted it to be extensible, so I can easily add/remove plugins from
> the build pipeline.
That should be easy with the Jenkins YAML files, using the templates and multi-branch builds.
>
> And I wanted it to be possible to add system tests [2]. So I needed a
> scripting environment anyways.
That is really cool indeed!! A full integration test environment with plugins is currently missing and will be more than welcome :-)
>
> Sure, I could have hacked my whishlist into Jenkins. But I wanted some
> jars right away, as people asked me for them. Hence, I went for the
> quick and dirty approach, and prototyped a small bash script to
> experiment and find out what I'd like it to be.
You could do exactly the same thing with Jenkins using the Build Flow plugin, using a powerful Groovy-based DSL.
Shall we try this together?
>
> The script is available at
>
> git://
git.quelltextlich.at/gerrit/gerrit-builder
>
> (no online browsing :-/ ... you have clone it). Maybe some parts of
> that are useful for you or others.
Why don’t you push the code for review to
https://gerrit.googlesource.com/gerrit-ci-scripts ?
>
>
>
> Have fun,
> Christian
>
> P.S.: If someone wants me to add her/his plugin there, just shoot me a
> line.
If you push to gerrit-ci-scripts everyone can put their plugin script by themselves, more scalable :-)
>
>
> [1] its-storyboard is still failing a test on Java 8. The fix is at
>
>
https://gerrit-review.googlesource.com/#/c/66735/
>
> since a few weeks, but it is still waiting for a merge.
Gerrit + Java 8 is a very wanted combination … but we’re still a bit far I’m afraid … or not?
>
> [2] Currently, each WAR is tested whether or not it allows to
> bootstrap a site, and for each plugin it is at least checked whether
> or not it loads correctly.
Yes, that’s exactly what I was looking for, well done :-)
Luca.