This is an awesome improvement over having to resolve the PR locally, but I suspect it only works for simple PR changes. 

---
Workflow is as follows:

a) create a PR, eg., https://github.com/jbosstools/jbosstools-target-platforms/pull/214

b) wait a few minutes for the build to start, eg.,

http://jenkins.mw.lab.eng.bos.redhat.com/hudson/view/DevStudio/view/DevStudio_Master/job/jbosstools-target-platform--pull-request/22/

c) when the build is done, check the output for a blue ball and p2diff reports that show nothing unexpected

d) send email to jbosstools-dev@, eg., http://lists.jboss.org/pipermail/jbosstools-dev/2016-May/011351.html

e) wait until PR review is done (eg., 2 days); apply PR and kick the matrix job to build it and publish it to the usual place

When I moved us to M7, there were a number of required small tweaks before I had a PR that worked, and that validation happens much more efficiently on local than by submitting it off to Jenkins to build. And that "blue" PR contained bad changes like the addition of jetty 9.3.6 and a newer Mylyn Wikitext version. Neither of these were caught by the TP build/validation process -- they were caught by downstream install-grinder and p2director install tests.

So, this isn't foolproof, but it's still a huge improvement!

Nick



On Tue, May 10, 2016 at 4:16 AM, Max Rydahl Andersen <manderse@redhat.com> wrote:
or give a link to a PR to see the results (both with good and bad results) ?
/max

This sounds awesome. Any chance you could screencast or screenshot this workflow ?

/max

Hi all,

With https://issues.jboss.org/browse/JBIDE-22312 , a new CI job [1] now validates, mirror and runs p2diff [2] automatically whenever a pull request is submitted against the jhttps://github.com/jbosstools/jbosstools-target-platforms/ repository. This automated validation then report its success or failure on the pull request directly, annotating it like Travis CI does (with a green or red box depending on success).
It returns a failure if TP validation or mirroring fail. It's most likely to happen because of a wrong reference to a p2 repository, a missing IU or an incorrect version, or a missing requirement.
It returns a successful build if it managed to validate the PR and mirror its content. In such case, there is still need to follow the links to the jenkins job have a human look at the p2diff attached to the build, and to comment whether p2diff looks fine on the PR. Then, when build is successful and p2diff looks good, the PR can be announced to the team and considered for a merge.

Notes:
* p2diff report is now generated automatically on regular Maven build (even local ones), building the TP with the -Pmultiple2repo profile.
* Triggering validation build is setup as a cron running every 5 minutes, so it's fine if the build doesn't start immediately after your PR creation/update. Just check it again a bit later and in case of issue, ping @mickaelistria and/or @nickboldt on this PR
* The validation build takes about 1 hour. There are for sure opportunities to speed it up, but as the TP process is slow anyway and that this approach is already faster than the previous ones requiring local mirror and p2diff, speeding it up isn't high priority at the moment.

Cheers,

[1] https://jenkins.mw.lab.eng.bos.redhat.com/hudson/view/DevStudio/view/DevStudio_Master/job/jbosstools-target-platform--pull-request/
[2] https://issues.jboss.org/browse/JBIDE-22308
--
Mickael Istria
Eclipse developer at JBoss, by Red Hat
My blog - My Tweets

_______________________________________________
jbosstools-dev mailing list
jbosstools-dev@lists.jboss.org
https://lists.jboss.org/mailman/listinfo/jbosstools-dev



--
Nick Boldt :: JBoss by Red Hat
Productization Lead :: JBoss Tools & Dev Studio
http://nick.divbyzero.com