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 6.4.0 remote #18959

Merged
merged 5 commits into from
Jul 25, 2023
Merged

Conversation

werkt
Copy link
Contributor

@werkt werkt commented Jul 17, 2023

@werkt
Copy link
Contributor Author

werkt commented Jul 17, 2023

I'll redo this onto release-6.4.0 when it is created. Will leave this open until then.

@keertk keertk added the team-Remote-Exec Issues and PRs for the Execution (Remote) team label Jul 18, 2023
@coeuvre
Copy link
Member

coeuvre commented Jul 18, 2023

Can we include/list the original commits to make it easier to follow/review?

@werkt
Copy link
Contributor Author

werkt commented Jul 18, 2023

Can we include/list the original commits to make it easier to follow/review?

Included the titles, PR links, and Copybara commits in description.

@werkt werkt changed the title Release 6.3.0 remote Release 6.4.0 remote Jul 24, 2023
tjgq and others added 4 commits July 24, 2023 19:25
Also refactor a couple places where the stack trace was included in an ad-hoc
manner, and force Utils.grpcAwareErrorMessage callers to be explicit to avoid
future instances.

Closes bazelbuild#16086.

PiperOrigin-RevId: 502854490
Change-Id: Id2d6a1728630fffea9399b406378c7f173b247bd
Unwrapping all StatusRuntimeExceptions in in ReferenceCountedChannel when caused by IOException will discard critical tracing and retriability. The Retrier evaluations may not see an SRE in the causal chain, and presume it is invariably an unretriable exception. In general, IOExceptions as SRE wrappers are unsuitable containers and are routinely misued either for identification (grpc aware status), or capture (handleInitError).

Partially addresses bazelbuild#18764 (retries will occur with SSL handshake timeout, but the actual connection will not be retried)

Closes bazelbuild#18836.

PiperOrigin-RevId: 546037698
Change-Id: I7f6efcb857c557aa97ad3df085fc032c8538eb9a
According to the GrpcRemoteExecutor when it occurs after a !done operation response. Remove the error from the
ExperimentalRemoteGrpcExecutor and reinforce both with tests.

Update the FakeExecutionService to generate compatible error responses that appear in the ExecuteResponse, rather than the operation error field, per the REAPI spec. Made required adjustments to ExGRE Test invocations to avoid the ExecutionStatusException interpretation of DEADLINE_EXCEEDED -> FAILED_PRECONDITION in ExecuteResponse.

Closes bazelbuild#18785.

PiperOrigin-RevId: 546925894
Change-Id: I7a489c8bc936a83cfd94e0138437f3fe6d152da8
Any operation with done == true as reported by the server is not expected to change its result on subsequent waitExecution calls. To properly retry, this action must be reexecuted, if it was truly transient, to achieve a definitive result. Submit a transient status for retry, disallow special behaviors for NOT_FOUND as covered by done observation, and consider method type when handling operation streams.

Closes bazelbuild#18943.

PiperOrigin-RevId: 548680656
Change-Id: Ib2c9887ead1fbd3de97761db6e8b4077783ad03c
@werkt werkt force-pushed the release-6.3.0-remote branch from 3bbf5fb to d8e520a Compare July 24, 2023 23:25
@werkt werkt changed the base branch from release-6.3.0 to release-6.4.0 July 24, 2023 23:26
@werkt werkt mentioned this pull request Jul 24, 2023
6 tasks
@keertk
Copy link
Member

keertk commented Jul 25, 2023

@tjgq / @coeuvre could you review this cherry-pick into 6.4 please?

@keertk keertk enabled auto-merge (squash) July 25, 2023 08:53
@keertk keertk merged commit bade2e9 into bazelbuild:release-6.4.0 Jul 25, 2023
@werkt werkt deleted the release-6.3.0-remote branch July 26, 2023 09:00
copybara-service bot pushed a commit that referenced this pull request Oct 19, 2023
Baseline:  0f231ac

Release Notes:

+ Support multiple remote execution digest functions (#19042)
+ Release 6.4.0 remote (#18959)
+ Move BazelFileSystemModule into bazel package (#19043)
+ Fix a bug where frozen targets list was mutated while expanding env attribute (#19053)
+ Mark isolated extension usages as experimental (#19065)
+ Add the remote_require_cached flag (#19075)
+ Advertise CcInfo from cc_import (#19086) (#19088)
+ Update java_tools version to 12.6 (#19092)
+ Set the digest_function field as part of all relevant gRPC requests (#19049)
+ Merge `use_repo` buildifier fixups into a single command (#19134)
+ Ensure that extension unique names followed by `~` are prefix-free (#19164)
+ Lockfile updates & fixes (#19153)
+ Switch xcode_autoconf to use 'configure = True' (#19174)
+ Cherry pick Add a Starlark flag that allows disabling proguard. This will be useful for testing later. (#19179)
+ Update CODEOWNERS for 6.4.0 (#19194)
+ Friendlier error message for `bazel_dep`s without `version` (#19196)
+ Always check `$config_dependencies` visibility at use (#19197)
+ Add support for the BLAKE3 digest function (#19191)
+ Enable cc toolchain resolution when cross compiling to windows arm64. (#19198)
+ Ensure disk cache root exists (#19225)
+ Fix valid json when using jsonproto output in queries  with new `--ouput=streamed_jsonproto` implementation. (#19226)
+ Add toolchain type for Java bootstrap runtime (#19220)
+ Add Starlark implementation for several CcCommon methods. (#19076)
+ Rename `cc_test_wrapper` to `cc_test` (#19231)
+ Cherry-pick commits to fix a Windows issue (#19232)
+ Add support for more workspace boundary files to bash completion (#19281)
+ Use `debugPrint` instead of `str` for `fail` arguments (#19283)
+ Include name in `repr` of exported `rule`s (#19229)
+ Download `BazelRegistryJson` only once per registry (#19300)
+ Make module extension tag's `debugPrint` useful for error messages (#19285)
+ Intern repository mapping entries (#19293)
+ Add `additional_linker_inputs` option to `cc_library` rule (#19264)
+ Do not rerun module extensions when only imports or locations change (#19284)
+ Add profiling for Bzlmod operations (#19313)
+ Retry on javax.net.ssl.SSLException ... BAD_DECRYPT (#19346)
+ Fetch `RepoSpecs` in parallel (#19354)
+ Make `MODULE.bazel.lock` deterministic (#19370)
+ Ensure lockfile is updated after reset to pre-build state (#19371)
+ build-runfiles: remove temporary file prior to creating it (#19386)
+ Always fail on unknown attributes (#19404)
+ Ignore Starlark options on commands with `allowResidue = False` (#19417)
+ Separate PackageSpecificationProvider from its target (PackageGroupConfiguredTarget) (#19420)
+ Expose PackageSpecificationInfo provider as a top level symbol (#19422)
+ Revert "Report remote execution messages as events" (#19415)
+ [6.4] Add --incompatible_disable_objc_library_transition (#19393)
+ Create .bazelversion to address postsubmit timeout issues (#19435)
+ Add `contains` method inside `PackageSpecificationProvider`  (#19425)
+ Wrong include path to Clang 16 on Windows (#19430)
+ Simplify release notes by just printing the first line of the commit … (#19448)
+ Remove PackageGroupConfiguredTarget.isAvailableFor function (#19444)
+ Remove default -s flag from macOS libtool invocation (#19454)
+ Turn off lockfile feature by default (#19462)
+ Take the no-remote-exec tag into account when computing the action salt (#19457)
+ Add `--incompatible_merge_fixed_and_default_shell_env` (#19319)
+ Improve error when a label is provided in `config_setting`'s `values` (#19484)
+ Mark tool inputs in the execution log. (#19483)
+ Add visionOS support (#19436)
+ Intern empty `Depset`s (#19443)
+ Do not allow applicable_licenses on platform. (#19426)
+ Cherry pick Bzlmod fixes (#19494)
+ Optimize classpath pre-processing in java_stub_template.txt (#19491)
+ Add output name to CacheNotFoundException (#19452)
+ feat: add option to exit early if analysis cache is discarded (#19503)
+ Cherry pick platform dependent lockfile (#19498)
+ Print Passed and Failed methods in detailed test summary (#19505)
+ Add formatted timestamp entries to volatile workspace status file. (#19499)
+ Write an explicit line ending to the lockfile (#19519)
+ Only use `/showIncludes` if supported (#19521)
+ Also apply `NestedSet` optimizations to `Depset` (#19492)
+ Add diff_against_dynamic_baseline option to experimental_output_direc… (#19514)
+ Update java_tools to v12.7 (#19522)
+ Advertise CcInfo from cc_proto_library (#19534)
+ Update unknown Xcode version error message and provide an environment variable to force re-evaluation (#19540)
+ Print dep chain leading to a module that is in error (#19543)
+ Show fetch progress for the `mod` command (#19542)
+ Revert "Switch xcode_autoconf to use 'configure = True' (#19174)" (#19550)
+ Explain the use of `str(Label(...))` in the docs (#19554)
+ Add `--consistent_labels` flag to all query commands (#19567)
+ Inject builtin modules at the end of the MODULE.bazel file (#19573)
+ Disable bzlmod_query_test for RBE build (#19585)
+ Clear runfiles environment variables for `bazel run` (#19606)
+ cc_library: propagate data dependencies via implementation_deps. (#19590)
+ Error on potential unsupported `/showIncludes` lines (#19611)
+ Use case-insensitive comparison for Windows paths in `runfiles.bash`  (#19626)
+ Show test labels in summaries in display form (#19625)
+ Remove stale extension entries from lockfile (#19683)
+ Keep leading zero in formatted date (#19694)
+ Bzlmod lockfile: fix pretty printing for attributes  (#19691)
+ MODULE.bazel.lock file contains user specific paths (#19698)
+ Consider RCs equivalent to release for `bazel_compatibility` (#19689)
+ Use `Label` in `@bazel_tools//tools/jdk` macros (#19675)
+ Remove stale extension entries from lockfile if module order changes (#19730)
+ Update rules_java 5.5.1 (#19701)
+ Fix Java compilation for jdk21 (#19735)
+ Fix output materialized as symlink when building without the bytes. (#19739)
+ Make lockfile's `RepoSpec` attributes more readable (#19748)
+ Merge rule and aspect validation output groups (#19745)
+ Fix handling of non-ASCII characters in archive entry file names (#19765)
+ Raise an early error on invalid labels in transitions inputs/outputs (#19764)
+ Handle synthetic method parameters entries that don't have names (#19758)
+ Bazel release process: Fix push justification. (#19768)
+ Flip --experimental_cc_implementation_deps (#19751)
+ Add blake3 NEON instructions on linux arm64 (#19804)
+ Fix crash when `environ` contains duplicate entries (#19827)
+ Bump c++ standard to c++14 per default (#19794)
+ Collect debug info context from implementation deps (#19836)
+ Fix unconditional Skyframe invalidation with --lockfile_mode=… (#19848)

Acknowledgements:

This release contains contributions from many people at Google, as well as Andreas Herrmann, bazel.build machine account, Brentley Jones, buildbreaker2021, Chirag Ramani, David Ostrovsky, Ed Schouten, Fabian Meumertzheim, George Gensure, Greg, John Laxson, Julio Merino, Keith Smiley, Matt Mackay, Mauricio G, NelsonLi0701, nglevin, Nicholas Junge, oquenchil, Orion Hodson, Roman Salvador, Ted Kaplan, Thi Doan, Thi Don, Tyler Williams, Xùdōng Yáng.
tdibattista pushed a commit to SibrosTech/bazel that referenced this pull request Oct 19, 2023
Baseline:  0f231ac

Release Notes:

+ Support multiple remote execution digest functions (bazelbuild#19042)
+ Release 6.4.0 remote (bazelbuild#18959)
+ Move BazelFileSystemModule into bazel package (bazelbuild#19043)
+ Fix a bug where frozen targets list was mutated while expanding env attribute (bazelbuild#19053)
+ Mark isolated extension usages as experimental (bazelbuild#19065)
+ Add the remote_require_cached flag (bazelbuild#19075)
+ Advertise CcInfo from cc_import (bazelbuild#19086) (bazelbuild#19088)
+ Update java_tools version to 12.6 (bazelbuild#19092)
+ Set the digest_function field as part of all relevant gRPC requests (bazelbuild#19049)
+ Merge `use_repo` buildifier fixups into a single command (bazelbuild#19134)
+ Ensure that extension unique names followed by `~` are prefix-free (bazelbuild#19164)
+ Lockfile updates & fixes (bazelbuild#19153)
+ Switch xcode_autoconf to use 'configure = True' (bazelbuild#19174)
+ Cherry pick Add a Starlark flag that allows disabling proguard. This will be useful for testing later. (bazelbuild#19179)
+ Update CODEOWNERS for 6.4.0 (bazelbuild#19194)
+ Friendlier error message for `bazel_dep`s without `version` (bazelbuild#19196)
+ Always check `$config_dependencies` visibility at use (bazelbuild#19197)
+ Add support for the BLAKE3 digest function (bazelbuild#19191)
+ Enable cc toolchain resolution when cross compiling to windows arm64. (bazelbuild#19198)
+ Ensure disk cache root exists (bazelbuild#19225)
+ Fix valid json when using jsonproto output in queries  with new `--ouput=streamed_jsonproto` implementation. (bazelbuild#19226)
+ Add toolchain type for Java bootstrap runtime (bazelbuild#19220)
+ Add Starlark implementation for several CcCommon methods. (bazelbuild#19076)
+ Rename `cc_test_wrapper` to `cc_test` (bazelbuild#19231)
+ Cherry-pick commits to fix a Windows issue (bazelbuild#19232)
+ Add support for more workspace boundary files to bash completion (bazelbuild#19281)
+ Use `debugPrint` instead of `str` for `fail` arguments (bazelbuild#19283)
+ Include name in `repr` of exported `rule`s (bazelbuild#19229)
+ Download `BazelRegistryJson` only once per registry (bazelbuild#19300)
+ Make module extension tag's `debugPrint` useful for error messages (bazelbuild#19285)
+ Intern repository mapping entries (bazelbuild#19293)
+ Add `additional_linker_inputs` option to `cc_library` rule (bazelbuild#19264)
+ Do not rerun module extensions when only imports or locations change (bazelbuild#19284)
+ Add profiling for Bzlmod operations (bazelbuild#19313)
+ Retry on javax.net.ssl.SSLException ... BAD_DECRYPT (bazelbuild#19346)
+ Fetch `RepoSpecs` in parallel (bazelbuild#19354)
+ Make `MODULE.bazel.lock` deterministic (bazelbuild#19370)
+ Ensure lockfile is updated after reset to pre-build state (bazelbuild#19371)
+ build-runfiles: remove temporary file prior to creating it (bazelbuild#19386)
+ Always fail on unknown attributes (bazelbuild#19404)
+ Ignore Starlark options on commands with `allowResidue = False` (bazelbuild#19417)
+ Separate PackageSpecificationProvider from its target (PackageGroupConfiguredTarget) (bazelbuild#19420)
+ Expose PackageSpecificationInfo provider as a top level symbol (bazelbuild#19422)
+ Revert "Report remote execution messages as events" (bazelbuild#19415)
+ [6.4] Add --incompatible_disable_objc_library_transition (bazelbuild#19393)
+ Create .bazelversion to address postsubmit timeout issues (bazelbuild#19435)
+ Add `contains` method inside `PackageSpecificationProvider`  (bazelbuild#19425)
+ Wrong include path to Clang 16 on Windows (bazelbuild#19430)
+ Simplify release notes by just printing the first line of the commit … (bazelbuild#19448)
+ Remove PackageGroupConfiguredTarget.isAvailableFor function (bazelbuild#19444)
+ Remove default -s flag from macOS libtool invocation (bazelbuild#19454)
+ Turn off lockfile feature by default (bazelbuild#19462)
+ Take the no-remote-exec tag into account when computing the action salt (bazelbuild#19457)
+ Add `--incompatible_merge_fixed_and_default_shell_env` (bazelbuild#19319)
+ Improve error when a label is provided in `config_setting`'s `values` (bazelbuild#19484)
+ Mark tool inputs in the execution log. (bazelbuild#19483)
+ Add visionOS support (bazelbuild#19436)
+ Intern empty `Depset`s (bazelbuild#19443)
+ Do not allow applicable_licenses on platform. (bazelbuild#19426)
+ Cherry pick Bzlmod fixes (bazelbuild#19494)
+ Optimize classpath pre-processing in java_stub_template.txt (bazelbuild#19491)
+ Add output name to CacheNotFoundException (bazelbuild#19452)
+ feat: add option to exit early if analysis cache is discarded (bazelbuild#19503)
+ Cherry pick platform dependent lockfile (bazelbuild#19498)
+ Print Passed and Failed methods in detailed test summary (bazelbuild#19505)
+ Add formatted timestamp entries to volatile workspace status file. (bazelbuild#19499)
+ Write an explicit line ending to the lockfile (bazelbuild#19519)
+ Only use `/showIncludes` if supported (bazelbuild#19521)
+ Also apply `NestedSet` optimizations to `Depset` (bazelbuild#19492)
+ Add diff_against_dynamic_baseline option to experimental_output_direc… (bazelbuild#19514)
+ Update java_tools to v12.7 (bazelbuild#19522)
+ Advertise CcInfo from cc_proto_library (bazelbuild#19534)
+ Update unknown Xcode version error message and provide an environment variable to force re-evaluation (bazelbuild#19540)
+ Print dep chain leading to a module that is in error (bazelbuild#19543)
+ Show fetch progress for the `mod` command (bazelbuild#19542)
+ Revert "Switch xcode_autoconf to use 'configure = True' (bazelbuild#19174)" (bazelbuild#19550)
+ Explain the use of `str(Label(...))` in the docs (bazelbuild#19554)
+ Add `--consistent_labels` flag to all query commands (bazelbuild#19567)
+ Inject builtin modules at the end of the MODULE.bazel file (bazelbuild#19573)
+ Disable bzlmod_query_test for RBE build (bazelbuild#19585)
+ Clear runfiles environment variables for `bazel run` (bazelbuild#19606)
+ cc_library: propagate data dependencies via implementation_deps. (bazelbuild#19590)
+ Error on potential unsupported `/showIncludes` lines (bazelbuild#19611)
+ Use case-insensitive comparison for Windows paths in `runfiles.bash`  (bazelbuild#19626)
+ Show test labels in summaries in display form (bazelbuild#19625)
+ Remove stale extension entries from lockfile (bazelbuild#19683)
+ Keep leading zero in formatted date (bazelbuild#19694)
+ Bzlmod lockfile: fix pretty printing for attributes  (bazelbuild#19691)
+ MODULE.bazel.lock file contains user specific paths (bazelbuild#19698)
+ Consider RCs equivalent to release for `bazel_compatibility` (bazelbuild#19689)
+ Use `Label` in `@bazel_tools//tools/jdk` macros (bazelbuild#19675)
+ Remove stale extension entries from lockfile if module order changes (bazelbuild#19730)
+ Update rules_java 5.5.1 (bazelbuild#19701)
+ Fix Java compilation for jdk21 (bazelbuild#19735)
+ Fix output materialized as symlink when building without the bytes. (bazelbuild#19739)
+ Make lockfile's `RepoSpec` attributes more readable (bazelbuild#19748)
+ Merge rule and aspect validation output groups (bazelbuild#19745)
+ Fix handling of non-ASCII characters in archive entry file names (bazelbuild#19765)
+ Raise an early error on invalid labels in transitions inputs/outputs (bazelbuild#19764)
+ Handle synthetic method parameters entries that don't have names (bazelbuild#19758)
+ Bazel release process: Fix push justification. (bazelbuild#19768)
+ Flip --experimental_cc_implementation_deps (bazelbuild#19751)
+ Add blake3 NEON instructions on linux arm64 (bazelbuild#19804)
+ Fix crash when `environ` contains duplicate entries (bazelbuild#19827)
+ Bump c++ standard to c++14 per default (bazelbuild#19794)
+ Collect debug info context from implementation deps (bazelbuild#19836)
+ Fix unconditional Skyframe invalidation with --lockfile_mode=… (bazelbuild#19848)

Acknowledgements:

This release contains contributions from many people at Google, as well as Andreas Herrmann, bazel.build machine account, Brentley Jones, buildbreaker2021, Chirag Ramani, David Ostrovsky, Ed Schouten, Fabian Meumertzheim, George Gensure, Greg, John Laxson, Julio Merino, Keith Smiley, Matt Mackay, Mauricio G, NelsonLi0701, nglevin, Nicholas Junge, oquenchil, Orion Hodson, Roman Salvador, Ted Kaplan, Thi Doan, Thi Don, Tyler Williams, Xùdōng Yáng.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
team-Remote-Exec Issues and PRs for the Execution (Remote) team
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants