Drake: Upgrade Bazel in CI to 0.4.2

Created on 16 Dec 2016  路  28Comments  路  Source: RobotLocomotion/drake

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.

continuous integration bazel high kitware

Most helpful comment

I'll work on it this afternoon.

All 28 comments

@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.

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/

It will take a while for all the instances to switch over.

This is done! :confetti_ball: Thanks @BetsyMcPhail and @jamiesnape

Was this page helpful?
0 / 5 - 0 ratings