Upgrade Bazel in CI to 0.4.2 to match http://drake.mit.edu/developers.html#supported-configurations. Right now we appear to have e.g. BAZEL_VERSION = 0.4.0-jdk7.
Also required for #4518 to pass CI.
@jamiesnape @BetsyMcPhail any chance you could knock this out quickly today? I think it's a prerequisite for turning on Bazel builds in pre-merge, which I'd also like to see happen today if possible.
Logging in to get this done now - should be a quick update.
The trusy and xenial AMIs have been updated to Bazel 0.4.2.
The unprovisioned xenial script already installs Bazel 0.4.2.
See #4497 for Mac Bazel builds.
I installed Bazel using JDK8 on Trusty and this is making the builds not happy (e.g. https://drake-jenkins.csail.mit.edu/view/Bazel/job/linux-gcc-bazel-experimental/56/console). It looks like a JDK7 version is available (although deprecated).
Unless I hear any objections I am going to go back and install the JDK7 version on the Trusy AMI.
It was JDK 7 before. The JDK 8 version will break Jenkins.
Waiting for the Bazel experimental build but the trusty AMI should be good now.
https://drake-jenkins.csail.mit.edu/job/linux-gcc-bazel-experimental/61/console
FAILURE BECAUSE COULD NOT DETERMINE BAZEL VERSION
Looking into it now
Both 0.4.1 and 0.4.2 are exiting with BLAZE_INTERNAL_ERROR even when calling bazel help and bazel version. Something is pretty broken somewhere.
We are having the same issue on local machines too.
Changed back to the previous Trusty AMI (Bazel 0.4.0) in Jenkins for now.
TTBOMK @david-german-tri is testing on Trusty on his workstation, so I'm not sure what's going on here.
Using JDK 7?
No, using JDK 8. Which, Sphinx reminds me, is not a supported configuration. Ugh.
I'm pretty willing to drop official support for Bazel on Trusty if that gets us out of this fix, but we should take public comments on that. I'll poll on slack.
The JDK 8 version will break Jenkins.
@jamiesnape Could you elaborate on why this is so?
I installed Bazel using JDK8 on Trusty and this is making the builds not happy (e.g. https://drake-jenkins.csail.mit.edu/view/Bazel/job/linux-gcc-bazel-experimental/56/console).
@BetsyMcPhail In that log, Bazel (?) complains Java version is 1.7.0_111 while at least 1.8 is needed., which doesn't square with your comment. Did you mean to post a different link?
@jamiesnape Could you elaborate on why this is so?
We cannot have two different JVM versions. We can switch everything to JDK 8, but mixed will not work.
Though Jenkins recommends OpenJDK over Oracle, and there is no OpenJDK 8 for 14.04.
We cannot have two different JVM versions. We can switch everything to JDK 8, but mixed will not work
Got it. Do you know of any reason we should hesitate to bump to JDK 8?
Though Jenkins recommends OpenJDK over Oracle, and there is no OpenJDK 8 for 14.04.
Oh, are we talking about Jenkins itself? I didn't realize Jenkins and Drake tests actually ever ran on the same machine.
The Jenkins slave.
Other than the above, I guess there will be a mismatch with the MATLAB Java version, but we are already living with that for OS X.
So really, we should be fine bumping the version. It is not perfect, but I do not see huge issues.
OK, let's go ahead and bump to JDK 8 then. It would be nice to get that done today if possible, so that we can unblock some Bazel PRs. @BetsyMcPhail do you have some time to work on it?
I'll work on it this afternoon.
Trusty AMI has been update to JDK 8 and Bazel 0.4.2. Jenkins has been updated to use the new AMI.
Experimental build looks good: https://drake-jenkins.csail.mit.edu/view/Bazel/job/linux-gcc-bazel-experimental/84/
https://drake-jenkins.csail.mit.edu/job/linux-gcc-bazel-experimental/85/console still says 0.4.0-jdk7?
It will take a while for all the instances to switch over.
This is done! :confetti_ball: Thanks @BetsyMcPhail and @jamiesnape
Most helpful comment
I'll work on it this afternoon.