Bazel: Release - August 2018 - Target RC date: 2018-08-01 - name: 0.17.0

Created on 19 Apr 2018  Â·  84Comments  Â·  Source: bazelbuild/bazel

release

Most helpful comment

Released: https://github.com/bazelbuild/bazel/releases/tag/0.17.1
(cc @petemounce @ilovezfs)

The announcement will be published on the website later today.

All 84 comments

@jin lmk if you are not available on these dates

Can we delay cutting the release until https://github.com/bazelbuild/bazel/issues/3115 is fixed? I'm aiming to mail a fix today

@dkelmer if it's a regression we can also cherry pick it

That works too. rules_go is definitely broken and I imagine other projects are too

Using Aug 3 nightly: https://buildkite.com/bazel/bazel-with-downstream-projects-bazel/builds/368

Status

On hold, blocked on:

  • Embedded JVM fix
  • Resolution for .bazelrc read order changes

Release blockers

Also: all Windows pipelines are failing due to https://github.com/bazelbuild/bazel/issues/5749

Ignore

Baseline

https://github.com/bazelbuild/bazel/commit/afebc60a337e98aa7b5b4f45cc809dae5cd0c765

To cherrypick

For tensorflow:
https://github.com/bazelbuild/bazel/commit/510aca0c993d89cccdf2da1b8bcafff35a0d030f

For rules_apple:
https://github.com/bazelbuild/bazel/commit/f330439fb970cfa17c70fc59c1458bb1c31c9522

For mainrepo changes affecting rules_go

https://github.com/bazelbuild/bazel/commit/ed598bc180ff347f50ca70a04074f430185aa9c5

Pushing 0.17.0rc1

scripts/release/release.sh create 0.17.0 afebc60a337e98aa7b5b4f45cc809dae5cd0c765 510aca0c993d89cccdf2da1b8bcafff35a0d030f

Pushed to chocolatey.

Can I suggest adding a blocker for some simple migration instructions for #4502? As you can see it breaks lots of projects, and there are questions on #4502 and one on bazel-discuss about how to migrate - in particular for teams that use both %workspace%/.bazelrc and tools/bazel.rc but only have one of them in the repo.

Yes, we'll make sure there are migration instructions in the release notes.
Is there somewhere else you think we should add instructions?

On Tue, Aug 7, 2018 at 9:25 AM Rodrigo Queiro notifications@github.com
wrote:

Can I suggest adding a blocker for some simple migration instructions for

4502 https://github.com/bazelbuild/bazel/issues/4502? As you can see

it breaks lots of projects, and there are questions on #4502
https://github.com/bazelbuild/bazel/issues/4502 and one on bazel-discuss
https://groups.google.com/forum/?pli=1#!topic/bazel-discuss/IWEA7npKNYg
about how to migrate.

—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/bazelbuild/bazel/issues/5059#issuecomment-411054611,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AGPQ46s-l0U6dQFdmn9nfrDLS9XHpRKsks5uOZVGgaJpZM4TbvBB
.

@jin I think due to the regressions in the 0.16.0 release regarding the embedded JDK and Java rules we'll need to put the 0.17.0 release on hold for now.

@buchgr will do - thanks for the update.

@cvcal I guess there's a chicken/egg problem, but it would be ideal to link them from the warning. Otherwise a noticeable mention in the release notes seems sufficient.

PS. The warning is not colored for me, so it doesn't stand out so much from the stdout-spam[1], is that expected?

image

Unfortunately, yes - the warning is printed from the C++ client, not the server, which is where the colored lines come from. I know this makes it less noticeable, and that's sad...
I could get around this by sending the server --unconditional_warning=blah but adding command arguments from the client is something we really try not to do

No problem, thanks for the clarification. Maybe other people have cleaner
builds :)

Thanks for being so responsive the whole way through on this change by the
way!

As of @dslomov's email in https://groups.google.com/forum/#!topic/bazel-discuss/1116GHzkNm0, we'll put 0.17.0 on hold until we cut a new 0.16.1 release with the fixes to the embedded JDK 9.

We are expecting to release 0.16.1 on Monday, 13th August based on this release candidate https://releases.bazel.build/0.16.1/rc2/index.html

