Skip to content

add JDK 11 community build #742

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

Closed
SethTisue opened this issue Jun 29, 2018 · 10 comments
Closed

add JDK 11 community build #742

SethTisue opened this issue Jun 29, 2018 · 10 comments
Assignees

Comments

@SethTisue
Copy link
Member

now that the JDK 10 build is up and running (#735), let's do 11 next

@SethTisue SethTisue self-assigned this Jun 29, 2018
@SethTisue
Copy link
Member Author

SethTisue commented Jun 29, 2018

we should stop piling on behemoth 2 any further (it has all three 2.12 builds currently) and spread the jobs around more

UPDATE: I did some spreading around already. I should still choose carefully when adding this one

@SethTisue
Copy link
Member Author

I tried a run locally and got EXTRACTION FAILED (failed: coursier, kxbmap-configs, scala-swing, slick)

scala-swing fix here: scala/scala-swing#82

@SethTisue
Copy link
Member Author

SethTisue commented Sep 18, 2018

I'll do another local run before we ship 2.12.7, and I'll scrutinize the results (that is, each individual failure reason, not just the overall greenness level) more closely than I have so far.

@SethTisue
Copy link
Member Author

SethTisue commented Sep 19, 2018

gah, --add-modules=java.xml.bind no longer works, so several projects (akka-more, scalafix, slick) don't even extract

EDIT: looks like this should work

-      // the usual thing some projects need on JDK 9
-      "--add-modules=java.xml.bind", "-XX:+IgnoreUnrecognizedVMOptions"
+    extra.settings: ${vars.base.extra.settings} [
+      // for JDK9+. one-deeper nesting level makes it apply to build definition
+      ["libraryDependencies += \"javax.xml.bind\" % \"jaxb-api\" % \"2.3.0\""]
+    ]

@SethTisue
Copy link
Member Author

@SethTisue
Copy link
Member Author

OpenJDK 11 installed on behemoth 2 (using this as a template):

curl -O 'https://download.java.net/java/early_access/jdk11/28/GPL/openjdk-11+28_linux-x64_bin.tar.gz'
sudo mv openjdk-11+28_linux-x64_bin.tar.gz /usr/lib/jvm
cd /usr/lib/jvm
sudo tar xzf openjdk-11+28_linux-x64_bin.tar.gz
sudo rm openjdk-11+28_linux-x64_bin.tar.gz
sudo mv jdk-11 java-11-openjdk-x64
sudo update-alternatives --install /usr/bin/java java /usr/lib/jvm/java-11-openjdk-x64/bin/java 1
sudo update-alternatives --install /usr/bin/javac javac /usr/lib/jvm/java-11-openjdk-x64/bin/javac 1

and in this new run: https://scala-ci.typesafe.com/view/scala-2.12.x/job/scala-2.12.x-jdk11-integrate-community-build/2/consoleFull

I now see Java home: /usr/lib/jvm/java-11-openjdk-x64 and dbuild is off and running

@SethTisue
Copy link
Member Author

also made a 2.13 job: https://scala-ci.typesafe.com/job/scala-2.13.x-jdk11-integrate-community-build, assigned to behemoth 1, after following the same JDK installation steps as above

@SethTisue
Copy link
Member Author

everything extracts now, at least, as of https://scala-ci.typesafe.com/view/scala-2.12.x/job/scala-2.12.x-jdk11-integrate-community-build/4/ . I had to fork coursier and kxbmap-configs to work around the JDK 11 .lines thing (scala/bug#11125), and I had to fork pcplod to remove Sam's sbt-sensible plugin, which had something somewhere in it that chokes on JDK 11

@SethTisue
Copy link
Member Author

SethTisue commented Sep 20, 2018

having a problems where dbuild shares ~jenkins/.dbuild even across multiple JDK versions, leading to cache consistency errors

dealt with it by shutting down all community build jobs on all 3 behemoths, blowing away ~jenkins/.dbuild on all 3 behemoths, installing JDK 11 on behemoth 3, and relocating the 2.12.x-jdk11 job from behemoth 1 to behemoth 3

a cleaner fix would be to have the run script or the config file somehow read the JDK major version being used and include it in some dummy setting so that dbuild would know it matters for reproducible-run purposes. /cc @cunei

UPDATE: I guessed wrong, that wasn't the cause. Toni fixed it in dbuild

@SethTisue
Copy link
Member Author

declaring victory on basics. new ticket for further improvements: #796

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant