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 7.0.0 - December 2023 #18548

Closed
8 tasks done
Pavank1992 opened this issue May 31, 2023 · 29 comments
Closed
8 tasks done

Release 7.0.0 - December 2023 #18548

Pavank1992 opened this issue May 31, 2023 · 29 comments
Assignees
Labels
P1 I'll work on this now. (Assignee required) release team-OSS Issues for the Bazel OSS team: installation, release processBazel packaging, website type: process

Comments

@Pavank1992
Copy link
Contributor

Pavank1992 commented May 31, 2023

Status of Bazel 7.0.0

  • Expected first release candidate date: October 17, 2023
  • Expected final release candidate date: December 6, 2023
  • Expected release date: December 11, 2023
  • List of release blockers

To report a release-blocking bug, please add a comment with the text @bazel-io flag to the issue. A release manager will triage it and add it to the milestone.

To cherry-pick a mainline commit into 7.0.0, simply send a PR against the release-7.0.0 branch. (This branch will be created in October.)

Task list:

@Pavank1992 Pavank1992 added P1 I'll work on this now. (Assignee required) type: process release team-OSS Issues for the Bazel OSS team: installation, release processBazel packaging, website labels May 31, 2023
@Pavank1992 Pavank1992 pinned this issue May 31, 2023
@iancha1992
Copy link
Member

Hi everyone,

Bazel 7.0.0rc1 is now available for those that want to try it out.
You can download it from: https://releases.bazel.build/7.0.0/rc1/index.html.

Please test it out and report any issues here as soon as possible.

A draft of the release notes can be found here.

@iancha1992
Copy link
Member

Hi everyone,

Bazel 7.0.0rc2 is now available for those that want to try it out.

You can download it from: https://releases.bazel.build/7.0.0/rc2/index.html.
If you're using Bazelisk, you can point to the latest RC by setting USE_BAZEL_VERSION=last_rc.

Please report regressions here as soon as possible.
Draft release notes can be found here.

@jmmv
Copy link
Contributor

jmmv commented Nov 1, 2023

I've been testing Bazel 7 but just now realized that I was using an "ancient" pre-release (7.0.0-pre.20231011.2 instead of 7.0.0rc2) because... I was looking for the candidates in the wrong place.

Issues:

  • All previous prereleases show up under https://github.com/bazelbuild/bazel/releases , but none of the RCs do.
  • The pages linked above don't look "professional". There are broken characters everywhere and the pages don't integrate with the Bazel site.
  • Downloads feel super-slow compared to downloads from GitHub releases. That might have been an issue on my side actually...
  • The top-level directory inside the release tarballs is "broken". Typically, unpacking bazel-7.0.0rc2.tar.gz should result in a bazel-7.0.0rc2 directory... but what I get is a bazel directory. This does not follow standard practice in any open source distribution, and also does not match what Bazel has been doing in all previous releases.

What's going on here? This looks very sketchy and does not inspire confidence.

@Wyverald
Copy link
Member

Wyverald commented Nov 3, 2023

FWIW, the RC setup has always been like this; nothing has changed (at least in the past 3 years or so). That's not to say the situation is great; we could certainly get rid of the unstyled HTML pages.

Regarding the "ancient" pre-releases, those are rolling releases that are cut from HEAD roughly every 2 weeks. Those are very different from RCs.

@AustinSchuh
Copy link
Contributor

Any ideas when the release is going to happen? gRPC has made noise suggesting that they don't want to support bazel 7 until it is released, which is pretty annoying... grpc/grpc#34791

@keertk
Copy link
Member

keertk commented Nov 8, 2023

@AustinSchuh we have quite a few release blockers that are currently being worked on for Bazel 7.
We're hoping to have the final release in the next couple of weeks but will post here if anything changes.

@keertk
Copy link
Member

keertk commented Nov 8, 2023

Bazel 7.0.0rc3 is now available - https://releases.bazel.build/7.0.0/rc3/index.html.

Please test it out and report any issues here as soon as possible. Draft release notes can be found here. Thanks!

@BalestraPatrick BalestraPatrick unpinned this issue Nov 16, 2023
@keertk keertk pinned this issue Nov 16, 2023
@iancha1992
Copy link
Member

Bazel 7.0.0rc4 is now available - https://releases.bazel.build/7.0.0/rc4/index.html.

Please test it out and report any issues here as soon as possible. Draft release notes can be found here. Thanks!

@rsalvador
Copy link
Contributor

Bazel 7.0.0rc3 was building without problems our big monorepo, but 7.0.0rc4 fails with errors, e.g.:

WARNING: /Users/rsalvador/.../BUILD.bazel:3:17: output 'ui-services-connection-models-api/modelbuilder_generated' of //ui-services-connection-models-api:ui_services_connection_model is a directory; dependency checking of directories is unsound
ERROR: /Users/rsalvador/.../BUILD.bazel:3:17: modelbuilder generating srcjar modelbuilder_generated.srcjar failed: Exec failed due to IOException: /Users/rsalvador/.cache/bazel/b6de016d545fc335c6fe85486d422c54/execroot/core/bazel-out/darwin_x86_64-fastbuild/bin/ui-services-connection-models-api/modelbuilder_generated (No such file or directory)

and

FATAL: bazel crashed due to an internal error. Printing stack trace:
java.lang.RuntimeException: Unrecoverable error while evaluating node 'ActionLookupData6{actionLookupKey=ConfiguredTargetKey{label=//tools/build/bazel/rules/lwc/js:bundle, config=BuildConfigurationKey[6aa701ced8cd3692bfda0c63eeb4de6bb53c8649464bf1688db8c6f5976ed915]}, actionIndex=6}' (requested by nodes 'ArtifactNestedSetKey[6]@774500339', 'ArtifactNestedSetKey[5]@1662963755')
	at com.google.devtools.build.skyframe.AbstractParallelEvaluator$Evaluate.run(AbstractParallelEvaluator.java:550)
	at com.google.devtools.build.lib.concurrent.AbstractQueueVisitor$WrappedRunnable.run(AbstractQueueVisitor.java:414)
	at java.base/java.util.concurrent.ForkJoinTask$RunnableExecuteAction.exec(ForkJoinTask.java:1426)
	at java.base/java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:290)
	at java.base/java.util.concurrent.ForkJoinPool$WorkQueue.topLevelExec(ForkJoinPool.java:1020)
	at java.base/java.util.concurrent.ForkJoinPool.scan(ForkJoinPool.java:1656)
	at java.base/java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1594)
	at java.base/java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:183)
Caused by: java.lang.UnsupportedOperationException: Cannot get node id for RegularFileArtifactValue{digest=e58e4f6d4f57ab1e4a503a523d1c4e34ed03eee292a0237a898ac158c1b7bc69, size=1080, proxy=ctime of 1700240624111 and mtime of 499162500000 and nodeId of 2582129255}
	at com.google.devtools.build.lib.remote.RemoteActionFileSystem$2.getNodeId(RemoteActionFileSystem.java:634)
	at com.google.devtools.build.lib.vfs.DigestUtils$CacheKey.<init>(DigestUtils.java:67)
	at com.google.devtools.build.lib.vfs.DigestUtils.manuallyComputeDigest(DigestUtils.java:193)
	at com.google.devtools.build.lib.vfs.DigestUtils.getDigestWithManualFallback(DigestUtils.java:160)
	at com.google.devtools.build.lib.exec.SpawnLogContext.computeDigest(SpawnLogContext.java:348)
	at com.google.devtools.build.lib.exec.SpawnLogContext.listDirectoryContents(SpawnLogContext.java:296)
	at com.google.devtools.build.lib.exec.SpawnLogContext.logSpawn(SpawnLogContext.java:130)
	at com.google.devtools.build.lib.exec.AbstractSpawnStrategy.exec(AbstractSpawnStrategy.java:192)
	at com.google.devtools.build.lib.exec.AbstractSpawnStrategy.exec(AbstractSpawnStrategy.java:119)
	at com.google.devtools.build.lib.exec.SpawnStrategyResolver.exec(SpawnStrategyResolver.java:45)
	at com.google.devtools.build.lib.analysis.actions.SpawnAction.execute(SpawnAction.java:261)
	at com.google.devtools.build.lib.skyframe.SkyframeActionExecutor$ActionRunner.executeAction(SkyframeActionExecutor.java:1148)
	at com.google.devtools.build.lib.skyframe.SkyframeActionExecutor$ActionRunner.run(SkyframeActionExecutor.java:1065)
	at com.google.devtools.build.lib.skyframe.ActionExecutionState.runStateMachine(ActionExecutionState.java:165)
	at com.google.devtools.build.lib.skyframe.ActionExecutionState.getResultOrDependOnFuture(ActionExecutionState.java:94)
	at com.google.devtools.build.lib.skyframe.SkyframeActionExecutor.executeAction(SkyframeActionExecutor.java:562)
	at com.google.devtools.build.lib.skyframe.ActionExecutionFunction.checkCacheAndExecuteIfNeeded(ActionExecutionFunction.java:859)
	at com.google.devtools.build.lib.skyframe.ActionExecutionFunction.computeInternal(ActionExecutionFunction.java:333)
	at com.google.devtools.build.lib.skyframe.ActionExecutionFunction.compute(ActionExecutionFunction.java:171)
	at com.google.devtools.build.skyframe.AbstractParallelEvaluator$Evaluate.run(AbstractParallelEvaluator.java:461)

the first error we can probably fix in our generator, but the internal error may point to some regression?

@keertk
Copy link
Member

keertk commented Nov 17, 2023

@rsalvador Thanks for flagging. Would you mind opening a separate issue for this with more details please?

@rsalvador
Copy link
Contributor

@keertk here is the issue #20246
is there a way of finding out the bazel commits between 7.0.0rc3 and 7.0.0rc4?

@keertk
Copy link
Member

keertk commented Nov 17, 2023

Thanks! I think you can use bazelisk bisect to identify the culprit commit between rc3 and rc4.

@iancha1992 iancha1992 added this to the 7.1.0 release blockers milestone Nov 17, 2023
@keertk keertk removed this from the 7.1.0 release blockers milestone Nov 18, 2023
@meisterT meisterT assigned tjgq and unassigned tjgq Nov 20, 2023
@keertk
Copy link
Member

keertk commented Nov 20, 2023

Update: the final rc (and final release) date has been pushed back by a few days since we're working on a couple of new release blockers.

@zhengwei143 zhengwei143 unpinned this issue Nov 21, 2023
@meisterT meisterT pinned this issue Nov 21, 2023
@saraadams
Copy link
Contributor

saraadams commented Nov 23, 2023

Thanks for checking, Sara! Both things are likely not intentional. I'm OOO the next few days, but feel free to send PRs to fix them in the meantime.

I sent two PRs. With a locally built Bazel that includes these changes, I could no longer observe the two described issues above. I also verified that 6.4.0 is not affected.

@hvadehra hvadehra unpinned this issue Nov 24, 2023
@hvadehra hvadehra pinned this issue Nov 24, 2023
copybara-service bot pushed a commit that referenced this issue Nov 27, 2023
The JSON trace profile includes counter for data such as action count, CPU usage, memory usage.
The code for writing the events to include these was refactored in a03674e As part of that change the events written no longer include a `tid` (thread ID). However, each event in the JSON trace profile is expected to include a `tid`, as documented in
https://docs.google.com/document/d/1CvAClvFfyA5R-PhYUmn5OOQtYMH4h6I0nSsKchNAySU/preview#heading=h.uxpopqvbjezh

This change ensures the counter series events again have a `tid`, using the current thread's ID. This is consistent with the behavior that was present before the refactor.

In response to #18548 (comment)
Fixes EngFlow/bazel_invocation_analyzer#113

Closes #20300.

PiperOrigin-RevId: 585636103
Change-Id: I2aa1ff1e656324410d120ff5b6071028b0a5dce3
bazel-io pushed a commit to bazel-io/bazel that referenced this issue Nov 27, 2023
The JSON trace profile includes counter for data such as action count, CPU usage, memory usage.
The code for writing the events to include these was refactored in bazelbuild@a03674e As part of that change the events written no longer include a `tid` (thread ID). However, each event in the JSON trace profile is expected to include a `tid`, as documented in
https://docs.google.com/document/d/1CvAClvFfyA5R-PhYUmn5OOQtYMH4h6I0nSsKchNAySU/preview#heading=h.uxpopqvbjezh

This change ensures the counter series events again have a `tid`, using the current thread's ID. This is consistent with the behavior that was present before the refactor.

In response to bazelbuild#18548 (comment)
Fixes EngFlow/bazel_invocation_analyzer#113

Closes bazelbuild#20300.

PiperOrigin-RevId: 585636103
Change-Id: I2aa1ff1e656324410d120ff5b6071028b0a5dce3
copybara-service bot pushed a commit that referenced this issue Nov 27, 2023
Currently, the thread that includes the garbage collection notification events is not correctly identified.
This means that in the JSON trace profile, the thread:

* is not renamed, as desired.
* is not sorted towards the top, as desired.

The thread is identified by its name, which has changed from "Service Thread" to "Notification Thread". This change updates the profile code accordingly.

In response to #18548 (comment)
Fixes EngFlow/bazel_invocation_analyzer#110

Closes #20299.

PiperOrigin-RevId: 585639069
Change-Id: Id4aadb5451839b5be07ac98428f9367764ff46ce
bazel-io pushed a commit to bazel-io/bazel that referenced this issue Nov 27, 2023
Currently, the thread that includes the garbage collection notification events is not correctly identified.
This means that in the JSON trace profile, the thread:

* is not renamed, as desired.
* is not sorted towards the top, as desired.

The thread is identified by its name, which has changed from "Service Thread" to "Notification Thread". This change updates the profile code accordingly.

In response to bazelbuild#18548 (comment)
Fixes EngFlow/bazel_invocation_analyzer#110

Closes bazelbuild#20299.

PiperOrigin-RevId: 585639069
Change-Id: Id4aadb5451839b5be07ac98428f9367764ff46ce
keertk pushed a commit that referenced this issue Nov 27, 2023
The JSON trace profile includes counter for data such as action count,
CPU usage, memory usage.
The code for writing the events to include these was refactored in
a03674e
As part of that change the events written no longer include a `tid`
(thread ID). However, each event in the JSON trace profile is expected
to include a `tid`, as documented in

https://docs.google.com/document/d/1CvAClvFfyA5R-PhYUmn5OOQtYMH4h6I0nSsKchNAySU/preview#heading=h.uxpopqvbjezh

This change ensures the counter series events again have a `tid`, using
the current thread's ID. This is consistent with the behavior that was
present before the refactor.

In response to
#18548 (comment)
Fixes EngFlow/bazel_invocation_analyzer#113

Closes #20300.

Commit
16acadb

PiperOrigin-RevId: 585636103
Change-Id: I2aa1ff1e656324410d120ff5b6071028b0a5dce3

Co-authored-by: Sara Adams <sara@engflow.com>
@AustinSchuh
Copy link
Contributor

AustinSchuh commented Nov 27, 2023

I'm getting worse behavior on #12712 than bazel 6. It feels like something broke BAZEL_DO_NOT_DETECT_CPP_TOOLCHAIN I used to be able to work around it, now I'm struggling to find a way.

@keertk
Copy link
Member

keertk commented Nov 27, 2023

cc @comius / @buildbreaker2021 could you take a look please?

keertk pushed a commit that referenced this issue Nov 27, 2023
Currently, the thread that includes the garbage collection notification
events is not correctly identified.
This means that in the JSON trace profile, the thread:

* is not renamed, as desired.
* is not sorted towards the top, as desired.

The thread is identified by its name, which has changed from "Service
Thread" to "Notification Thread". This change updates the profile code
accordingly.

In response to
#18548 (comment)
Fixes EngFlow/bazel_invocation_analyzer#110

Closes #20299.

Commit
13829ed

PiperOrigin-RevId: 585639069
Change-Id: Id4aadb5451839b5be07ac98428f9367764ff46ce

Co-authored-by: Sara Adams <sara@engflow.com>
@keertk
Copy link
Member

keertk commented Nov 28, 2023

Update: due to open release blockers and ongoing network issues, we've moved the final RC to later this week and final release to next week.

@keertk keertk changed the title Release 7.0.0 - November 2023 Release 7.0.0 - December 2023 Nov 28, 2023
@iancha1992
Copy link
Member

Bazel 7.0.0rc5 is now available - https://releases.bazel.build/7.0.0/rc5/index.html.

Please test it out and report any issues here as soon as possible. Draft release notes can be found here. Thanks!

@saraadams
Copy link
Contributor

I verified that in 7.0.0rc5 the two issues highlighted in #18548 (comment) are fixed.

@rsalvador
Copy link
Contributor

Verified #20246 is fixed in 7.0.0rc5

@saraadams
Copy link
Contributor

No regression from 7.0.0rc5 to 7.0.0rc6 re #18548 (comment)

@tjgq tjgq unpinned this issue Dec 5, 2023
@tjgq tjgq pinned this issue Dec 5, 2023
@konste
Copy link
Contributor

konste commented Dec 6, 2023

Bazel 7.0.0 RC6 regressed errors reporting when --keep_going is specified: #20443

@iancha1992
Copy link
Member

Bazel 7.0.0rc7 is now available - https://releases.bazel.build/7.0.0/rc7/index.html.

Please test it out and report any issues here as soon as possible. Draft release notes can be found here. Thanks!

@iancha1992
Copy link
Member

7.0.0 is out:

https://github.com/bazelbuild/bazel/releases/tag/7.0.0
https://releases.bazel.build/7.0.0/release/index.html
cc @excitoon @vbatts for updating Scoop and Fedora packages. Thanks.

@chiragramani
Copy link
Contributor

Looks like --jobs is ignored in Bazel 7, more in this issue: #20521

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
P1 I'll work on this now. (Assignee required) release team-OSS Issues for the Bazel OSS team: installation, release processBazel packaging, website type: process
Projects
None yet
Development

No branches or pull requests

14 participants