Continuous Integration for Gerrit via Jenkins

454 views
Skip to first unread message

Lloyd Chang

unread,
Jun 1, 2012, 1:17:54 PM6/1/12
to repo-d...@googlegroups.com, jenkin...@googlegroups.com
Hello Gerrit and Jenkins communities,

Continuous Integration for Gerrit via Jenkins at http://ci.jenkins-ci.org/job/gerrit_master/ has been broken since April 21.

Is this expected? I noticed the project is currently disabled; are there plans to re-enable it?

http://ci.jenkins-ci.org/job/gerrit_master/configure doesn't list who its maintainers are, hence I'm asking Gerrit and Jenkins communities.

Thank you,
Lloyd

Lloyd Chang

unread,
Jun 2, 2012, 10:29:01 AM6/2/12
to repo-d...@googlegroups.com, jenkin...@googlegroups.com, Mattias Sohn, R. Tyler Ballance, Luca Milanesio, Kohsuke Kawaguchi
+CC Matthias Sohn, R. Tyler Ballance, Luca Milanesio, Kohsuke Kawaguchi in case they can help

Their names appear in October 2011's CI for Gerrit discussion at

Status Update (June 2012)

I tried but I don't have Configure access to re-enable the job -- the user interface briefly in the initial 3 seconds (as in time duration) flashes a User/group named "msohn" (Matthias Sohn?) before turning into an empty text box with Configure access; please see screenshot snippets below.

At this point in time, it appears that Everyone else -- even when I log into ci.jenkins-ci.org with my own account -- are in the Anonymous group without any access?

If any of you have administrative access to grant additional access... Can additional users of this Continuous Integration job, such as me; my account name's lloydchang, be added with Configure and More access permissions? Thank you in advance!

Here are screenshot snippets from http://ci.jenkins-ci.org/job/gerrit_master/configure

Initial 3 seconds (as in time duration)
User/group Job Run SCM
Delete ConfigureRead Discover ExtendedRead Build WorkspaceCancel Delete Update Tag
msohn Toggle allRemove user/group
Anonymous Toggle all

After 3 seconds, "msohn" turns into an empty text box -- who has Configure access permission at this point in time?
User/group Job Run SCM
Delete ConfigureRead Discover ExtendedRead Build WorkspaceCancel Delete Update Tag
Toggle allRemove user/group
Anonymous Toggle all

Thanks,
Lloyd

Shawn Pearce

unread,
Jun 2, 2012, 10:59:33 AM6/2/12
to Lloyd Chang, repo-d...@googlegroups.com, jenkin...@googlegroups.com
On Fri, Jun 1, 2012 at 10:17 AM, Lloyd Chang <lloyd...@gmail.com> wrote:
> Continuous Integration for Gerrit via Jenkins
> at http://ci.jenkins-ci.org/job/gerrit_master/ has been broken since April
> 21.
>
> Is this expected?

Yes. That system has an older version of the Java compiler installed
that contains a bug in its generics type handling that prevents it
from correctly compiling the current Gerrit code.

> I noticed the project is currently disabled; are there
> plans to re-enable it?

It needs an updated compiler first.

Edwin Kempin

unread,
Jun 4, 2012, 5:08:13 AM6/4/12
to Shawn Pearce, Lloyd Chang, repo-d...@googlegroups.com, jenkin...@googlegroups.com
Matthias Sohn filed an issue [1] to ask for a newer JDK to be installed on http://ci.jenkins-ci.org/, but there is still no answer to it.

[1] https://issues.jenkins-ci.org/browse/JENKINS-13585

2012/6/2 Shawn Pearce <s...@google.com>

Lloyd Chang

unread,
Jun 4, 2012, 5:39:05 AM6/4/12
to repo-d...@googlegroups.com, jenkin...@googlegroups.com, Kohsuke Kawaguchi, Edwin Kempin, Shawn Pearce, Matthias Sohn
+Kohsuke to decide on next steps; he has administrative access to ci.jenkins-ci.org
Related, I've assigned JENKINS-13585 to Kohsuke (because it was previously unassigned)
Thank you Shawn, Edwin and Matthias for your clarifications (by email and issue in JIRA)

Thomas Broyer

unread,
Jun 4, 2012, 7:16:49 AM6/4/12
to repo-d...@googlegroups.com, Lloyd Chang, jenkin...@googlegroups.com

On Saturday, June 2, 2012 4:59:33 PM UTC+2, Shawn Pearce wrote:
On Fri, Jun 1, 2012 at 10:17 AM, Lloyd Chang <lloyd...@gmail.com> wrote:
> Continuous Integration for Gerrit via Jenkins
> at http://ci.jenkins-ci.org/job/gerrit_master/ has been broken since April
> 21.
>
> Is this expected?

Yes. That system has an older version of the Java compiler installed
that contains a bug in its generics type handling that prevents it
from correctly compiling the current Gerrit code.

AFAICT the build could easily be fixed by using explicit generic type parameters instead of relying on inference.
The errors are:
[ERROR] /home/jenkins/slave/workspace/gerrit_master/gerrit-gwtui/src/main/java/com/google/gerrit/client/rpc/RestApi.java:[127,34] type parameters of <T>T cannot be determined; no unique maximal instance exists for type variable T with upper bounds T,com.google.gwt.core.client.JavaScriptObject 
[ERROR] /home/jenkins/slave/workspace/gerrit_master/gerrit-gwtui/src/main/java/com/google/gerrit/client/rpc/Natives.java:[39,17] type parameters of <T>T cannot be determined; no unique maximal instance exists for type variable T with upper bounds T,com.google.gwt.core.client.JavaScriptObject 

In the first case, it's on:
T data;
try {
   data = Natives.parseJSON(json.substring(JSON_MAGIC.length()));
where parseJSON return type is a generic (see method signature below)

In the second case:
  public static <T extends JavaScriptObject> T parseJSON(String json) {
    // ...
    return parse0(parser, json);
where parse0 is defined as:
  private static native <T extends JavaScriptObject>
  T parse0(JavaScriptObject p, String s)

Using Natives.<T>parseJSON and Natives.<T>parse0 would probably fix the build.

Thomas Broyer

unread,
Jun 4, 2012, 7:41:43 AM6/4/12
to repo-d...@googlegroups.com, Lloyd Chang, jenkin...@googlegroups.com

On Monday, June 4, 2012 1:16:49 PM UTC+2, Thomas Broyer wrote:

On Saturday, June 2, 2012 4:59:33 PM UTC+2, Shawn Pearce wrote:
On Fri, Jun 1, 2012 at 10:17 AM, Lloyd Chang <lloyd...@gmail.com> wrote:
> Continuous Integration for Gerrit via Jenkins
> at http://ci.jenkins-ci.org/job/gerrit_master/ has been broken since April
> 21.
>
> Is this expected?

Yes. That system has an older version of the Java compiler installed
that contains a bug in its generics type handling that prevents it
from correctly compiling the current Gerrit code.

AFAICT the build could easily be fixed by using explicit generic type parameters instead of relying on inference.

I unfortunately don't have a buggy JDK at hand to verify that it'd actually fix the build on ci.jenkins-ci.org; but there are a few places in GWT's own source code with similar workarounds: http://code.google.com/p/google-web-toolkit/source/search?origq=%22javac+generics+bug%22

Matthias Sohn

unread,
Jun 4, 2012, 8:03:21 AM6/4/12
to Edwin Kempin, Shawn Pearce, Lloyd Chang, repo-d...@googlegroups.com, jenkin...@googlegroups.com
yes, I have admin permissions on this Jenkins job. I am waiting for somebody
who can fix the bug I filed in order to get a recent JDK installed. 

If there is any Gerrit committer or well known contributor who wants also 
permissions to help keeping this build job in shape let me know.

--
Matthias

2012/6/4 Edwin Kempin <edwin....@gmail.com>



--
Matthias

Lloyd Chang

unread,
Jun 4, 2012, 12:47:37 PM6/4/12
to Matthias Sohn, Kohsuke Kawaguchi, Thomas Broyer, Edwin Kempin, Shawn Pearce, repo-d...@googlegroups.com, jenkin...@googlegroups.com
Hi Matthias,

With gerrit-review 35800 from Thomas (to workaround javac generics bug) approved by Edwin and Shawn then merged now, would you kindly re-enable the Jenkins job? with your msohn account's Configure access and try building Thomas' workaround? Thanks!

Concurrently, lets see what Kohsuke says about upgrading ci.jenkins-ci.org's JDK.

Thank you,
Lloyd

Matthias Sohn

unread,
Jun 4, 2012, 6:45:43 PM6/4/12
to Lloyd Chang, Kohsuke Kawaguchi, Thomas Broyer, Edwin Kempin, Shawn Pearce, repo-d...@googlegroups.com, jenkin...@googlegroups.com
I re-enabled the build and it succeeded:

--
Matthias

2012/6/4 Lloyd Chang <lloyd...@gmail.com>



--
Matthias

Lloyd Chang

unread,
Jun 4, 2012, 11:34:11 PM6/4/12
to repo-d...@googlegroups.com, jenkin...@googlegroups.com, Matthias Sohn, Kohsuke Kawaguchi, Thomas Broyer, Edwin Kempin, Shawn Pearce
Hello Everyone: If you would like to help co-maintain this, it'd be awesome with your extra help :-)

Matthias: Great! Would you kindly grant me Configure/Read/Build/Update permissions to help you co-maintain our Gerrit Continuous Integration via jenkins-ci.org?  I'll contribute time (as I've done here) and co-maintain in event you're temporarily unavailable; my account name's lloydchang

Thank you again!
Lloyd
Reply all
Reply to author
Forward
0 new messages