bazelbuild / bazel

a fast, scalable, multi-language and extensible build system
https://bazel.build
Apache License 2.0
23.22k stars 4.07k forks source link

Release - February 2018 - Target RC date: 2018-02-01 - name: 0.11.0 #3959

Closed damienmg closed 6 years ago

damienmg commented 7 years ago

Release tracking bug for February 2018:

RM if we follow the rotation should be @katre: can you take it?

dslomov commented 6 years ago

@katre - assigning to you for Feb 1. Please lmk if that does not work.

katre commented 6 years ago

I can manage it.

iirina commented 6 years ago

@katre can you make sure 223ed93582dbb730eb92c80cc6350dcec116ec0a will be included in the RC? I think if you cut from the nightly it should be..

katre commented 6 years ago

I will. I plan to check tomorrow's nightly and cut then.

katre commented 6 years ago

Taking 00d781ae78a8bd51d3c61b621d79f0bb095aff9e as the baseline (from last night's nightly run: https://ci.bazel.build/view/Dashboard/job/bazel/job/nightly/212/)

Next step is to build the RC, then start filing bugs on the test failures.

katre commented 6 years ago

Release note edits: None.

katre commented 6 years ago

Release is pushed, waiting for https://ci.bazel.build/job/bazel/job/release/1282/ to finish

laszlocsomor commented 6 years ago

@katre : Please replace the following in the release notes:

With this:

laszlocsomor commented 6 years ago

Actually, @katre , please remove that entry I mentioned altogether. I discovered a bug about it, filing it now, will update this comment with the bug number.

katre commented 6 years ago

How long will the fix be? I'd prefer to edit the release notes and get your fix cherrypicked along with the fix for #4562 in the next RC.

laszlocsomor commented 6 years ago

I can write the fix tomorrow and, if all goes well, get it submitted tomorrow or the day after.

katre commented 6 years ago

SGTM, thanks.

laszlocsomor commented 6 years ago

@katre : bugfix is out for review (https://bazel-review.googlesource.com/c/bazel/+/37190), we'll need a cherrypick.

laszlocsomor commented 6 years ago

4598 is a blocker, will need a cherrypick.

laszlocsomor commented 6 years ago

Please cherrypick https://github.com/bazelbuild/bazel/commit/d855d8133f4efb73ebd5e82c54a9afb4c7565d46 into RC2.

ola-rozenfeld commented 6 years ago

We need to cherrypick https://github.com/bazelbuild/bazel/commit/56aeb04a064218b845ecc193d530c341c6ec854d, ideally into 0.10.1.

katre commented 6 years ago

@ola-rozenfeld I'll add that to the cherrypick list for 0.11.0rc2. For 0.10.1 you'll need to ping the release issue for 0.10.0, which is #4325 .

katre commented 6 years ago

Current release blocking bugs for 0.11.0:

I'll need to verify the sequencing when all cherrypicks are collected.

ola-rozenfeld commented 6 years ago

Commit 56aeb04 https://github.com/bazelbuild/bazel/commit/56aeb04a064218b845ecc193d530c341c6ec854d fixed #4585 https://github.com/bazelbuild/bazel/issues/4585, not sure why it didn't auto-close. Closing now.

On Thu, Feb 8, 2018 at 1:34 PM, katre notifications@github.com wrote:

Current release blocking bugs for 0.11.0:

I'll need to verify the sequencing when all cherrypicks are collected.

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

petemounce commented 6 years ago

Pushed

katre commented 6 years ago

Thanks @petemounce!

laszlocsomor commented 6 years ago
  • There appear to be several commits, but the issue is still open. @laszlocsomor are there more commits coming?

No.

  • d855d8133f4efb73ebd5e82c54a9afb4c7565d46
    • Does not reference the issue, I assume it is related?

Cherry-pick this please.

Bummer. It should reference the bug. That is the bugfix.

  • d7b6a7790eb2f1fb25616c3f76b9ef04d636c979

No cherry-pick.

This is related, but I don't need you to cherry-pick it; it just adds tests for the bugfix.

  • 13c337340cc8904c421d73c685aabe17eeede25b

No cherry-pick.

This is distantly related; it fixes the same bug in the Python runfiles library as d855d8133f4efb73ebd5e82c54a9afb4c7565d46 did in the Java runfiles library. However 0.11.0 does not contain the original commits for the Py runfils library, so this commit needs not be cherry-picked.

katre commented 6 years ago

Thanks for clarifying!

katre commented 6 years ago

Creating RC2.

$ release.sh create 0.11.0 \
  00d781ae78a8bd51d3c61b621d79f0bb095aff9e \
  ea2d4c4 \
  d855d81 \
  56aeb04

Release note edits: removed section of java runfiles (as per https://github.com/bazelbuild/bazel/issues/3959#issuecomment-363505459).

laszlocsomor commented 6 years ago

Release note edits: removed section of java runfiles (as per https://github.com/bazelbuild/bazel/issues/3959#issuecomment-363505459).

Oh, now that I fixed the bug, the section could've stayed! Could you please restore it? I believe you don't need to create a new RC for that.

buchgr commented 6 years ago

@katre please cherry-pick cf3f81aef7c32019d70cbce218a64a03276268f0 - this is a regression from 0.10.0. HTTP Basic Auth for Remote Caching used to work there and users are relying on it.

katre commented 6 years ago

Creating RC2, adding cherrypicks cf3f81aef7c32019d70cbce218a64a03276268f0 and 28bd997c1c8793973f63dcae4c22bbae49e7d8b7.

katre commented 6 years ago

Command:

$ release.sh create 0.11.0 \
  00d781ae78a8bd51d3c61b621d79f0bb095aff9e \
  ea2d4c4 \
  d855d81 \
  56aeb04 \
  cf3f81a \
  28bd997

Note: Cherrypick of cf3f81a required manual fixes due to changes to recently-added remote caching doc.

Release note edits: none.

katre commented 6 years ago

After checking the output of tests, I've filed the following issues. Some of these probably are not release blockers, I will review further.

laszlocsomor commented 6 years ago

~I found another release blocker with the Java runfiles library. I'll file a bug as soon as I have a simple repro and fix.~ Never mind.

hlopko commented 6 years ago

As we discussed internally, would you be so kind to include b3d52b1 in 0.11.0?

ola-rozenfeld commented 6 years ago

https://github.com/bazelbuild/bazel/commit/1001141f0674ff4b611814edcb00a5183680ef4a is now in (again) and as discussed earlier, this needs to go into 0.11.0 as well. Thank you!

On Mon, Feb 19, 2018 at 9:11 AM, Marcel Hlopko notifications@github.com wrote:

As we discussed internally, would you be so kind to include b3d52b1 https://github.com/bazelbuild/bazel/commit/b3d52b1b6d46a0f23cc91125c1d522e9d13433b4 in 0.11.0?

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

katre commented 6 years ago

Preparing RC4.

Command:

$ release.sh create 0.11.0 \
  00d781ae78a8bd51d3c61b621d79f0bb095aff9e \
  ea2d4c4 \
  d855d81 \
  56aeb04 \
  cf3f81a \
  28bd997 \
  109e4b4 \
  b3d52b1 \
  1001141
katre commented 6 years ago

Open issues in 0.11.0rc4:

katre commented 6 years ago

Assuming no new release blockers appears overnight I plan to release 0.11.0 tomorrow.

katre commented 6 years ago

Pushed release:

https://github.com/bazelbuild/bazel/releases/tag/0.11.0 https://releases.bazel.build/0.11.0/release/index.html @petemounce : Could you please update Chocolatey? Thanks! @ilovezfs : Could you please update Homebrew?

ilovezfs commented 6 years ago

Build failed on all 3 CI nodes: https://jenkins.brew.sh/job/Homebrew%20Core%20Pull%20Requests/19148/version=el_capitan/consoleFull https://jenkins.brew.sh/job/Homebrew%20Core%20Pull%20Requests/19148/version=sierra/consoleFull https://jenkins.brew.sh/job/Homebrew%20Core%20Pull%20Requests/19148/version=high_sierra/consoleFull

katre commented 6 years ago

@ilovezfs Ugh, that's weird. I'll try it on my mac and see if I can reproduce it. I don't actually know how Homebrew works, can you point me to the configuration or build script that is being run?

ilovezfs commented 6 years ago

It's running the install method https://github.com/ilovezfs/homebrew-core/blob/32d75a3bdcbe63aa11341dc79650b53fdccceae4/Formula/bazel.rb#L17-L32

/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
brew pull https://github.com/Homebrew/homebrew-core/pull/24479
brew install --debug --verbose --build-from-source bazel
katre commented 6 years ago

@ilovezfs The problem is the "--output_user_root", buildpath/"output_user_root" section. It looks like something related to having the output root in the same directory as the bazel source is causing this.

I'm going to bisect and find the cause (since this worked in 0.10.1, looks like). However, how necessary is it that the output_user_root be in the same directory? Could it be possible to, inside the buildpath, create separate directories for work (the BAZEL_WRKDIR env variable), output_user_root, and bazel (the actual source), which in my tests seems to avoid this problem?

ilovezfs commented 6 years ago
diff --git a/Formula/bazel.rb b/Formula/bazel.rb
index 3554c25..bd50770 100644
--- a/Formula/bazel.rb
+++ b/Formula/bazel.rb
@@ -19,16 +19,22 @@ class Bazel < Formula
     # Force Bazel ./compile.sh to put its temporary files in the buildpath
     ENV["BAZEL_WRKDIR"] = buildpath/"work"

-    system "./compile.sh"
-    system "./output/bazel", "--output_user_root", buildpath/"output_user_root",
-           "build", "scripts:bash_completion"
+    (buildpath/"sources").install buildpath.children

-    bin.install "scripts/packages/bazel.sh" => "bazel"
-    bin.install "output/bazel" => "bazel-real"
-    bin.env_script_all_files(libexec/"bin", Language::Java.java_home_env("1.8"))
+    cd "sources" do
+      system "./compile.sh"
+      system "./output/bazel", "--output_user_root",
+             buildpath/"output_user_root", "build", "scripts:bash_completion"

-    bash_completion.install "bazel-bin/scripts/bazel-complete.bash"
-    zsh_completion.install "scripts/zsh_completion/_bazel"
+      bin.install "scripts/packages/bazel.sh" => "bazel"
+      bin.install "output/bazel" => "bazel-real"
+      bin.env_script_all_files(libexec/"bin", Language::Java.java_home_env("1.8"))
+
+      bash_completion.install "bazel-bin/scripts/bazel-complete.bash"
+      zsh_completion.install "scripts/zsh_completion/_bazel"
+
+      prefix.install_metafiles
+    end
   end

   test do

should work, though it's not pretty.

katre commented 6 years ago

Okay, thanks. I've regressed back to the 0.9.0 release, and I see the same error when output_user_root is in the same directory as Bazel sources, so I'm confused that this ever worked.

ilovezfs commented 6 years ago

It's been working fine like that for a while …

katre commented 6 years ago

It's also possibly a bug in my bisect script, grump grump...

ilovezfs commented 6 years ago

0.11.0 shipped in Homebrew.

katre commented 6 years ago

@ilovezfs Thanks! I appreciate you working with me to help resolve the issue.

ilovezfs commented 6 years ago

You're welcome!

buchgr commented 6 years ago

@ilovezfs big thanks ! awesome!

petemounce commented 6 years ago

I think the automation I wrote is affected by https://githubengineering.com/crypto-removal-notice/. I'll fix and push soonest, but not around this weekend.

petemounce commented 6 years ago

Up now at https://chocolatey.org/packages/bazel/0.11.0 via a manual hack.