-
Notifications
You must be signed in to change notification settings - Fork 4.1k
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 0.21 - December 2018 #6493
Comments
Candidate created with: However some tests are failing: #6832 |
Gerrit Code Review cannot be built with this RC, because of outdated This is the issue in Gerrit issue tracker. |
@davido I think everyone's waiting for 3.6.1.2 to be released protocolbuffers/protobuf#4650 (comment) |
@jin Thanks for the pointer, but why Bazel is flipping the bit before 3.6.1.2 was released, and before the update to consume IOW: until core Bazel rules still depend on deprecated options, Bazel must not flip the bit. "Nothing causes more pain, frustration, and disappointment than unfulfilled expectations." I upgrade to Bazel: 0.21.0rc2, and I cannot build my project any more, and even worse: I cannot fix it either. |
@davido I agree, and this has caused me a fair bit of trouble with other projects, which was only really alleviated by passing the incompatible flag. @meteorcloudy I remember reading somewhere that there’ll be a CI pipeline that tests with cc @dslomov |
Right, so can we avoid destroying other people work? I reverted 86013a0 here: [1]. Can this CL be merged and cherry-picked on 0.21 branch? |
Hi, I agree that the slow releases of Protobuf are annoying, which is why we want to separate the repository (protocolbuffers/protobuf#5402). What else shall we update? |
We now have a new pipeline for testing It will catch those failures earlier and help the downstream projects to migrate. |
This pipeline should help us avoid issues like this in the future. Thanks for working on it!
@davido It’ll not be cherrypicked because there’s a workaround by flipping the incompatible_* flags, which is the mechanism to deal with unintended breaking changes.
… On Dec 4, 2018, at 7:03 AM, Yun Peng ***@***.***> wrote:
We now have a new pipeline for testing ***@***.*** + incompatible flags + downstream ***@***.***_green_commit
See this document for more details
It will catch those failures earlier and help the downstream projects to migrate.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or mute the thread.
|
Protobuf v3.6.1.2 was released today. I've upgraded my PR to bump protobuf to this version in rules_closure.
Can someone push merge button then, or what are we missing?
How can Gerrit update rules_closure, if there is no commit upstream that updated protobuf dependency, and Gerrit maintainers prefer not to fork third party dependencies? In fact my CL that upgraded rules_closure to forked rules_closure version wasn't even reviewed.
I disagree. Gerrit Code Review is used by hundreds of core and plugins developers in the wild and we should try very hard to avoid the situation where Gerrit master (and even tip of stable branches) cannot be built with most recent Bazel releases, without passing some obscure |
So, there is a huge complication with upgrade of As pointed out by @acozzette:
Why can't we re-consider to revert 86013a0, just merge this CL, and re-visit this deprecation after |
If the same issue is in 0.18, 0.19, and 0.20, it shouldn't be considered as critical for 0.21. |
To support building bazel offline just out of the distribution archive, all dependencies that would normally be downloaded during the build are bundled in the distribution archive. So when updating skylib, the @addition_distfiles repository needs to be updated as well. Do so now. To be cherry-picked for #6493, i.e., the bazel 0.21.0 release. Change-Id: I6bf813324298a9b2ca3cb2cac15a871eef9e46f9 PiperOrigin-RevId: 224323158
I don't think I can fully agree. Sounds like as long as a regression exists for a time long enough, it's no longer critical. But there are different reasons for a regression to exist so long:
#6806 and #6731 have respectively caused Android Studio and TensorFlow not being able to upgrade Bazel to any version later than 0.18.0. So, I believe they are indeed critical. Until we can make sure people are actively testing Bazel release candidate (obviously they don't), we should distinguish such regressions. |
@davido I have written a postmortem on how we can prevent this from happening again, using the timeline of the Android projects breakages. I also mentioned the issues surrounding Gerrit and rules_closure, as we both faced similar breakages. |
@jin Thanks, looks good! I commented on this document. |
Potential release-blocker: #6859 |
Sorry for not replying earlier, I was on sick leave. Re protobuf issue: looks like the world (including Bazel itself, rules_closure and other things) need to move to protobuf 3.6.1.2, and that is an acceptable solution to everyone, is that correct? Re #6806: this fix should be cherry-picked under a provision for critical, high impact issues. What happened there is that it took as a while to reproduce and investigate this issue, that is why we only got the fix at the date we got it - the issue was reported quite a while ago. |
Unfortunately, no. Can you see my comments on @jin's postmortem document linked in his previous comment? To summarize:
a) Protobuf 3.7 officially released and all artifacts are published on Maven Central |
rc3 still fails to build offline; can we please cherry-pick dbe05df as requested? Thanks. |
To support building bazel offline just out of the distribution archive, all dependencies that would normally be downloaded during the build are bundled in the distribution archive. So when updating skylib, the @addition_distfiles repository needs to be updated as well. Do so now. To be cherry-picked for #6493, i.e., the bazel 0.21.0 release. Change-Id: I6bf813324298a9b2ca3cb2cac15a871eef9e46f9 PiperOrigin-RevId: 224323158
@dslomov When can we release it? |
I think tomorrow is fine. Could you include links to migration-0.21 and breaking-change-0.21 in release announcement? |
On 19/12/18 11:22 -0500, Laurent Le Brun wrote:
cc ***@***.*** ***@***.***
Blog post: [3]https://blog.bazel.build/2018/12/19/bazel-0.21.html
|
0.21.0 documentation is up: https://docs.bazel.build/versions/0.21.0/bazel-overview.html |
fedora/centos build: https://copr.fedorainfracloud.org/coprs/vbatts/bazel/build/838751/ |
when will this hit homebrew? |
It should be updated (bazelbuild/homebrew-tap#35) |
Published to chocolatey. |
is there a clear guideline on what to do about protobuf? Like @davido said 3.6.1.3 isn't even released. |
@ittaiz I said this 16 days ago. Meantime protobuf v3.6.1.3 was released. However, it is not a complete protobuf release. Particularly, there is no protobuf-java on Maven Central that tagged with that version. Nevertheless, rules_closure and Gerrit were upgraded to protobuf v3.6.1.3 and it seems to work. So the hope is that protobuf 3.6.1.3 and protobuf-java 3.6.1 are binary compatible. |
Thanks for the correction! Where was this released? If I look on their
github project releases tab I don't see it.
…On Sun, Dec 23, 2018 at 9:25 AM David Ostrovsky ***@***.***> wrote:
Like @davido <https://github.com/davido> said 3.6.1.3 isn't even released.
@ittaiz <https://github.com/ittaiz> I said this 16 days ago. Meantime
protobuf v3.6.1.3 was released. However, it is not a complete protobuf
release. Particularly, there is no protobuf-java on Maven Central that
tagged with that version. Nevertheless, rules_closure and Gerrit were
upgraded to protobuf v3.6.1.3 and it seems to work. So the hope is that
protobuf 3.6.1.3 and protobuf-java 3.6.1 are binary compatible.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<#6493 (comment)>,
or mute the thread
<https://github.com/notifications/unsubscribe-auth/ABUIF00Mif9WNYDOZ8qsTcmu6yt1aElkks5u7y_7gaJpZM4X3r5w>
.
|
Check this PR that updated rules_closure to protobuf 3.6.1.3: [1]: http_archive(
name = "com_google_protobuf",
strip_prefix = "protobuf-3.6.1.3",
sha256 = "73fdad358857e120fd0fa19e071a96e15c0f23bb25f85d3f7009abfd4f264a2a",
urls = [
"https://mirror.bazel.build/github.com/google/protobuf/archive/v3.6.1.3.tar.gz",
"https://github.com/protocolbuffers/protobuf/archive/v3.6.1.3.tar.gz",
],
) Important:
|
Bazel 0.21 package for Alpine Linux is here: https://github.com/davido/bazel-alpine-package/releases/tag/0.21.0. |
Belatedly, pushed to chocolatey. |
Target RC date: December 3rd
The text was updated successfully, but these errors were encountered: