Skip to content
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

Release 2.0 - December 2019 #10131

Closed
dslomov opened this issue Oct 30, 2019 · 31 comments
Closed

Release 2.0 - December 2019 #10131

dslomov opened this issue Oct 30, 2019 · 31 comments
Assignees
Labels

Comments

@dslomov
Copy link
Contributor

dslomov commented Oct 30, 2019

Cut date 2019-12-02.

@aehlig
Copy link
Contributor

aehlig commented Dec 2, 2019

Status of Bazel 2.0

To report a release-blocking bug, please file a bug using the Release blocker label, and cc me.

Task list:

@aehlig
Copy link
Contributor

aehlig commented Dec 2, 2019

The nightly tests of the last days look equally broken—mainly due to downstream projects not aware of the removal of native maven_jar. So we can as well take the latest nightly; since the only commit after the latest nightly is a bug fix, I will include it as well. So, I'll try 807ed23 as a baseline, but will slip it, if the next nightly is better.

@aehlig
Copy link
Contributor

aehlig commented Dec 2, 2019

Slipping baseline to db0e32c to fix the release pipeline.

@aehlig
Copy link
Contributor

aehlig commented Dec 2, 2019

Created rc2 with baseline db0e32c and no cherry-picks: https://releases.bazel.build/2.0.0/rc2/index.html

@aehlig
Copy link
Contributor

aehlig commented Dec 2, 2019

Run of downstream projects pretty broken as a lot of projects are not yet prepared for the removal of native maven_jar.

@jin
Copy link
Member

jin commented Dec 2, 2019

@jin
Copy link
Member

jin commented Dec 2, 2019

Looks like #10000 missed the baseline cut by a few hours. Could we please cherry-pick 85e84f7 into the release?

@bchang @donaldchai

@aehlig
Copy link
Contributor

aehlig commented Dec 2, 2019

Creating rc3 with same baseline and 85e84f7 cherry-picked.

@jin
Copy link
Member

jin commented Dec 2, 2019

Thanks @aehlig!

@aehlig
Copy link
Contributor

aehlig commented Dec 2, 2019

@davido
Copy link
Contributor

davido commented Dec 3, 2019

Protobuf is also broken.
protocolbuffers/protobuf#6970

The issue with replacing of native maven_jar usages with {java|jvm}_maven_import_external is that it is conflicting with --incompatible_load_java_rules_from_bzl and is producing broken code. It's using java_import internally, but is not generating this line:

# This line is missing
load("@rules_java//java:defs.bzl", "java_import")

The breakage was flagged by @ejona86 in #8746 (comment) and as the consequence, this issue was filed: [1].

IOW, there is currently no way forward strategy for such replacement. That why, the migration of native maven_jar is not ready yet, and consistently, the right course of action would be:

a. Try to fix: [1] in upcoming 2.0 release.
b. In case a. is not possible, roll back removal of maven_jar in Bazel 2.0 and schedule it for a later release, but only until after [1] is fixed.

[1] #10046

@jin
Copy link
Member

jin commented Dec 3, 2019

incompatible_load_java_rules_from_bzl hasn't been enabled in Bazel 2.0. We can definitely make sure that that rules_java is automatically loaded in 2.x, and ready by the time incompatible_load_java_rules_from_bzl is enforced.

We're also extracting the Starlark jvm rules out of Bazel (bazel-contrib/rules_jvm_external#299), which allows for a separate release cadence from Bazel.

@davido
Copy link
Contributor

davido commented Dec 3, 2019

I tried using Bazel 2.0.0rc3 but after fetching bazel-2.0.0rc3-installer-linux-x86_64.sh and installing it locally, it is telling me that I have to download bazel binary again. I filed this issue.

@aehlig
Copy link
Contributor

aehlig commented Dec 3, 2019

New run on the downstream projects, as some have been fixed: https://buildkite.com/bazel/bazel-at-head-plus-downstream/builds/1303

@jin
Copy link
Member

jin commented Dec 6, 2019

@aehlig all of the known failures from maven_jar are now migrated, AFAICT.

@Kernald
Copy link
Contributor

Kernald commented Dec 9, 2019

I just spotted a typo in the new .bazelversion handling: #10388 might be interesting to cherry-pick (absolutely not critical though, I don't know what's the policy on those kind of minor fixes after a cut)

@philwo
Copy link
Member

philwo commented Dec 17, 2019

Hi @aehlig,

please cherry-pick these commits into rc4 to fix the reported issues with the wrapper:

@aehlig
Copy link
Contributor

aehlig commented Dec 17, 2019

Creating rc4 with baseline db0e32c and cherry picks

@aehlig
Copy link
Contributor

aehlig commented Dec 17, 2019

@aehlig
Copy link
Contributor

aehlig commented Dec 17, 2019

Looking at the downstream projects, the following is to be noted.

  • There was some infrastructure failure, hence the retries; @philwo is investigating the root cause, but in either way, this is unrelated to bazel release candidate.
  • rules_cc is a known issue. bazelbuild/rules_cc@cd7e8a6 adds a test for a feature that was only introduced in 949e806 and hence is not part of bazel 2.0.0. Users who which to use rules_cc with bazel 2.0.0 should use version bazelbuild/rules_cc@01d4a48 of rules_cc.
  • rules_rust is broken in stardoc invocation; this invocation makes invalid assumptions of how to map repositories to paths in the output root: Stardoc documentation generation failed: File all.bzl imported '@io_bazel_rules_rust//rust:toolchain.bzl', yet external/io_bazel_rules_rust/rust/toolchain.bzl was not found, even at roots [., external/docs]. despite @io_bazel_rules_rust being the main repository.
  • rules_nodejs is also broken in stardoc like rules_rust and, on top, stardoc rightly complains that the doc string for node_repositories does not have a one-line summary.

So, according to our current policy, these breakages are not blocking. So, unless new problems are reported on the bug, I intend to release on late Thursday or early Friday (Munich time).

@aehlig
Copy link
Contributor

aehlig commented Dec 19, 2019

Bazel 2.0 has been released, see https://github.com/bazelbuild/bazel/releases/tag/2.0.0

@aehlig
Copy link
Contributor

aehlig commented Dec 19, 2019

cc @vbatts @petemounce @excitoon as you're maintaining a bazel package

@uri-canva
Copy link
Contributor

cc @mboes, @danjuv

@philwo
Copy link
Member

philwo commented Feb 5, 2020

@dslomov If you agree, I could create a patch release for Bazel 2.0 with 2a8cc70 included to address #10356 (comment).

@dslomov
Copy link
Contributor Author

dslomov commented Feb 5, 2020

@philwo sgtm

@philwo
Copy link
Member

philwo commented Feb 13, 2020

I'm preparing Bazel 2.0.1 with two cherry-picks:

9a823d9: Prevent NPE on backwards seek on Chunker.
2a8cc70: Do not fail or print errors when Shellzelisk cannot find a requested Bazel binary, if tools/bazel exists.

RELEASE_NUMBER=2.0.1
BASELINE_COMMIT=50514fc6c125750d7063d7feea2c302a44d2db6e
git clone https://github.com/bazelbuild/bazel.git ~/bazel-release-$RELEASE_NUMBER
cd ~/bazel-release-$RELEASE_NUMBER
scripts/release/release.sh create $RELEASE_NUMBER $BASELINE_COMMIT \
    9a823d9dab82631ff4600eff38d597807e8d1221 \
    2a8cc7075f741721563efd9dc050ca3458cde30b

@philwo
Copy link
Member

philwo commented Feb 13, 2020

Bazel 2.0.1rc1 is now available for those that want to try it out.

You can download it from:
https://releases.bazel.build/2.0.1/rc1/index.html

@chenrui333
Copy link
Contributor

Just curious what might be the reason why people cannot move to Bazel 2.1.0?

@philwo
Copy link
Member

philwo commented Feb 13, 2020

@chenrui333 There shouldn't be any reason (there are no intentionally breaking changes, or accidental breaking changes that we could detect via our CI), but just in case that Bazel 2.1 has a regression for some Bazel 2.0 users, I think the patch release is nice and doesn't do harm. :) It might also be easier to qualify for users who have stricter validations for their upgrade, e.g. in case of industry regulations.

Personally, I would of course just upgrade to Bazel 2.1. 😊

@chenrui333
Copy link
Contributor

I am mostly thinking from maintenance efforts from you guys perspective (you guys are doing awesome job 👍 ).

Thanks for clarifying it!

@vbatts
Copy link

vbatts commented Feb 13, 2020

i've cut the release for fedora/centos/RHEL as a package named 'bazel2' so folks can opt-in to the upgrade.

@philwo philwo unpinned this issue Mar 3, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

10 participants