Skip to content
Snippets Groups Projects
This project is mirrored from https://github.com/bazelbuild/bazel.git. Pull mirroring updated .
  1. Dec 12, 2023
    • Xùdōng Yáng's avatar
      update lockfile for 7.0.0 · d62dd312
      Xùdōng Yáng authored
      d62dd312
    • Grzegorz Lukasik's avatar
      Add link to cc_toolchain. · 18597d68
      Grzegorz Lukasik authored
      This seems to be one of most useful links, b/c cc_toolchain is one of top level rules, but there is no direct link to it.
      
      Closes #20476.
      
      PiperOrigin-RevId: 589908152
      Change-Id: I11eeb47a0609c70b03366c63d5422c73e5155d88
      18597d68
    • Googler's avatar
      Update .bazelversion and support matrix after releasing Bazel 7 / deprecating Bazel 4 · 7ddf2969
      Googler authored
      PiperOrigin-RevId: 589862878
      Change-Id: Iab82cd686cad493d6875479a45a9a800d7065f17
      7ddf2969
    • Bazel Release System's avatar
      Release 7.0.0 (2023-12-11) · 51f71f1a
      Bazel Release System authored
      Baseline:  d60ce2c7
      
      Release Notes:
      
      + **[Incompatible]** This has the side effect of changing the message on unsuccessful builds from ``` FAILED: Build did NOT complete successfully (0 packages loaded) ``` to ``` ERROR: Build did NOT complete successfully ```
      + The new path variable `$(rlocationpath ...)` and its plural form `$(rlocationpaths ...)` can be used to expand labels to the paths accepted by the `Rlocation` function of runfiles libraries. This is the preferred way to access data dependencies at runtime and works on all platforms, even when runfiles are not enabled (e.g., on Windows by default).
      + The `aquery` and `cquery` commands now respect the `--query_file` flag just like the `query` command.
      + **[Incompatible]** the --experimental_async_execution flag is now a no-op.
      + **[Incompatible]** --experimental_replay_action_out_err is not a no-op.
      + **[Incompatible]** `cquery --output=files` also outputs source files.
      + removed outdated ctx.host_fragments
      + **[Incompatible]** When multiple --deleted_packages options are passed on the command line, they will be concatenated instead of the latest one taking effect.
      + removed outdated ctx.host_configuration
      + **[Incompatible]** JSON profile: Use doubles instead of strings for counter series.
      + Now that the host configuration is finished, `genrule` should prefer the use of `tools` and stop using `exec_tools`.
      + **[Incompatible]** --experimental_build_transitive_python_runfiles is flipped to false. See #16303 for details
      + **[Incompatible]** --incompatible_python_disable_py2 is flipped to true. See #17293 for details.
      + Update Android manifest merger to v30.1.3, and also drop support for legacy (pre-D8) desugaring.
      + Correctly encode double value positive infinity as "inf" instead of "+inf" for textprotos.
      + **[Incompatible]** When remote cache evicts blobs, Bazel will exit with code 39.
      + Add --use_target_platform_for_tests which uses the target platform for executing tests instead of the execution platform.
      + **[Incompatible]** `--features` only applies to targets built in the target configuration, and `--host_features` is used for the host / exec configuration (gated behind `--incompatible_use_host_features`)
      + Custom C++ rules on Windows calling cc_common.create_linking_context_from_compilation_outputs should review whether each target of the rule type should produce a dynamic library since a condition which blocked their creation has been moved to the rules from behind the API.
      + Add flag `--experimental_remote_cache_ttl` and set the default value to 3 hours.
      + making --incompatible_use_platforms_repo_for_constraints do nothing. Using constraints from @bazel_tools//platforms with or without the flag will throw error with message "Constraints from @bazel_tools//platforms have been removed. Please use constraints from @platforms repository embedded in Bazel, or preferably declare dependency on https://github.com/bazelbuild/platforms"
      + **[Incompatible]** Bazel's local CPU resource on Linux is now container aware. Use `--local_cpu_resources`, `--loading_phase_threads` or `--jobs` to override.
      + Subsequent settings of --extra_execution_platforms now override previous settings, instead of adding them to a list. If you currently set --extra_execution_platforms more than once, please migrate by passing a list of values to --extra_execution_platforms instead so that earlier values aren't overwritten.
      + @bazel_tools//config:common_settings.bzl has been removed. Use @bazel_skylib//rules:common_settings.bzl instead.
      + **[Incompatible]** `copy_from_rule` is exec_groups is deprecated (https://github.com/bazelbuild/bazel/issues/17668).
      + cc_shared_library is no longer experimental, see https://github.com/bazelbuild/bazel/issues/16709 for details
      + **[Incompatible]** --legacy_bazel_java_test is now a no-op
      + The flag `--distinct_host_configuration` is removed. It has been a no-op since Bazel 6.0.0.
      + Add `--skip_incompatible_explicit_targets` option
      + **[Incompatible]** `--experimental_execution_graph_log` no longer exists. Current users that want local logs need to pass `--experimental_enable_execution_graph_log --experimental_execution_graph_log_path=/some/local/path`. Current users that want logs uploaded to BEP need to pass `--experimental_enable_execution_graph_log --experimental_stream_log_file_uploads`.
      + Remove 'darwin' as a CPU value, use 'darwin_x86_64' instead
      + **[Incompatible]** Remove 'darwin' as a CPU value, use 'darwin_x86_64' instead
      + cc_test can now be configured by using a native.toolchain().
      + The location of rules that explicitly specify `generator_name` and/or `generator_function` attributes (typically because they are incidentally copied from `native.existing_rule()`) is now the top-level call in the `BUILD` file, which is consistent with rules that do not explicitly specify these attributes.
      + Warnings (most notably those associated with the `deprecation` rule attribute) are no longer replayed on subsequent invocations unless the target in question is re-analyzed. Warnings are purely informational, so this change has no bearing on the correctness of the build. Downstream tests that break due to this change should update their expectations.
      + `--experimental_remote_build_event_upload` has been renamed to `--remote_build_event_upload`
      + **[Incompatible]** Remove high priority workers functionality from blaze.
      + [Breaking change] platform, constraint_setting, and constraint_value can no longer take an applicable_licenses value. Remediation is to remove the attribute and rely on the package level default.
      + `--experimental_action_cache_store_output_metadata` has been renamed to `--action_cache_store_output_metadata`
      + Changed the default value for `--remote_build_event_upload` to `minimal`.
      + `--experimental_remote_cache_compression` has been renamed to `--remote_cache_compression`
      + Added a new `max_compatibility_level` attribute to the `bazel_dep` directive, which allows version selection to upgrade a dependency up to the specified compatibility level.
      + `--experimental_remote_grpc_log` has been renamed to `--remote_grpc_log`
      + `--incompatible_remote_build_event_upload_respect_no_cache` is now a no-op.
      + json.decode now takes an optional `default` positional parameter; if this parameter is specified and decoding fails, json.decode will return the `default` value instead of failing Starlark evaluation.
      + --experimental_repository_disable_download is now promoted to stable and is also available under the name --repository_disable_download .
      + `applicable_licenses` is no longer allowed on the `platform` rule. Additionally, `default_package_metadata` from any `package` rule will not be applied.
      + **[Incompatible]** Duplicates in <rule-inputs> when using `query --output=xml --aspect_deps=precise` are removed. Added flag `--proto:include_attribute_source_aspects` that will include a new field `source_aspect_name` to the `Attribute` message that indicates the source aspect that the attribute comes from.
      + Options specified on the pseudo-command `common` in `.rc` files are now ignored by commands that do not support them as long as they are valid options for *any* Bazel command. Previously, commands that did not support all options given for `common` would fail to run. These previous semantics of `common` are now available via the new `always` pseudo-command.
      + **[Incompatible]** `--incompatible_check_sharding_support` is enabled by default. Sharded tests with test runners that do not properly advertise support for test sharding will fail. Refer to https://github.com/bazelbuild/bazel/issues/18339 for migration advice.
      + the 'default' param of json.decode can now be used as a keyword parameter.
      + As a transitional step in a larger refactoring, rule transitions are applied twice. Once during dependency resolution and once right before analysis of those rules. After the refactoring is complete, rule transitions will be applied only once.
      + Add aquery --output=streamed_proto which writes a stream of length delimited ActionGraphContainer containing a single Artifact, Action, Target, DepSetOfFiles, Configuration, AspectDescriptor, RuleClass, PathFragment proto. This breaks up the ActionGraphContainer into multiple which will prevent large protos from crashing blaze.
      + (BEP) TargetConfigured events will be marked aborted instead of published when there is an analysis error. This is motivated by a low level Blaze change aimed at improving scalability.
      + **[Incompatible]** cc_binary targets with dynamic_deps attributes no longer link indirect dynamic_deps on Unix. This might be an incompatible change if you are using RUNPATHs (instead of RPATHs) in your cc_shared_libraries. Enable the feature "exclude_bazel_rpaths_in_transitive_libs" or "use_rpath_instead_of_runpath" for those cc_shared_libraries.
      + Enable starlark_doc_extract - a native rule for Starlark documentation extraction. This rule is intended mainly for internal use by Stardoc.
      + **[Incompatible]** Remove deprecated and unused `--experimental_show_artifacts` flag.
      + Added the target path of an UnresolvedSymlink action to the aquery results
      + Additional source inputs can now be specified for compilation in cc_library targets using the additional_compiler_inputs attribute, and these inputs can be used in the $(location) function.
      + More descriptive error messages for unexpected cc absolute includes; unexpected absolute includes for cc compiles shouldn't be reported as "undeclared inclusion(s)"
      + Enable C++ branch coverage if gcov version is 8 or newer.
      + Deduplicates the result of split transitions uniformly, regardless of whether they are Starlark or native transitions. This used to apply only if either the attribute or rule transition contained a Starlark transition.
      + Support for optimizers rewriting baseline profiles.
      + This is a breaking change. `cc_host_toolchain_alias` rule is obsolete and can be interchangeably used with `cc_toolchain_alias` rule.
      + Fixes non-ascii arguments written to parameter files as mojibake.
      + NA
      + The `genrule` attribute `exec_tools` will be removed in a future Bazel release. Please follow directions at #19132 to migrate away from it.
      + **[Incompatible]** Removed multi_arch_split, use transition_support.apple_platform_split_transition from rules_apple instead.
      + Supports for android_binary.startup_profiles attribute.
      + **[Incompatible]** Removed apple_crosstool_transition, use transition_support.apple_rule_transition from rules_apple instead.
      + **[Incompatible]** Drop deprecated 'transitive_deps', 'transitive_runtime_deps' from JavaInfo
      + **[Incompatible]** The --android_include_proguard_location_references flag is not supported anymore.
      + **[Incompatible]** The --apple_compiler command line option is not available anymore.
      + `rule()` and `attr.*` can no longer be (pointlessly) called during WORKSPACE evaluation and repository rule evaluation.
      + Expands baseline profile wildcards before optimizer tools see them.
      + **[Incompatible]** --no_proguard_location_reference is now added unconditionally to the command line of aapt2.
      + **[Incompatible]** The command line flag --apple_enable_auto_dsym_dbg is not supported anymore.
      + **[Incompatible]** The --apple_compiler command line option is not available anymore.
      + **[Incompatible]** py_transitions top-level was removed.
      + Android resources will no longer propagate through neverlinked libraries by default.
      + Set Android Databinding to v2 and Databinging AndroidX to true and remove support for Databinding V1.
      + Added whether or not a FileWrite action's output is executable to the aquery results
      + --use_single_jar_apk_builder is removed. It's been a no-op for years.
      + **[Incompatible]** --incompatible_merge_fixed_and_default_shell_env is flipped to true. See #19317 for details.
      + JVM options in environment variables JAVA_TOOL_OPTIONS and JDK_JAVA_OPTIONS now do not get to the server; use --host_jvm_args instead.
      + --remote_download_minimal no longer implies --nobuild_runfile_links.
      + attr objects in Starlark now use value equality rather than reference equality.
      + **[Incompatible]** `cmd_helper` module was removed
      + **[Incompatible]** `ctx.new_file` was removed, `ctx.actions.declare_file` is to be used instead.
      + **[Incompatible]** Fails on unknown attributes (even when set to None). See https://github.com/bazelbuild/bazel/issues/19403
      + Change output paths to consistently start with [cpu]-[compilation_mode] along with other cleanups to output path generation logic.
      + Compilation actions using the auto-configured MSVC toolchain are forced to emit error messages in English if the English language pack for Visual Studio is installed.
      + **[Incompatible]** Flip incompatible_enable_cc_toolchain_resolution (https://github.com/bazelbuild/bazel/issues/7260)
      + The new `--consistent_labels` option on `query`, `cquery`, and `aquery` can be used to force consistent label formatting across all output modes that is also compatible with `str(Label(...))` in Starlark.
      + **[Incompatible]** proto_compiler attribute removed from proto_lang_toolchain (it was recently introduced, and there is no evidence of use)
      + **[Incompatible]** --experimental_genquery_use_graphless_query is made to be a NO-OP.
      + **[Incompatible]** The --call_count_output_path command line option is not supported anymore.
      + **[Incompatible]** The no-op --dynamic_worker_strategy command line option is no available anymore.
      + **[Incompatible]** the --experimental_allow_top_level_aspects_parameters, --experimental_async_execution, --experimental_availability_info_exempt, --experimental_dynamic_execution_cpu_limited, --experimental_dynamic_skip_first_build, --experimental_keep_config_nodes_on_analysis_discard, --experimental_local_memory_estimate, --experimental_multi_cpu, --experimental_multi_threaded_digest, --experimental_replay_action_out_err and --experimental_shortened_obj_file_path command line options are not available anymore.
      + **[Incompatible]** The --experimental_cc_shared_library_debug command line flag is not available anymore.
      + **[Incompatible]** testing.analysis_test is not experimental anymore
      + **[Incompatible]** The (no-op) --android_include_proguard_location_references flag is not available anymore.
      + **[Incompatible]** The --experimental_android_local_test_binary_resources command line option is not available anymore.
      + **[Incompatible]** The --experimental_includes_attribute_subpackage_traversal command line option is not available anymore.
      + **[Incompatible]** The --debug_print_action_contexts command line option is not available anymore.
      + **[Incompatible]** The --experimental_skyframe_include_scanning command line option is not available anymore.
      + **[Incompatible]** The --experimental_supports_info_crosstool_configuration command line option is not available anymore.
      + **[Incompatible]** THe --incompatible_avoid_conflict_dlls command line option is not available anymore.
      + **[Incompatible]** The --experimental_prioritize_local_actions command line option is not available anymore.
      + **[Incompatible]** The following command line options are not supported anymore: --incompatible_disable_cc_configuration_make_variables, --incompatible_disable_cc_toolchain_label_from_crosstool_proto, --incompatible_disable_crosstool_file, --incompatible_disable_depset_in_cc_user_flags, --incompatible_disable_legacy_cpp_toolchain_skylark_api, --incompatible_disable_legacy_cpp_toolchain_skylark_api, incompatible_disable_legacy_flags_cc_toolchain_api, --incompatible_disable_managed_directories, --incompatible_disable_runtimes_filegroups, --incompatible_disable_sysroot_from_configuration, --incompatible_disable_tools_defaults_package, --incompatible_disallow_legacy_javainfo, --incompatible_dont_emit_static_libgcc, --incompatible_enable_legacy_cpp_toolchain_skylark_api, --incompatible_linkopts_in_user_link_flags, --incompatible_provide_cc_toolchain_info_from_cc_toolchain_suite, --incompatible_require_feature_configuration_for_pic .
      + **[Incompatible]** The --experimental_execution_graph_log_cached and --experimental_execution_graph_log_missed command line options are not available anymore.
      + **[Incompatible]** The --experimental_use_sh_binary_stub_script command line option is not available anymore.
      + **[Incompatible]** The --incompatible_disable_expand_if_all_available_in_flag_set command line option is not available anymore.
      + default_applicable_licenses in package() now applies to the entire BUILD file, regardless of where in the BUILD that package() is called.
      + **[Incompatible]** The --incompatible_load_cc_rules_from_bzl command line option is not available anymore.
      + **[Incompatible]** The --incompatible_display_source_file_location command line option is not available anymore.
      + **[Incompatible]** The --experimental_repository_hash_file and --experimental_verify_repository_rules command line options are not available anymore.
      + **[Incompatible]** The following previously no-op command line options are not available anymore: --legacy_spawn_scheduler, --use_workers_with_dexbuilder, --print_workspace_in_output_paths_if_needed, --watchos_simulator_version, --watchos_simulator_device, --tvos_simulator_version, --tvos_simulator_device.
      + **[Incompatible]** The --show_warnings command line option of the command "canonicalize-flags" is not available anymore.
      + **[Incompatible]** The command line option --remove_all_convenience_symlinks is not available anymore.
      + **[Incompatible]** java_test doesn't produce deploy jars anymore
      + **[Incompatible]** The lazy template expansion is not experimental anymore (--experimental_lazy_template_expansion command line option is not available anymore).
      + **[Incompatible]** The --incompatible_disallow_legacy_javainfo command line option is not available anymore.
      + **[Incompatible]** The --incompatible_remove_cpu_and_compiler_attributes_from_cc_toolchain command line option is not available anymore. Using the "cpu" and "compiler" options of the cc_toolchain rule now results in a slightly different error that is signaled earlier.
      + **[Incompatible]** THe --incompatible_force_strict_header_check_from_starlark command line option is not available anymore.
      + **[Incompatible]** --incompatible_visibility_private_attributes_at_definition is flipped to true. See https://github.com/bazelbuild/bazel/issues/19330 for details.
      + **[Incompatible]** The --experimental_java_proto_library_default_has_services command line option and the Starlark symbol java_common.experimental_java_proto_library_default_has_services function are not available anymore.
      + **[Incompatible]** The no-op --experimental_cpp_compile_argv_ignore_param_file command line option is not available anymore.
      + Make variable expansion of `objc_library` produces better error messages.
      + **[Incompatible]** rule function takes only implementation function positionally, other parameters have to be named
      + **[Incompatible]** The --incompatible_genquery_use_graphless_query command line options is not available anymore.
      + Added support for a new directive `use_repo_rule` in MODULE.bazel files, which allows you to conveniently declare repos that are only visible within your module.
      + Bazel now throws an error if the root module specifies overrides on nonexistent modules.
      + Fix includes attribute of `objc_library` when sibling repository layout is used.
      + Directories used by sandboxed non-worker execution may be reused to avoid unnecessary setup costs. Disable behavior with --noreuse_sandbox_directories.
      + **[Incompatible]** The sandboxfs sandboxing strategy is removed. It hadn't been maintained for a long time, it didn't work for most users and it was not consistently faster while being complex to set up. sandboxfs performance is heavily dependent on the specific setup (setup costs are lower, but you have to pay a penalty for the use of each input) and there are scenarios where it is faster and scenarios where it is slower. Overall it is not worth its weight.
      + Symlink trees created by sandboxing will be deleted asynchronously. Disable behavior with --experimental_sandbox_async_tree_delete_idle_threads=0.
      + **[Incompatible]** Bzlmod is enabled by default, please consider migrating your external dependencies from WORKSPACE to MODULE.bazel. Find more details at https://github.com/bazelbuild/bazel/issues/18958
      + Enable Platforms and Toolchains for Android. Android projects will need to stop passing the legacy flag `--fat_apk_cpu`, and instead use `--android_platforms` using platforms defined with the `@platforms//os:android` constraint. The https://github.com/bazelbuild/rules_android repository defines four standard Android platforms for projects that use those rules, `@rules_android//:armeabi-v7a`, `@rules_android//:arm64-v8a`, `@rules_android//:x86`, `@rules_android//:x86_64`.
      + **[Incompatible]** Java runtime toolchains created via `local_java_repository` from `@bazel_tools//tools/jdk:local_java_repository.bzl`, which includes `local_jdk`, now have `target_compatible_with` set to the auto-detected host constraints. This can result in errors about toolchain resolution failures for `@bazel_tools//tools/jdk:runtime_toolchain_type`, especially when cross-compiling. These failures can be fixed in the following ways (listed in decreasing order of preference): * Replace `java_binary` targets that aren't meant to be run with `bazel run` or as tools during the build with `java_single_jar` (available in `@rules_java//java:java_single_jar.bzl`). Such targets do not require a Java runtime for the target configuration. * Set `--java_runtime_version=remotejdk_N` for some Java version `N` to let Bazel choose and download an appropriate remote JDK for the current target platform. This setting defaults to `local_jdk`, which means that Bazel can only use the local JDK, which isn't compatible with any other platform. * Manually define and register a `local_java_runtime` with no value set for `exec_compatible_with` (defaults to `[]`) and select it by setting `--java_runtime_version` to its `name`. This fully restores the previous behavior, but can result in incorrect results when cross-compiling (see #18265). Closes #18262. Commit https://github.com/bazelbuild/bazel/commit/f79ca0275e14d7c8fb478bd910ad7fb127440fd8
      + none Commit https://github.com/bazelbuild/bazel/commit/7d87996d2c2018f0c6dd9b200482320d0e40f024
      + None Commit https://github.com/bazelbuild/bazel/commit/0a1dce27650a233d8acb1f09a1181279f510cae8
      + **[Incompatible]** The attribute `new_local_repository.build_file` no longer accepts a path; a label must be passed instead. Closes #19992. Commit https://github.com/bazelbuild/bazel/commit/76d71d93c5baa233bd1dca3f2862eebe827a1eb4
      + **[Incompatible]** Delete the --experimental_execution_log_file flag. Use --execution_log_binary_file in conjunction with --noexecution_log_sort instead.
      + **[Incompatible]** transition is removed from objc_library (https://github.com/bazelbuild/bazel/issues/19688) (cherry picked from commit b4292d2e
      
      ) Co-authored-by: default avatarGoogler <ilist@google.com>
      + **[Incompatible]** All labels in Bazel error messages, log output, Build Event Protocol, etc. are now prefixed with double-at (`@@`) instead of single-at (`@`) where applicable, to properly denote that they contain canonical repo names.
      + None. Commit https://github.com/bazelbuild/bazel/commit/491284b0c782e0df25dd0a8bc921a9c2de0e6881
      + **[Incompatible]** `--incompatible_sandbox_hermetic_tmp` is enabled by default. See #19915 for migration advice. Closes #19943. Commit https://github.com/bazelbuild/bazel/commit/e2c0276d1fd69c19d6946fb17f9e983e9ea68025
      + **[Incompatible]** The `--experimental_repository_cache_urls_as_default_canonical_id` flag is no longer available. Instead, the `http_archive`, `http_file`, `http_jar`, `jvm_maven_import_external`, and `jvm_import_external` repository rules now use the URLs as the canonical ID if none is provided explicitly. If this behavior is not desired, it can be disabled via `--repo_env=BAZEL_HTTP_RULES_URLS_AS_DEFAULT_CANONICAL_ID=0`. Fixes #19749 Closes #20047.
      + None Commit https://github.com/bazelbuild/bazel/commit/65f847a0103329f684e4313d49154583de15d164
      + None Commit https://github.com/bazelbuild/bazel/commit/9bbc2cbebf5c395c5504db7dfcfc5bda7e00bd3c
      + none Fixes #19920 Commit https://github.com/bazelbuild/bazel/commit/886b13fd00b5a17161d9558b6b11dd135355e5cb
      + **[Incompatible]** The `BAZEL_CURRENT_REPOSITORY` preprocessor variable, which holds the canonical name of the Bazel repository containing a `cc_*` target, is now only set during compilation if the target depends on the C/C++ runfiles library `@bazel_tools//tools/cpp/runfiles` via `deps` or `implementation_deps`. Fixes #20371 Closes #20388. Commit https://github.com/bazelbuild/bazel/commit/454b5506d82584616fcd707ed2e9bd1fe627c974
      + `--zip_undeclared_test_outputs` now preserves symlinks when zipping `$TEST_UNDECLARED_OUTPUTS_DIR`. Closes #19948. Change-Id: Ia4a8a9699e4e2f40498342af55babc5554a9ac93 Commit https://github.com/bazelbuild/bazel/commit/8e639dfa8c7aa0723123ee90dc933d528a4f2b68
      + **[Incompatible]** Toolchains and execution platforms are now registered in the following order with `--enable_bzlmod`: 1. root module's module file 2. `WORKSPACE` or `WORKSPACE.bzlmod` 3. non-root modules' module files 4. default toolchains registered by Bazel (does not apply with `WORKSPACE.bzlmod` or execution platforms) Fixes #20354 Closes #20407. Commit https://github.com/bazelbuild/bazel/commit/96b361205ee05dcacdcf5055ca9cc3e5ca5d126c#diff-a8d3aed419e661d4dbecb2dc6668444212d7b1707ff61330b7d8aae61e75d4df
      
      Acknowledgements:
      
      This release contains contributions from many people at Google, as well as Adam Lavin, Adrian Imboden, Alan Falloon, Alessandro Patti, Alex Eagle, Alexander Grund, AlexTereshenkov, Amanda L Martin, Amet Umerov, Andreas Herrmann, Andy Hamon, andyrinne12, Ankit Agarwal, Ankush Goyal, Anshuman Mishra, Anthony Ter-Saakov, Antoine Musso, Artem Zinnatullin, arun.sampathkumar, aryeh, Austin Schuh, bazel.build machine account, Ben Lee, Benjamin Lee, Benjamin Peterson, Benjamin Sigonneau, Boleyn Su, Brentley Jones, Cameron Martin, Chirag Ramani, Chris Sauer, Christopher Peterson Sauer, Christopher Rydell, Christopher Sauer, Conall O'Brien, Daniel Grunwald, Daniel KT, Daniel Wagner-Hall, David Ostrovsky, dhmemi, Dimi Shahbaz, eareilg, Ed Schouten, Emil Kattainen, Ezekiel Warren, Fabian Meumertzheim, Fahrzin Hemmati, Gaspare Vitta, George Gensure, Greg, Greg Magolan, Grzegorz Lukasik, Guillaume Maudoux, Gunnar Wagenknecht, Halil Sener, Hao Yuan, hvadehra, hvd, Ilan Keshet, Ivan Golub, Jack Dai, James Ma, Jason Mobarak, Jasper, Jay Conrod, Jeff Hodges, Jeremy Volkman, Jimm chja20, Joel Jeske, John Hinnegan, Jon Landis, Jon Parise, jonrose-dev, Joseph Lisee, Joseph Tilahun, Julio Merino, Kai Zhang, keertk, Keith Smiley, Konstantin Erman, Krzysztof Naglik, kshyanashree, Kun-Lu, Laurenz Altenmller, Lee Mracek, Letu Ren, lripoche, Maksim, Malte Poll, Marc Redemske, Marc Zych, Matt Mackay, Matt Vollmer, Mauricio G, Mauricio Galindo, Maxim Matyunin, Maxwell Elliott, mohamadk, Nathan (Blaise) Bruer, nathyong, NelsonLi0701, nglevin, Nicholas Junge, Nick Biryulin, Nick Korostelev, Oliver Lee, Orion Hodson, Oscar Garzon, Patrice Duroux, Patrick Balestra, Peter Lobsinger, Philipp Schrader, Rasrack, Red Daly, redwrasse, Robin Tweedie, robincaloudis, Roger Hu, Romain Chossart, Roman Salvador, Sagar Pathare, Saleem Abdulrasool, Sam Shadwell, Sara Adams, Sascha Moecker, Scott Minor, Severin Strobl, Shaygan Hooshyari, Siddhesh Bhupendra Kuakde, Simon Mavi Stewart, something_vague, Son Luong Ngoc, Steve Barrau, Stiopa Koltsov, stoozy, Sushain Cherivirala, Takeo Sawada, Taylor Barrella, tbaing, Ted Kaplan, Ted Logan, Thi Don, Thulio Ferraz Assis, Timothy Gu, Tom Cnops, Tyler Williams, Ulf Adams, Ulrik Falklof, Uri Baghin, Vertexwahn, Xavier Bonaventura, Xdng Yng, Xiangquan Xiao, Xùdōng Yáng, Yannic, Yannic Bonenberger, Yi Cheng, Yuval Kaplan, yuzhy8701, Zheng Wei Tan.
      51f71f1a
  2. Dec 09, 2023
    • Fabian Meumertzheim's avatar
      Remove unnecessary `cc_test` coverage handling · 591d1257
      Fabian Meumertzheim authored
      Both the `lcov_merger` and the `collect_cc_coverage` script are obtained from "well-known" implicit attributes of Starlark rules and do not require any further special handling.
      
      Removing this special handling also fixes a fringe bug: When a `cc_test` is wrapped in another test target that applies a transition to it, the removed logic set the `LCOV_MERGER` variable to the untransitioned path of the `lcov_merger`, which will then not be available in the test sandbox since it is only added as a runfile, but the test action references it via its exec path. This resulted in a "file not found" error that broke coverage.
      
      Closes #20349.
      
      PiperOrigin-RevId: 589252093
      Change-Id: I810f1b414dcfedcc8930a74390ef5c9bfd2cd030
      591d1257
    • Googler's avatar
      Don't rewind nodes that are done with an error. · f6746f58
      Googler authored
      We don't intentionally attempt to rewind nodes in error, but it can happen when two parents observe the same lost input and there is a race to rewind the node. After the first parent rewinds it, the node completes with an error (i.e. because the action is flaky), then the losing parent arrives. Rewinding the errorful node again is problematic in a `--nokeep_going` build because error bubbling expects the errorful node to be done.
      
      A regression test is added to `MemoizingEvaluatorTest`.
      
      PiperOrigin-RevId: 589132267
      Change-Id: Idc9c30c2fea34d02d31fa20a5f4855cb1300c1ba
      f6746f58
  3. Dec 08, 2023
    • Googler's avatar
      Automated rollback of commit ffa75bf9. · e560c490
      Googler authored
      *** Reason for rollback ***
      
      Does not handle the case where a flaky action is rewound and evaluates to an error (toValue returns null). This situation was observed in b/315301248.
      
      *** Original change description ***
      
      Replace the big map in `ArtifactNestedSetFunction` with direct Skyframe graph access.
      
      This is fundamentally equivalent, but saves memory (~0.4% on an example build) from the `ConcurrentHashMap` structure, though all of the keys and values are typically still retained in Skyframe nodes.
      
      Memory savings may be greater on certain incremental builds due to Skyframe GC of dirty nodes (by default, we delete all dirty nodes at the end of a build, see `--version_window_for_dirty_node_gc`). Previously,...
      
      ***
      
      PiperOrigin-RevId: 589123293
      Change-Id: I71e20d93c4d2d0c2c384cb9e7e9edbb0203d69d0
      e560c490
    • Googler's avatar
      Tolerate the possibility of a swig action depending on headers generated by shared actions. · 65da0151
      Googler authored
      Shared actions produce artifacts with equal exec paths, so we can't use `Maps#uniqueIndex`.
      
      PiperOrigin-RevId: 589123066
      Change-Id: Id472319c41ff287218e35173fbecb6a0bd0e089d
      65da0151
    • Googler's avatar
      Automatic code cleanup. · 77fc9497
      Googler authored
      PiperOrigin-RevId: 589043711
      Change-Id: I75e059b0503949e7637f3c5a11f8d585799abd7c
      77fc9497
    • Googler's avatar
      Get rid of logic which assumed `cc_toolchain` might have been analyzed in a... · b2a89372
      Googler authored
      Get rid of logic which assumed `cc_toolchain` might have been analyzed in a different configuration from rules.
      
      Since both `incompatible_require_ctx_in_configure_features` and `incompatible_enable_cc_toolchain_resolution` are no-op logic is obsolete.
      
      PiperOrigin-RevId: 588879596
      Change-Id: Iea6aa3f9fae437b1f00b386f474e40f9a52542fc
      b2a89372
    • Googler's avatar
      Propagate the tool bit to logged directory inputs. · 8b55ad2f
      Googler authored
      PiperOrigin-RevId: 588834575
      Change-Id: I119063c6c06353bf71a12d076d98f3d2a9a76f33
      8b55ad2f
    • Googler's avatar
      Report empty files in the spawn log. · d9edb1da
      Googler authored
      PiperOrigin-RevId: 588814851
      Change-Id: I6f5be1ad2b49e503da7caa1e0246dbf358391f15
      d9edb1da
    • Googler's avatar
      Correctly log paths for runfiles and filesets. · 773daaf5
      Googler authored
      The input mapping keys are canonical wrt the filesystem location of an input file as observed by the spawn. However, in the case of a runfiles or fileset tree, the actual contents are found at the filesystem location of the input mapping values.
      
      PiperOrigin-RevId: 588801774
      Change-Id: Iea111802b006f5750655eb4fa228abdd52567812
      773daaf5
  4. Dec 07, 2023
    • Googler's avatar
      Add SpawnBuilder#with{Inputs,Tools} overloads accepting a NestedSet. · dbd5c6e9
      Googler authored
      This makes it possible to write tests that are sensitive to the nested set structure of the inputs.
      
      PiperOrigin-RevId: 588790161
      Change-Id: I79595c1f8b2a72adb02dcb91599addda54c72f43
      dbd5c6e9
    • Googler's avatar
      Remove worker events (created, evicted, destroyed) and calculate the... · 564a3993
      Googler authored
      Remove worker events (created, evicted, destroyed) and calculate the worker_pool_stats from the final list of WorkerProcessMetrics. This will log all WorkerPoolStats for all worker pools (even though nothing may have happened) and let us infer what happened from the counts. Also add unknown_destroyed_count and alive_count to the WorkerPoolStats proto (the latter describes the current status of the pool).
      
      Some additional points:
      1. Worker events are only used to generate the `worker_pool_stats` in the BEP.
      2. Since we already keep killed worker metrics (`WorkerProcessMetrics`) around during the build, we don't need this mechanism in (1) to tell us what happened to each worker and just infer directly from the worker metrics.
      3. This allows us to have a consistency between the `worker_pool_stats` and worker_metrics in the BEP in terms of the counts. See (4) and (5).
      4. Counting worker events can be inaccurate, a worker process can be forcefully killed (`WorkerLifecycleManager#killLargeWorkers`) in one build, and only counted in the next build when the spawn runner realizes that the worker is invalid because the process has already terminated, only then posting a `WorkerDestroyedEvent`.
      5. If no workers are killed or created during a build, then the `worker_pool_stats` is empty, which is likely confusing. It would be clearer log all worker pools (even though nothing happened) and let the counts in the proto explicitly tell us what has happened.
      
      RELNOTES: Log all WorkerPoolStats for all worker pools (even though workers aren't created or destroyed). Also add unknown_destroyed_count and alive_count to the WorkerPoolStats proto.
      PiperOrigin-RevId: 588787331
      Change-Id: I70eec4a7accbeb2dc129af4e3290ae714ff63655
      564a3993
    • Googler's avatar
      Internal build change. · d4781f37
      Googler authored
      PiperOrigin-RevId: 588776100
      Change-Id: I8b200d00c385145076dd42b301473eb262702d13
      d4781f37
    • Googler's avatar
      Test that missing spawn outputs are logged correctly. · 6520247d
      Googler authored
      PiperOrigin-RevId: 588772554
      Change-Id: Id6297b21cd78788a5e670cc9c87e0be857f5e40a
      6520247d
    • Gunnar Wagenknecht's avatar
      Read authentication information from .netrc · ce8bd903
      Gunnar Wagenknecht authored
      Workaround for #13709
      
      Closes #20417.
      
      PiperOrigin-RevId: 588762567
      Change-Id: Ie02d7ff6ffaad646bf67059bebc7e0d5894f079e
      ce8bd903
    • Googler's avatar
      Simplify computeDigest. · dc5dd046
      Googler authored
      We can obtain the byte contents of a VirtualActionInput directly. (Sadly this still doesn't avoid a buffer copy, it just makes the code shorter.)
      
      PiperOrigin-RevId: 588759693
      Change-Id: I5e42913b8560f15d3b355845f02a68a1f1b60ba0
      dc5dd046
    • Justin Horvitz's avatar
      Re-enable minimal_jdk_test with a higher tolerance · 360fd626
      Justin Horvitz authored
      Re-enable `minimal_jdk_test` with a higher tolerance.
      
      Closes #20451.
      
      PiperOrigin-RevId: 588756736
      Change-Id: Ib26da4a31f942b1f0d7a3ed976389449f7995105
      360fd626
    • thesayyn's avatar
      Add support for arbitrary headers to rctx.download[_and_extract] · 2b8885ed
      thesayyn authored
      fixes #17829
      
      Closes #19501.
      
      PiperOrigin-RevId: 588750878
      Change-Id: I11c982864135d8e1c4420099ce27f67accd3fe20
      2b8885ed
    • Googler's avatar
      Make incompatible_require_ctx_in_configure_features flag no-op, it has been flipped · bc883d8d
      Googler authored
      for a while.
      
      PiperOrigin-RevId: 588730664
      Change-Id: I7e1cfbf35557a5f54d13844fddd9f00e9ba04aba
      bc883d8d
    • Googler's avatar
      [GOOGLE][Skymeld] Make orphaned artifact detection available for Skymeld. · 5b52f018
      Googler authored
      Internal change.
      
      PiperOrigin-RevId: 588730288
      Change-Id: Ib9e13e4271e2ec555d14aa743acca33c1b66b814
      5b52f018
    • Fabian Meumertzheim's avatar
      Make Bazel's RAM estimate container aware · 2f3cdc53
      Fabian Meumertzheim authored
      As of JDK 14, `OperatingSystemMXBean` provides information about system memory that is container-aware. Outside containers, it uses the same mechanisms as Bazel to determine available RAM (`/proc/meminfo` on Linux, `hw.memsize` on macOS) and can thus be used as a drop-in replacement for the custom implementation.
      
      A small caveat is that Bazel's macOS RAM estimate was based on converting bytes to "MB" via a divisor of `1000^2` instead of `1024^2`, resulting in a consistent overestimate compared to an identical Linux machine that is now corrected.
      
      This opportunity was missed in https://github.com/bazelbuild/bazel/pull/16512 since `OperatingSystemMXBean` is based on a complete Java implementation of cgroups handling and doesn't go through the `os::total_memory` or `os::physical_memory` Hotspot functions.
      
      RELNOTES[INC]:
      * On Linux, Bazel's RAM estimate for the host machine is now aware of container resource limits.
      * On macOS, Bazel no longer consistently overestimates the total RAM by ~5% (`1024^2/1000^2`).
      * On Windows, Bazel's RAM estimate is now generally more accurate as it is no longer influenced by JVM heuristics.
      
      Fixes #3886
      
      Closes #20435.
      
      PiperOrigin-RevId: 588718034
      Change-Id: I2daafa0567740a1b149ca8756ec27f102129283c
      2f3cdc53
    • Googler's avatar
      Move StableSort into the exec package. · 18409dc4
      Googler authored
      It's an implementation detail of ExpandedSpawnLogContext.
      
      PiperOrigin-RevId: 588706888
      Change-Id: I8292bbdbccae7d5081b9ac5ac88dbc5574eb4127
      18409dc4
    • Fabian Meumertzheim's avatar
      Set minimum heap size for native Turbine to 512 MB · 84f43178
      Fabian Meumertzheim authored
      Closes #20360.
      
      PiperOrigin-RevId: 588550978
      Change-Id: I746b113b1d2b338b6212fd9decce92127dfd414d
      84f43178
    • Googler's avatar
      Pin the cherry-pick action to the latest commit to include the fix to change... · d0892f40
      Googler authored
      Pin the cherry-pick action to the latest commit to include the fix to change the cherry-pick PR's titles to the commit's title, instead of the same issue title to avoid confusion.
      
      PiperOrigin-RevId: 588539988
      Change-Id: I36b3d1024cc4a7df0bd7b00985475c1d976d6ca5
      d0892f40
    • Googler's avatar
      Fix minor rendering issue on Build encyclopedia. · 492ee4c9
      Googler authored
      PiperOrigin-RevId: 588517339
      Change-Id: I79d1b92a0ed744d9782407e60d3f4ce7c4e8f82a
      492ee4c9
    • Googler's avatar
      Call `SkyframeExecutor#decideKeepIncrementalState` before `BlazeModule#beforeCommand`. · 0be04769
      Googler authored
      This way, modules can use the result of `SkyframeExecutor#tracksStateForIncrementality`.
      
      PiperOrigin-RevId: 588511102
      Change-Id: Ide1a9d2cc143c85b789fc172d93de44ab020effa
      0be04769
    • Augie Fackler's avatar
      Internal change. · d2c79821
      Augie Fackler authored
      PiperOrigin-RevId: 588504054
      Change-Id: Ibcab23d25b9e13f8f1bb3b623a3aa001bc601be3
      d2c79821
    • Googler's avatar
      Remove outdated _allowlist_function_transition references. · 11a632c9
      Googler authored
      These are outdated as of https://github.com/bazelbuild/bazel/commit/bb7fb2d32f055f2a70a5ab394cf5aef29bc74b2e.
      
      PiperOrigin-RevId: 588489312
      Change-Id: Ia257c2bee30cad0c9287ab1ae2011ee82e061054
      11a632c9
    • Googler's avatar
      Replace the big map in `ArtifactNestedSetFunction` with direct Skyframe graph access. · ffa75bf9
      Googler authored
      This is fundamentally equivalent, but saves memory (~0.4% on an example build) from the `ConcurrentHashMap` structure, though all of the keys and values are typically still retained in Skyframe nodes.
      
      Memory savings may be greater on certain incremental builds due to Skyframe GC of dirty nodes (by default, we delete all dirty nodes at the end of a build, see `--version_window_for_dirty_node_gc`). Previously, the associated metadata would not be evicted from the big map in this case.
      
      PiperOrigin-RevId: 588458502
      Change-Id: I8e334953fb87741e84b0233c547c4271b8e5c105
      ffa75bf9
    • Ed Schouten's avatar
      Use a larger buffer size for `java.util.zip.*Stream` classes · 75a66937
      Ed Schouten authored
      `DeflaterInputStream`, `GZIPInputStream`, `GZIPOutputStream`, and `InflaterInputStream`, all use an internal byte buffer of 512 bytes by default.
      
      Whenever the wrapped stream exceeds this size, a full copy to a new buffer will occur, which will increase at increments of the same size. For example, a stream of length 2K will be copied four times. Increasing the size of the buffer we use can result in significant reductions in CPU usage (read: copies).
      
      Examples in the repository
      --------------------------
      
      There are already two places where we increase the default size of these buffers:
      
      - `//src/main/java/com/google/devtools/build/lib/bazel/repository/TarGzFunction.java`
      - `//src/main/java/com/google/devtools/build/lib/bazel/repository/downloader/HttpStream.java`
      
      Prior art
      ---------
      
      There is an open enhancement issue in the OpenJDK tracker on this which contains a benchmark for `InflaterOutputStream`:
      
      > Increase the default, internal buffer size of the Streams in `java.util.zip`
      > https://bugs.openjdk.org/browse/JDK-8242864
      
      A similar change was merged in for JDK15+ in 2020:
      
      > Improve performance of `InflaterOutputStream.write()`
      > https://bugs.openjdk.org/browse/JDK-8242848
      
      
      
      Providing a simple benchmark
      ----------------------------
      
      I'm inlining a simple `jmh` benchmark and the results underneath it for one `GzipInputStream` case.
      
      The benchmark:
      
      ```
      @Fork(1)
      @Threads(1)
      @Warmup(iterations = 2)
      @State(Scope.Benchmark)
      @OutputTimeUnit(TimeUnit.NANOSECONDS)
      public class GZIPInputStreamBenchmark {
          @Param({"1024", "3072", "9216"})
          long inputLength;
          @Param({"512", "1024", "4096", "8192"})
          int bufferSize;
          private byte[] content;
      
          @Setup(Level.Iteration)
          public void setup() throws IOException {
              var baos = new ByteArrayOutputStream();
              // No need to set the buffer size on this as it's a one-time cost for setup and not counted in the result.
              var gzip = new GZIPOutputStream(baos);
      
              var inputBytes = generateRandomByteArrayOfLength(inputLength);
              gzip.write(inputBytes);
              gzip.finish();
      
              this.content = baos.toByteArray();
          }
      
          @Benchmark
          @BenchmarkMode(Mode.AverageTime)
          public void getGzipInputStream(Blackhole bh) throws IOException {
              try (var is = new ByteArrayInputStream(this.content);
                   var gzip = new GZIPInputStream(is, bufferSize)) {
                  bh.consume(gzip.readAllBytes());
              }
          }
      
          byte[] generateRandomByteArrayOfLength(long length) {
              var random = new Random();
              var intStream = random.ints(0, 5000).limit(length).boxed();
      
              return intStream.collect(
                      ByteArrayOutputStream::new,
                      (baos, i) -> baos.write(i.intValue()),
                      (baos1, baos2) -> baos1.write(baos2.toByteArray(), 0, baos2.size())
              ).toByteArray();
          }
      }
      ```
      
      The results:
      
      ```
      Benchmark                                    (bufferSize)  (inputLength)  Mode  Cnt      Score    Error  Units
      GZIPInputStreamBenchmark.getGzipInputStream           512           1024  avgt    5   3207.217 ± 24.919  ns/op
      GZIPInputStreamBenchmark.getGzipInputStream           512           3072  avgt    5   5874.191 ±  5.827  ns/op
      GZIPInputStreamBenchmark.getGzipInputStream           512           9216  avgt    5  15567.345 ± 93.281  ns/op
      GZIPInputStreamBenchmark.getGzipInputStream          1024           1024  avgt    5   2580.566 ± 14.566  ns/op
      GZIPInputStreamBenchmark.getGzipInputStream          1024           3072  avgt    5   4154.582 ± 16.016  ns/op
      GZIPInputStreamBenchmark.getGzipInputStream          1024           9216  avgt    5   9942.521 ± 61.215  ns/op
      GZIPInputStreamBenchmark.getGzipInputStream          4096           1024  avgt    5   2150.255 ± 52.770  ns/op
      GZIPInputStreamBenchmark.getGzipInputStream          4096           3072  avgt    5   2289.185 ± 71.396  ns/op
      GZIPInputStreamBenchmark.getGzipInputStream          4096           9216  avgt    5   5656.891 ± 28.499  ns/op
      GZIPInputStreamBenchmark.getGzipInputStream          8192           1024  avgt    5   2177.427 ± 30.896  ns/op
      GZIPInputStreamBenchmark.getGzipInputStream          8192           3072  avgt    5   2517.390 ± 21.296  ns/op
      GZIPInputStreamBenchmark.getGzipInputStream          8192           9216  avgt    5   5227.932 ± 55.525  ns/op
      ```
      
      Co-authored-by: default avatarKushal Pisavadia <kushal.p@apple.com>
      
      Closes #20316.
      
      PiperOrigin-RevId: 588444920
      Change-Id: I1fb47f0b08dcb8d72f3e2c43534c33d60efb87f2
      75a66937
    • Googler's avatar
      Introduce a SpawnLogContext interface. · 020b85e4
      Googler authored
      For now, the sole implementation is ExpandedSpawnLogContext, which subsumes the old SpawnLogContext class, as well as some of the logic around log formats currently in SpawnLogModule.
      
      In a followup, a separate CompactSpawnLogContext implementation will be introduced. This will let us experiment with a new log format while minimizing the chance of accidentally breaking the existing formats.
      
      PiperOrigin-RevId: 588444807
      Change-Id: I75bc2a577ec45202baf95c950a257eaf420cbeb0
      020b85e4
    • Googler's avatar
      No public description · 962db946
      Googler authored
      PiperOrigin-RevId: 588441468
      Change-Id: Ib98b3e661efcc230b079c4653344b6b3e1683c8a
      962db946
    • Googler's avatar
      Generate .pdb files when building cc_shared_library targets for Windows · d160b12d
      Googler authored
      This enables the functionality to generate .pdb files when building a DLL from a cc_shared_library target with the Lexan toolchain, which is already supported when using a cc_binary target.
      
      The change has been tested manually with a local cc_shared_library target, with and without the shared_lib_name attribute.
      
      I'm not exactly sure how the automated/unit tests for cc_shared_library work, but it seems like when the test targets in //third_party/bazel/src/main/starlark/tests/builtins_bzl/cc/cc_shared_library/test_cc_shared_library/BUILD.builtin_test are built for Windows, the pdb logic should also be executed, so if there are failures they should be caught. A test that would make sense is to check the filenames for the generated pdb files, but I don't see tests that do this for DLLs so I assume we're not doing that for Windows.
      
      PiperOrigin-RevId: 588441321
      Change-Id: I20aa6d855514d3864c7f2f4b658f279367128030
      d160b12d
    • Augie Fackler's avatar
      Internal change. · c96fbc55
      Augie Fackler authored
      PiperOrigin-RevId: 588433264
      Change-Id: Ief0576e6ae3a1fc394bb26915cbca1f2bfc64e03
      c96fbc55
  5. Dec 06, 2023
    • Googler's avatar
      Create a flag to toggle tracking of lost discovered inputs. · 130266b8
      Googler authored
      It is expected that this behavior is not necessary. The flag will allow for thorough vetting before removing it.
      
      While here, update the help string for `--rewind_lost_inputs` to remove outdated prerequisites.
      
      PiperOrigin-RevId: 588409077
      Change-Id: I87dbbac0b910a3d90fc4fbf4b722f0d90edbe8c3
      130266b8
    • Googler's avatar
      Enable macOS presubmit and disable failing tests · ff0d6dbb
      Googler authored
      To prevent further regressions on macOS.
      
      Related: https://github.com/bazelbuild/bazel/issues/20437
      PiperOrigin-RevId: 588402302
      Change-Id: I91fba9cad88c45626a51ee05b527bf7a3b66199b
      ff0d6dbb
    • Googler's avatar
      Make cc_toolchain_suite a no-op · 2e3903ce
      Googler authored
      Remove cc_toolchain_suite from Bazel's unit tests.
      
      The rule cc_toolchain_suite doesn't participate in toolchain resolution anymore. It may be used in cc_library.toolchains or genrule.toolchains, where a simple replacement with //tools/cpp:current_cc_toolchain works.
      
      Removing the rule is an incompatible change (because transitions depend on the label value). That will require a cleanup. That's why making it a no-op first.
      RELNOTES[INC]: cc_toolchain_suite is a no op rule (https://github.com/bazelbuild/bazel/issues/7260).
      
      PiperOrigin-RevId: 588364153
      Change-Id: I3502554628c442ddf38b52cb949bdaa128e641e9
      2e3903ce