Hi all,
I recently requested a Hudson instance (called HIPP) for Platform:
https://bugs.eclipse.org/bugs/show_bug.cgi?id=417030
Here it is: https://hudson.eclipse.org/platform/
It contains:
* The Platform-Sonar job (which is failing because of
https://bugs.eclipse.org/bugs/show_bug.cgi?id=416904 , requires changes
in almost all pom.xml for tests, and also in some code which expects
running in a full Eclipse distro whereas Tycho uses a minimal target
platform)
* Some *-Gerrit job for each repository.
== How to use Gerrit jobs?
These jobs are active and will vote +1 or -1 on any Gerrit contribution:
if build is green, Hudson votes +1; if not it will vote -1. The command
line which is used it "mvn clean verify -Pbuild-individual-bundles
-Dmaven.test.skip=true". Just continue to use Gerrit, and you'll see
Hudson chatting with you to say what he thinks about this contribution.
A "-1" on a contribution should mean a compile or build issue, so it's a
blocker for a contribution to be merged. It can be interpreted as a
blocking issue for a human review: if Hudson says no, it's too early to
review the code, you can tell the contributor "Please make Hudson happy,
I come back after that".
A "+1" means that the change doesn't break compilation, it's a good
starting point to review the contribution.
== What's next?
It would be nice to have test running with Tycho (
https://bugs.eclipse.org/bugs/show_bug.cgi?id=416904 ), so we could
switch the -Dmaven.test.skip to false for all these *-Gerrit jobs. As a
consequence, Hudson would run tests, and vote -1 if build fails or a
test fails, and +1 if everything is still green. This gives some more
trust in the contribution and reduce the risk of merging something bad.
Then, when we have all tests running with Tycho, it will also be easy to
add some fun metrics such as code coverage.
== Goals
* Decrease amount of erroneous commits (always using Gerrit should show
almost any change that breaks the build) and consequently failed builds
* Ease contribution reviews by spotting bad changes automatically
* Give immediate feedback to lazy contributors who don't want to build
locally. They can push to Gerrit and see what will happen (it's not a
very good workflow, but it appears to be helpful for many people)
Hopefully, all this leading to better productivity, more contributors,
better code quality and so on...
== Limitations
* https://bugs.eclipse.org/bugs/show_bug.cgi?id=416904 makes that those
jobs can't run tests
* This appraoch uses the last integration build to resolve dependencies,
so it won't detect breaking changes between 2 components immediately.
Such change needs to wait for next I-Build to be cascaded to other
components using them.
Cheers,
--
Mickael Istria
Eclipse developer at JBoss, by Red Hat <http://www.jboss.org/tools>
My blog <http://mickaelistria.wordpress.com> - My Tweets
<http://twitter.com/mickaelistria>
_______________________________________________
platform-dev mailing list
[email protected]
https://dev.eclipse.org/mailman/listinfo/platform-dev