Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.
Bug 362950 - Please create Hudson job for Aether Core
Summary: Please create Hudson job for Aether Core
Status: RESOLVED FIXED
Alias: None
Product: Community
Classification: Eclipse Foundation
Component: CI-Jenkins (show other bugs)
Version: unspecified   Edit
Hardware: All All
: P3 normal (vote)
Target Milestone: ---   Edit
Assignee: Eclipse Webmaster CLA
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2011-11-04 17:35 EDT by Benjamin Bentmann CLA
Modified: 2011-11-16 15:04 EST (History)
0 users

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Benjamin Bentmann CLA 2011-11-04 17:35:13 EDT
Now that we have preliminary approval of the Aether sources, I would like to get some continuous integration going for aether-core from which we could also produce nightly builds. Ideally, this should build on multiple OSes to capture platform-dependent defects that easily sneak in when filesystem operations are involved. From the wiki, it seems Linux, Windows and Mac slaves are generally available. If possible, I would like to have aether-core build on all of those three OSes. What is not quite clear to me is whether this can be achieved via a single (matrix) job or requires one job per OS. From what I've seen on the Hudson instance, matrix jobs are not available/used, so I guess the we would end up needing
- aether-core-linux-nightly
- aether-core-win-nightly
- aether-core-mac-nightly
similar to the way the Tycho folks set up their jobs.

Job admins should initially be the Aether project leads
- bbentmann
- jvanzyl
From the wiki it seems I can then hook up committers myself using the role ROLE_TECHNOLOGY.AETHER

FWIW, Aether Core will use Maven 3 as build tool, takes 2-5 mins to build and its workspace consumes about 20 MB.

For the build notifications, I would like to use a new mailing list, aether-build@ seems to match the usual pattern. Please let me know if this request should be handled outside of this bugzilla entry.
Comment 1 Eclipse Webmaster CLA 2011-11-07 14:18:34 EST
It looks like the 'multiple configuration' job type may be what your looiking for.

I've queued your list for creation.

-M.
Comment 2 Eclipse Webmaster CLA 2011-11-09 10:54:45 EST
So would you like to try a single multi-configuration job or do you want me to create 3 different jobs?

-M.
Comment 3 Benjamin Bentmann CLA 2011-11-09 10:57:18 EST
(In reply to comment #2)
> So would you like to try a single multi-configuration job or do you want me to
> create 3 different jobs?

Oh yes, I can try the single mult-config job first. If things work out as intended, that would be easier to maintain in the future.
Comment 4 Eclipse Webmaster CLA 2011-11-09 11:14:38 EST
Ok, I've created aether-core-nightly as a multi-configuration job.  Let me know if things don't work out and you want multiple jobs.

-M.
Comment 5 Eclipse Webmaster CLA 2011-11-09 11:14:59 EST
Closing.

-M.
Comment 6 Benjamin Bentmann CLA 2011-11-09 14:48:49 EST
It seems there's a general issue with matrix jobs: The checkout from Git already fails due to some "java.lang.LinkageError: loader (instance of  hudson/remoting/RemoteClassLoader)" [0]. This errors shows up on hudson-slave1 regardless of what slave I configured for the multi-config, i.e. it already fails during the parent build that orchestrates the multi-config builds.

From some googling, I found [1] which suggests this to be a known issue. It's not clear to me whether it's worth to try the mentioned plugin [2] to simply bind the parent build to another node or whether we should just do like apparently everyone else and use multiple normal/non-matrix jobs for Aether. I'm don't mind trying it out but I also don't want to waste more of your time than necessary. So, any suggestions?

[0] https://hudson.eclipse.org/hudson/job/aether-core-nightly/6/console
[1] http://dev.eclipse.org/mhonarc/lists/tycho-dev/msg00296.html
[2] http://wiki.hudson-ci.org/display/HUDSON/Matrix+Tie+Parent+Plugin
Comment 7 Eclipse Webmaster CLA 2011-11-09 14:58:35 EST
(In reply to comment #6)
> already fails due to some "java.lang.LinkageError: loader (instance of 
> hudson/remoting/RemoteClassLoader)"

Possible the slave needs to be re-started. I'll try and find some time to do that.

> not clear to me whether it's worth to try the mentioned plugin [2]

Given that the last release date of that plugin is over a year ago, and appears to be abandoned I don't think it's worth the effort to test.

> So, any suggestions?

Sure we go with your original request, and I create a single job for each build.

-M.
Comment 8 Benjamin Bentmann CLA 2011-11-10 09:10:18 EST
FYI, it seems whatever you did to hudson-slave1 helped the matrix job to successfully clone the git repo during the parent build. When the child build on windows7tests ran, it failed due to mvn not being able to reach the net, proably some issue with the proxy configuration. I'll try some other slaves next, maybe the matrix job can be made to work.
Comment 9 Benjamin Bentmann CLA 2011-11-10 09:51:32 EST
So yes, it seems the matrix job generally works now, I've have had successful builds on a Linux and Mac slave. What remains to check is the proxy configuration on the Windows slave which currently dies with a "java.net.ConnectException: Connection timed out: connect" error [0] when reaching out to repo1.maven.org. Can you double-check if a proper ${user.home}/.m2/settings.xml is in place on the Windows slave to set up the desired proxy?


[0] https://hudson.eclipse.org/hudson/job/aether-core-nightly/jdk=Java%206%20R%2021%2064bit%20%28SUN%29,label=windows7tests/12/console
Comment 10 Eclipse Webmaster CLA 2011-11-11 13:48:01 EST
I've created the settings file.

-M.
Comment 11 Benjamin Bentmann CLA 2011-11-11 13:57:30 EST
Thanks, I just fired a new build but found the windows slave to be offline. I assume you're still doing some maintenance on this.
Comment 12 Eclipse Webmaster CLA 2011-11-11 14:07:17 EST
D'oh, accidentally logged out the hudson user.

-M.
Comment 13 Benjamin Bentmann CLA 2011-11-11 14:07:54 EST
Hm, the build that just finished failed as before though:
https://hudson.eclipse.org/hudson/job/aether-core-nightly/jdk=Java%206%20R%2021%2064bit%20%28SUN%29,label=windows7tests/lastBuild/console
Comment 14 Benjamin Bentmann CLA 2011-11-13 12:48:39 EST
(In reply to comment #10)
> I've created the settings file.

Was the file created in the proper location? These are the locations actually read by the build:

[DEBUG] Reading global settings from c:\Program Files\maven-3.0.3\conf\settings.xml
[DEBUG] Reading user settings from C:\Users\HUDSONBUILD\.m2\settings.xml

One of those (preferably the user settings) should contain something like this according to the wiki:

<settings>
  ...
  <proxies>
    <proxy>
      <active>true</active>
      <protocol>http</protocol>
      <host>proxy.eclipse.org</host>
      <port>9898</port>
      <nonProxyHosts>*.eclipse.org</nonProxyHosts>
    </proxy>
    <proxy>
      <active>true</active>
      <protocol>https</protocol>
      <host>proxy.eclipse.org</host>
      <port>9898</port>
      <nonProxyHosts>*.eclipse.org</nonProxyHosts>
    </proxy>
  </proxies>
</settings>
Comment 15 Eclipse Webmaster CLA 2011-11-16 13:41:24 EST
@#$@#$ windows file extensions.  For reasons I fail to understand windows decided to add a .txt extension(in addition to the .xml).

Is better now?

-M.
Comment 16 Benjamin Bentmann CLA 2011-11-16 13:49:41 EST
(In reply to comment #15)
> @#$@#$ windows file extensions.  For reasons I fail to understand windows
> decided to add a .txt extension(in addition to the .xml).

Hehe, I think the following kb article might help:
http://support.microsoft.com/kb/865219/en-us

> Is better now?

Well, the good news is mvn found your settings.xml. The bad news is there appears to be some syntax error:

[FATAL] Non-parseable settings C:\Users\HUDSONBUILD\.m2\settings.xml: end tag name </protocol> must match start tag name <proto> from line 5 (position: TEXT seen ...<proto>http</protocol>... @5:29)  @ C:\Users\HUDSONBUILD\.m2\settings.xml, line 5, column 29
Comment 17 Eclipse Webmaster CLA 2011-11-16 14:09:01 EST
Ok, I've updated the tags to be <protocol></protocol> .

-M.
Comment 18 Benjamin Bentmann CLA 2011-11-16 14:21:59 EST
(In reply to comment #17)
> Ok, I've updated the tags to be <protocol></protocol> .

[FATAL] Non-parseable settings C:\Users\HUDSONBUILD\.m2\settings.xml: Duplicated tag: 'proxies' (position: START_TAG seen ...</proxies>\r\n  <proxies>... @11:12)  @ C:\Users\HUDSONBUILD\.m2\settings.xml, line 11, column 12


Assuming mvn is on the PATH, probably run "mvn validate" when on the box. This should fail with some error about missing POM but would quickly tell you whether the settings.xml were correct.
Comment 19 Eclipse Webmaster CLA 2011-11-16 14:39:27 EST
Thanks for the tip.  I've tweaked the file and validate isn't throwing any more warnings(at least none about the settings file).

-M.
Comment 20 Benjamin Bentmann CLA 2011-11-16 15:04:30 EST
(In reply to comment #19)
> I've tweaked the file and validate isn't throwing any more
> warnings(at least none about the settings file).

Thanks, that did it, https://hudson.eclipse.org/hudson/job/aether-core-nightly/22/, all blue.