we'll put 0.17.0 on hold until we cut a new 0.16.1 release with the fixes to the embedded JDK 9.

It seems that Gerrit cannot be built any more on JDK9 on 0.17.0rc1 and master, see #5896.

Reassigning to the new release team @aehlig @philwo @katre @laurentlb

What is the current state of 0.17? I see that 0.16.1 has been released (https://github.com/bazelbuild/bazel/releases).

I can cut a new 0.17, with the same baseline and cherrypick as https://releases.bazel.build/0.17.0/rc1/index.html. On top of that, I can also cherrypick everything that went into 0.16.1. Is that correct?

Issues #5765 and #5906 have a pending fix which should get included in 0.17

@cvcal @buchgr
Please update the thread when the changes are submitted (with commit hashes).

Considering that there are a ton of cherrypicks to 0.16.1 (https://github.com/bazelbuild/bazel/issues/5792) that happened _after_ cutting 0.17.0rc1, maybe it's more worth to recut 0.17.0 at a new baseline, or abandon 0.17.0 and cut 0.18.0 directly.

Yes, I'd like to use a new baseline (and call it 0.17.0 since it has not been released).

Would it make sense to wait until https://github.com/bazelbuild/bazel/pull/5898 is merged before re-cutting 0.17.0? Currently JDK9 support is broken on master.

@laurentlb please cut after f0aa55d81c7a311efef203bdecf7bca99aaded00

@cvcal Can I cut the new release now?

Actually, can someone please merge https://github.com/bazelbuild/bazel/pull/5917 as a prerequisite to 0.17? This is a fix to a regression in handling actions that were garbage collected from remote cache, and it is affecting Buildfarm. I reviewed it, but I don't have merge permissions. Thank you!

5917 is now merged. Thank you, @jin!

Sorry, getting the warning fix in lead to a few windows-only issues that I wasted time on. #5765 is pretty close to submitted

We can't delay the release any longer. I'll cut it soon.
(changes can probably wait for the next release)

Bazel 0.17rc1 with baseline aa118ca818baf722aede0bc48d0a17584fa45b6e
https://releases.bazel.build/0.17.0/rc1/index.html

Review and contribute to the release notes: https://docs.google.com/document/d/1wDvulLlj4NAlPZamdlEVFORks3YXJonCjyuQMUQEmB0/edit#heading=h.fdnt5bpp42hj

Bazel 0.17rc1 with baseline aa118ca https://releases.bazel.build/0.17.0/rc1/index.html

I've just tested 0.17rc1 and confirmed that trying to Build Gerrit on JDK9 is failing in the same way as with Bazel@HEAD.

@laurentlb using the same 0.17.0rc1 tag for two different releases has some issues here: https://github.com/bazelbuild/bazel/issues/5964

https://github.com/bazelbuild/bazel/issues/5978 is a release blocker -- 0.17.1 and HEAD binaries that are built with 0.16.1 contains a --javabase linking bug.

I've found this regression in 0.17.0rc1 with error prone integration: #5989, that was fixed in #5990. Can the fix be approved, merged and cherry-picked?

I've found this regression in 0.17.0rc1 with error prone integration: #5989,[...]

Another CL was merged that fixed that regression: 0e0462589528154cb5160411991075a2000b5452. Can this be cherry-picked to unblock users who heavily rely on working error-prone integration?

Release blocker: #6020
The debian package is not correctly setup for conffiles, and is overwriting existing global bazelrc files.
I'll have a fix out shortly, but we should cherrypick it to this release.

There is another regression in 0.17-rc1: rules_closure (and Gerrit) cannot be built any more with @bazel_tools//tools/jdk:toolchain_java9: #5961. It was fixed in: https://github.com/bazelbuild/bazel/commit/3987300d6651cf0e6e91b395696afac6913a7d66 . Can this fix be cherry-picked?

The commits 2147666fa2750b4999fff763f6e4e3d016d6cc9e and 438b2773b8c019afa46be470b90bcf70ede7f2ef need to be cherrypicked into the next RC (to fix #6020 and #6028 respectively).

Potential blocker: https://github.com/bazelbuild/bazel/issues/6061
(Need to verify if 0.17.* is affected or whether the bug is a regression.)

Confirmed: https://github.com/bazelbuild/bazel/issues/6061 is a blocker. (Release 0.16.1 shipped with Protobuf 3.4.0, the 0.17.* release candidates with Protobuf 3.6.0 which contains a bug.)

We need one more cherrypick, because https://github.com/bazelbuild/bazel/commit/27303d79c38f2bfa3b64ee7cd7a6ef03a9a87842 should have been imported but it wasn't. @mhlopko is preparing a fix. Stay tuned.

Please also cherry-pick https://github.com/bazelbuild/bazel/commit/ead1002d3803fdfd4ac68b4b4872076b19d511a2. There's a chance that it will be an empty cherry-pick, because this commit is replicating parts of https://github.com/bazelbuild/bazel/commit/27303d79c38f2bfa3b64ee7cd7a6ef03a9a87842 (the parts that are mirrored in Google's internal version control).

Is it possible to cherry-pick 4a6891f83efc1b1891bc994d53722225e8acdd77 please ? Thanks!

We do cherrypicks only for regressions. I think this commit will have to wait until Bazel 0.18 (that shouldn't be too much wait since 0.17 is late).

When is RC2 planned? We've had several releases which had 6-7 RCs

Please consider cherrypicking fa2d3f60f5cce16e414aa843b26f379a72b8f7b0. It fixes a bug released in 0.10. More context: https://groups.google.com/forum/#!topic/bazel-discuss/NciKWGqdPzM

Full cherrypick list (5 cherrypicks from my previous summary + 4 cherrypicks from @laszlocsomor + 4 cherrypicks from @lberki):

0e04625, 3987300, 438b277, 504401791e0a0e7e3263940e9e127f74956e7806, 9ed9d8a, 22d761a, 27303d7, ddc97ed, ead1002, 12dcd35, 7eb9ea1, 4566a42, 1e9f0aa

I don't think fa2d3f6 qualifies as release critical (it's a quite old bug, it can wait for 0.18).

Release candidate 2 is here: https://releases.bazel.build/0.17.1/rc2/index.html

@ittaiz I was waiting for the JDK fix before creating rc2 (but maybe I should have created it anyway).

0.17.0 rc2 regression on Windows: https://github.com/bazelbuild/bazel/issues/6099

Can we please cherry-pick these two updates for the CI configuration?

  • a572c1cbc8c26f625cab6716137e2d57d05cfdf3
  • 29f1de099e4f6f0f50986aaa4374fc5fb7744ee8

They are totally risk free. ;)

Also this one for the updated bazel_toolchains repo:

  • b495eafdc2ab380afe533514b3bcd7d5b30c9935

Fixes the error "no such package '@bazel_toolchains//configs/ubuntu16_04_clang/1.0/bazel_0.16.1/default': BUILD file not found on package path" on CI.

rc3 created with:
scripts/release/release.sh create --force_rc=3 $RELEASE_NUMBER aa118ca818baf722aede0bc48d0a17584fa45b6e 0e04625 3987300 438b277 504401791e0a0e7e3263940e9e127f74956e7806 9ed9d8a 22d761a 27303d7 ddc97ed ead1002 12dcd35 7eb9ea1 4566a42 1e9f0aa a572c1c 29f1de0 b495eaf

It should behave the same as rc2, the changes are just for testing and CI.

https://releases.bazel.build/0.17.1/rc3/index.html

Was it intended to create a 0.17.1 RC release? I expected a 0.17.0 RC3. :smile:

Yes. 0.17.0 was abandoned, 0.17.1 was created using a different baseline.

Done, 9323c57607d37f9c949b60e293b573584906da46 added.
New candidate is here: https://releases.bazel.build/0.17.1/rc4/index.html

I think all known issues have been fixed. If nothing new is reported, we should release this week.

Please also cherry pick 1aba9ac4b4f68b69f2d91e88cfa8e5dcc7cb98c2. Envoy build breaks without it.

Done. This is 0.17.1rc5: https://releases.bazel.build/0.17.1/rc5/index.html

Created using:
scripts/release/release.sh create --force_rc=5 0.17.1 aa118ca818baf722aede0bc48d0a17584fa45b6e 0e04625 3987300 438b277 504401791e0a0e7e3263940e9e127f74956e7806 9ed9d8a 22d761a 27303d7 ddc97ed ead1002 12dcd35 7eb9ea1 4566a42 1e9f0aa a572c1c 29f1de0 b495eaf 9323c57 1aba9ac4b4f68b69f2d91e88cfa8e5dcc7cb98c2

FYI- I think #6121 will be a release blocker but I just filed it so obviously no one triaged it yet.

RCs 2, 3, 4, 5 all published to chocolatey.

@laurentlb There is another release blocker: Gerrit cannot be built on Java 9 any more: https://github.com/bazelbuild/bazel/issues/6127. There is no fix available yet.

@laurentlb @lberki the fix for #6127 was submitted as 2579b791c023a78a577e8cb827890139d6fb7534

Should I delay the release again, or can we use this commit in a patch release?

Cherrypicked both 2579b791c023a78a577e8cb827890139d6fb7534 and 2834613f93f74e988c51cf27eac0e59c79ff3b8f.

https://releases.bazel.build/0.17.1/rc7/index.html
 
Created with:
scripts/release/release.sh create --force_rc=7 0.17.1 aa118ca818baf722aede0bc48d0a17584fa45b6e 0e04625 3987300 438b277 504401791e0a0e7e3263940e9e127f74956e7806 9ed9d8a 22d761a 27303d7 ddc97ed ead1002 12dcd35 7eb9ea1 4566a42 1e9f0aa a572c1c 29f1de0 b495eaf 9323c57 1aba9ac4b4f68b69f2d91e88cfa8e5dcc7cb98c2 2579b791c023a78a577e8cb827890139d6fb7534 2834613f93f74e988c51cf27eac0e59c79ff3b8f

In the release notes, are the second and third accurate?

If the same artifact is generated by two distinct but identical actions, and a downstream action has both those actions' outputs in its inputs, the artifact will now appear twice in the downstream action's inputs. If this causes problems in Skylark actions, you can use the uniquify=True argument in Args.add_args.
If the same artifact is generated by two distinct but identical actions, and a downstream action has both those actions' outputs in its inputs, the artifact will now appear twice in the downstream action's inputs. If this causes problems in Skylark actions, you can use the uniquify=True argument in Args.add_args.

I think so. The draft release announcement is here: https://docs.google.com/document/d/1wDvulLlj4NAlPZamdlEVFORks3YXJonCjyuQMUQEmB0/edit#heading=h.fdnt5bpp42hj

(we don't update the generated release notes, so they sometimes have issues)

@laurentlb any idea if we'll have a release today/tomorrow or not?

I plan to release it tomorrow morning.

Sorry for the delays

Released: https://github.com/bazelbuild/bazel/releases/tag/0.17.1
(cc @petemounce @ilovezfs)

The announcement will be published on the website later today.

@laurentlb ilovezfs is no longer doing homebrew. as mentioned in the release guide you need to update our own homebrew tap: https://github.com/bazelbuild/homebrew-tap

Pushed to chocolatey.

@laurentlb It looks like we need to make a 0.17.2 point release containing https://github.com/bazelbuild/bazel/commit/2e677fb6b8f309b63558eb13294630a91ee0cd33

Brief summary: 0.17 introduces a regression where Android apps can't be built at the desugaring step when used in conjunction with a manual --host_javabase flag pointing to a JDK 8 installation. The above commit fixes this regression.

Please see https://github.com/bazelbuild/bazel/issues/6159#issuecomment-421885156 for more details.

cc @cushon

@jin it would be nice if it could include the fix for https://github.com/bazelbuild/bazel/issues/6151 as well

@steeve unfortunately the cherrypick policy doesn't cover that.

@jin that's too bad, since this one generates lots and lots of warnings during Android builds and thus creates a lot of noise and I think will make people think this are not working as they should.

Although https://github.com/bazelbuild/bazel/commit/2e677fb6b8f309b63558eb13294630a91ee0cd33 fixes it by forcing a build with JDK8 (with the workaround found in https://github.com/bazelbuild/bazel/issues/5978)

Please use the new bug for discussing cherrypick requests (https://github.com/bazelbuild/bazel/issues/6164).

Was this page helpful?
0 / 5 - 0 ratings