-
Notifications
You must be signed in to change notification settings - Fork 738
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add new Windows machines for pull requests and build pipelines #1662
Comments
@sxa555 for installation and @AdamBrousseau for adding to jenkins and incorporating into build and pull requests. |
Many thanks to IBM for providing Windows machines for OpenJ9's CI pipeline! |
Memo to self after a couple of discussions this evening:
|
@DanHeidinga I can't seem to assign this work item to me (I'm the only person around and will attempt to begin attacking it tomorrow more - today has been an information consolidation phase) - can you either (1) Add me to whatever team lets me do stuff in this repo (preferred!) or (2) Assign this item to me |
One of the annoyances here is that issues can only be assigned to openj9 committers. We've worked around this by having contributors just comment that they are working on a particular item |
Oh hadn't realised that even you wouldn't be able to. Grrr ... Maybe I'll go through the signup process just so I can be assigned stuff. Or use it as an excuse not to work on issues here ;-) |
In all seriousness I'm now working on the first of the machines - got part way through the install (manually for now) and I'll see if I can do anything more clever for the subsequent ones. It's the first time I've set up an OpenJ9 or AdoptOpenJDK windows box from scratch so I want to make sure I understand what's going on. |
You can't just sign up to become an OpenJ9 committer. It requires submitting sufficient change to OpenJ9 to earn the trust of existing committers, and getting voted in https://www.eclipse.org/projects/handbook/#elections-committer |
You can sign the ECA to become a contributor. |
Windows machine |
Got compiles working
Current issue is trying to compile the test material (link)
Edit: Also had to install the Cygpath Plugin for Jenkins |
Why did you replace the native git client? To my knowledge we haven't used the cygwin one anywhere else so interested to know why we need to use git differently on that machine and I don't want to be running different configurations if at all possible since it could lead to "surprises" when the openj9 stuff is built on the adoptopenjdk build farm. |
I see your concern, and generally agree. All the Windows machines we've ran builds on up until now have been connected to Jenkins using the JNLP method. Which gives Jenkins a "Windows" environment to run jobs. The machines at ci.eclipse have to be connected via ssh which means getting a "Linux" Cygwin environment. The part that fails is the git -C command to lookup the OpenJ9/OMR SHAs. It fails because the path passed to git is Linux style Cygwin path and Windows Git cannot understand it.
It does not make a difference if the Jenkins root is Uninstalling Windows Git and Installing Git through Cygwin solves the issue. Edit: I suppose if both Git's were installed then the Cygwin path would find the Cygwin Git first and it would work. But I don't see any value in having the Windows Git installed if we won't be using it. |
Note the OpenJ9 build instructions for Windows [1] do not mention installing a Windows git client, they use cygwin. [1] https://github.com/eclipse/openj9/blob/master/buildenv/Build_Instructions_V8.md |
@AdamBrousseau Can you clarify what you're running that's making that error show up. I believe the code is the same for JDK8 but we don't get that error running OpenJ9 JDK8 builds (OpenJ9 JDK9 hasn't run on Windows for a few weeks, but was clean the last time we tried) |
Just had a look on one of our existing build machines and git is installed within cygwin there too. |
9/10 compile fine but we have an issue with JDK8 during configure
I don't understand because that file is clearly there
generated-configure.sh: line 8280
|
What if you run the configure step manually, on the machine? "." is the same as using "source", maybe cygwin doesn't like the use of ".", try swapping. |
Windows machines that will be used to build Java 8 will also need the addition proposed in adoptium/infrastructure#354 (to register 'msdia*.dll' that are part of the DIA SDK included in VS2010). |
Found the Issue with the PATH problem on JDK8. |
It turns out that builds of all versions of Java will require that machines are updated with the new steps added by adoptium/infrastructure#354. For people doing it manually, I recommend omitting the [edit: the |
Next issue:
Not sure why its trying to write to c/cygwin/ without the |
Does that machine define |
I see Windows system variables |
Missing VS2010 SP1 + security update KB2565057 from 169.55.170.69 (oj9-win2012r2-1 ). |
Short paths are still not correctly set, missing
Work-around for this short path:
|
OpenJ9 JDK10 builds successfully locally:
|
Windows JDK8 build failure:
Some of the environment variables are not inherited in cygwin over ssh. Cygwin overrides the windows TMP and TEMP environement variables in /etc/profile: TMP = /tmp, TEMP=/tmp. These are not inherited.
This is is cygwin 32 bits path, should have been c:/cygwin64/tmp. It is fixed in OpenJDK9:
Fix available with ibmruntimes/openj9-openjdk-jdk8#87 |
Work-around for JDK8, set TMP environment variable in the Jenkins node configuration.
|
@vsebe can we not just backport that fix to jdk8 rather then having a special case setup on every machine config? |
@AdamBrousseau - I will, the workaround is until the fix makes it into the openj9-openjdk-openjdk8 repo. |
The best answer is to define |
These machines are ready. The OpenJ9 JDK 8, 9 and 10 pipelines pass. Setting the TMP as environment variable in the Jenkins node configuration ensures the OpenJ9 JDK8 to build successfully (no need to wait on ibmruntimes/openj9-openjdk-jdk8#87). |
- Add win_x86-64_cmprssptrs spec - Run JDK8,10 just like the other specs [skip ci] Fixes eclipse-openj9#1662 Signed-off-by: Adam Brousseau <adam.brousseau88@gmail.com>
@vsebe can we delete the TMP/TEMP variables in the machine configs now that your change is merged? |
@AdamBrousseau - yes |
Done. Currently investigating the problem with JDK9 PR builds
|
As @vsebe suggested, the issue with the PR JDK9 builds is the filepath is too long. Compiling by hand in the PullRequest folder produces the error, renaming the directory to something shorter (PullRequest-adam) resolves the compile error. Not sure if its the entire path that is too long or just the folder |
I suggest OpenJ9 turn off all JDK9 builds #2020 |
Since #2020, I will leave win 9 sanity/ext fully disabled (compile still enabled) and consider this closed. |
Four new Windows 2012R2 machines have been created and in need configuring with the ansible scripts from AdoptOpenJDK.
Administrator login passwords available under private communication.
Each one is 8 CPU, 8GB RAM, Windows 2012R2, 100Gb boot disk, 25 Gb data disk, 100 Mbs network link.
The text was updated successfully, but these errors were encountered: