From ad654e1ed83ad704953de14e589f9620135f5c16 Mon Sep 17 00:00:00 2001 From: David Zbarsky Date: Fri, 13 Dec 2024 11:03:37 -0500 Subject: [PATCH] Fix rules to work with --incompatible_auto_exec_groups --- .aspect/bazelrc/correctness.bazelrc | 2 +- .aspect/bazelrc/performance.bazelrc | 19 +++++++++++++------ .github/workflows/bazel7.bazelrc | 3 +++ MODULE.bazel | 2 +- e2e/bzlmod/other_module/MODULE.bazel | 1 + e2e/gyp_no_install_script/MODULE.bazel | 2 +- e2e/js_image_oci/MODULE.bazel | 2 +- e2e/js_run_devserver/MODULE.bazel | 2 +- e2e/npm_translate_lock/MODULE.bazel | 2 +- .../MODULE.bazel | 2 +- e2e/npm_translate_lock_empty/MODULE.bazel | 2 +- .../MODULE.bazel | 2 +- e2e/pnpm_lockfiles/MODULE.bazel | 2 +- e2e/pnpm_workspace/MODULE.bazel | 2 +- e2e/pnpm_workspace_rerooted/MODULE.bazel | 2 +- e2e/repo_mapping/MODULE.bazel | 2 +- e2e/runfiles/MODULE.bazel | 2 +- e2e/stamped_package_json/MODULE.bazel | 2 +- e2e/webpack_devserver/MODULE.bazel | 2 +- e2e/webpack_devserver_esm/MODULE.bazel | 2 +- e2e/worker/MODULE.bazel | 2 +- npm/private/npm_package_store.bzl | 1 + 22 files changed, 36 insertions(+), 24 deletions(-) diff --git a/.aspect/bazelrc/correctness.bazelrc b/.aspect/bazelrc/correctness.bazelrc index f381062ae..a14669899 100644 --- a/.aspect/bazelrc/correctness.bazelrc +++ b/.aspect/bazelrc/correctness.bazelrc @@ -24,7 +24,7 @@ test --test_verbose_timeout_warnings # Allow the Bazel server to check directory sources for changes. Ensures that the Bazel server # notices when a directory changes, if you have a directory listed in the srcs of some target. # Recommended when using -# [copy_directory](https://github.com/aspect-build/bazel-lib/blob/main/docs/copy_directory.md) and +# [copy_directory](https://github.com/bazel-contrib/bazel-lib/blob/main/docs/copy_directory.md) and # [rules_js](https://github.com/aspect-build/rules_js) since npm package are source directories # inputs to copy_directory actions. # Docs: https://bazel.build/reference/command-line-reference#flag--host_jvm_args diff --git a/.aspect/bazelrc/performance.bazelrc b/.aspect/bazelrc/performance.bazelrc index acc48c59e..fc404c2fb 100644 --- a/.aspect/bazelrc/performance.bazelrc +++ b/.aspect/bazelrc/performance.bazelrc @@ -1,9 +1,3 @@ -# Don't apply `--noremote_upload_local_results` and `--noremote_accept_cached` to the disk cache. -# If you have both `--noremote_upload_local_results` and `--disk_cache`, then this fixes a bug where -# Bazel doesn't write to the local disk cache as it treats as a remote cache. -# Docs: https://bazel.build/reference/command-line-reference#flag--incompatible_remote_results_ignore_disk -build --incompatible_remote_results_ignore_disk - # Directories used by sandboxed non-worker execution may be reused to avoid unnecessary setup costs. # Save time on Sandbox creation and deletion when many of the same kind of action run during the # build. @@ -18,3 +12,16 @@ build --experimental_reuse_sandbox_directories # author. # Docs: https://bazel.build/reference/command-line-reference#flag--legacy_external_runfiles build --nolegacy_external_runfiles + +# Avoid creating a runfiles tree for binaries or tests until it is needed. +# Docs: https://bazel.build/reference/command-line-reference#flag--build_runfile_links +# See https://github.com/bazelbuild/bazel/issues/6627 +# +# This may break local workflows that `build` a binary target, then run the resulting program +# outside of `bazel run`. In those cases, the script will need to call +# `bazel build --build_runfile_links //my/binary:target` and then execute the resulting program. +build --nobuild_runfile_links + +# Needed prior to Bazel 8; see +# https://github.com/bazelbuild/bazel/issues/20577 +coverage --build_runfile_links diff --git a/.github/workflows/bazel7.bazelrc b/.github/workflows/bazel7.bazelrc index dbd40ee84..dbee13d0d 100644 --- a/.github/workflows/bazel7.bazelrc +++ b/.github/workflows/bazel7.bazelrc @@ -8,6 +8,9 @@ common --noexperimental_check_external_repository_files # but got aspect_bazel_lib@1.31.2 in the resolved dependency graph. common --check_direct_dependencies=off +# Make sure we don't regress this. +common --incompatible_auto_exec_groups + # Directories used by sandboxed non-worker execution may be reused to avoid unnecessary setup costs. # Save time on Sandbox creation and deletion when many of the same kind of action run during the # build. diff --git a/MODULE.bazel b/MODULE.bazel index 90f247fe4..2422c644e 100644 --- a/MODULE.bazel +++ b/MODULE.bazel @@ -9,7 +9,7 @@ module( # Lower-bounds (minimum) versions for direct runtime dependencies. # Do not bump these unless rules_js requires a newer version to function. -bazel_dep(name = "aspect_bazel_lib", version = "2.8.1") +bazel_dep(name = "aspect_bazel_lib", version = "2.9.2") bazel_dep(name = "bazel_features", version = "1.9.0") bazel_dep(name = "bazel_skylib", version = "1.5.0") bazel_dep(name = "platforms", version = "0.0.5") diff --git a/e2e/bzlmod/other_module/MODULE.bazel b/e2e/bzlmod/other_module/MODULE.bazel index 9badd411f..0314f5c86 100644 --- a/e2e/bzlmod/other_module/MODULE.bazel +++ b/e2e/bzlmod/other_module/MODULE.bazel @@ -1,5 +1,6 @@ module(name = "other_module") +bazel_dep(name = "aspect_bazel_lib", version = "2.9.2") bazel_dep(name = "aspect_rules_js", version = "0.0.0") npm = use_extension("@aspect_rules_js//npm:extensions.bzl", "npm") diff --git a/e2e/gyp_no_install_script/MODULE.bazel b/e2e/gyp_no_install_script/MODULE.bazel index e7253173d..23d494b5c 100644 --- a/e2e/gyp_no_install_script/MODULE.bazel +++ b/e2e/gyp_no_install_script/MODULE.bazel @@ -4,7 +4,7 @@ local_path_override( path = "../..", ) -bazel_dep(name = "aspect_bazel_lib", version = "2.7.7", dev_dependency = True) +bazel_dep(name = "aspect_bazel_lib", version = "2.9.2", dev_dependency = True) bazel_dep(name = "platforms", version = "0.0.9", dev_dependency = True) npm = use_extension( diff --git a/e2e/js_image_oci/MODULE.bazel b/e2e/js_image_oci/MODULE.bazel index c58e40caf..be6c32885 100644 --- a/e2e/js_image_oci/MODULE.bazel +++ b/e2e/js_image_oci/MODULE.bazel @@ -4,7 +4,7 @@ local_path_override( path = "../..", ) -bazel_dep(name = "aspect_bazel_lib", version = "2.7.7", dev_dependency = True) +bazel_dep(name = "aspect_bazel_lib", version = "2.9.2", dev_dependency = True) bazel_dep(name = "container_structure_test", version = "1.16.0", dev_dependency = True) bazel_dep(name = "platforms", version = "0.0.10", dev_dependency = True) bazel_dep(name = "rules_nodejs", version = "6.3.0", dev_dependency = True) diff --git a/e2e/js_run_devserver/MODULE.bazel b/e2e/js_run_devserver/MODULE.bazel index 576869664..4de67a0ab 100644 --- a/e2e/js_run_devserver/MODULE.bazel +++ b/e2e/js_run_devserver/MODULE.bazel @@ -4,7 +4,7 @@ local_path_override( path = "../..", ) -bazel_dep(name = "aspect_bazel_lib", version = "2.7.7", dev_dependency = True) +bazel_dep(name = "aspect_bazel_lib", version = "2.9.2", dev_dependency = True) bazel_dep(name = "bazel_skylib", version = "1.5.0", dev_dependency = True) bazel_dep(name = "rules_go", version = "0.46.0", dev_dependency = True) diff --git a/e2e/npm_translate_lock/MODULE.bazel b/e2e/npm_translate_lock/MODULE.bazel index c120a5478..eac507259 100644 --- a/e2e/npm_translate_lock/MODULE.bazel +++ b/e2e/npm_translate_lock/MODULE.bazel @@ -4,7 +4,7 @@ local_path_override( path = "../..", ) -bazel_dep(name = "aspect_bazel_lib", version = "2.7.7", dev_dependency = True) +bazel_dep(name = "aspect_bazel_lib", version = "2.9.2", dev_dependency = True) bazel_dep(name = "bazel_skylib", version = "1.5.0", dev_dependency = True) bazel_dep(name = "platforms", version = "0.0.9", dev_dependency = True) diff --git a/e2e/npm_translate_lock_disable_hooks/MODULE.bazel b/e2e/npm_translate_lock_disable_hooks/MODULE.bazel index 1060835fa..1ad2c80e0 100644 --- a/e2e/npm_translate_lock_disable_hooks/MODULE.bazel +++ b/e2e/npm_translate_lock_disable_hooks/MODULE.bazel @@ -4,7 +4,7 @@ local_path_override( path = "../..", ) -bazel_dep(name = "aspect_bazel_lib", version = "2.7.7", dev_dependency = True) +bazel_dep(name = "aspect_bazel_lib", version = "2.9.2", dev_dependency = True) bazel_dep(name = "bazel_skylib", version = "1.5.0", dev_dependency = True) bazel_dep(name = "platforms", version = "0.0.9", dev_dependency = True) diff --git a/e2e/npm_translate_lock_empty/MODULE.bazel b/e2e/npm_translate_lock_empty/MODULE.bazel index e338f270f..560dd5e49 100644 --- a/e2e/npm_translate_lock_empty/MODULE.bazel +++ b/e2e/npm_translate_lock_empty/MODULE.bazel @@ -4,7 +4,7 @@ local_path_override( path = "../..", ) -bazel_dep(name = "aspect_bazel_lib", version = "2.7.7", dev_dependency = True) +bazel_dep(name = "aspect_bazel_lib", version = "2.9.2", dev_dependency = True) bazel_dep(name = "bazel_skylib", version = "1.5.0", dev_dependency = True) bazel_dep(name = "platforms", version = "0.0.9", dev_dependency = True) diff --git a/e2e/npm_translate_lock_replace_packages/MODULE.bazel b/e2e/npm_translate_lock_replace_packages/MODULE.bazel index 63186ce21..96ed0a7bb 100644 --- a/e2e/npm_translate_lock_replace_packages/MODULE.bazel +++ b/e2e/npm_translate_lock_replace_packages/MODULE.bazel @@ -6,7 +6,7 @@ module( bazel_dep(name = "platforms", version = "0.0.5") bazel_dep(name = "aspect_rules_js", version = "0.0.0") -bazel_dep(name = "aspect_bazel_lib", version = "2.7.7") +bazel_dep(name = "aspect_bazel_lib", version = "2.9.2") bazel_dep(name = "bazel_skylib", version = "1.5.0") local_path_override( diff --git a/e2e/pnpm_lockfiles/MODULE.bazel b/e2e/pnpm_lockfiles/MODULE.bazel index 0fd7c0ced..05e92c61d 100644 --- a/e2e/pnpm_lockfiles/MODULE.bazel +++ b/e2e/pnpm_lockfiles/MODULE.bazel @@ -22,7 +22,7 @@ PNPM_LOCK_TEST_CASES = [ "versionless-patch-v9.yaml", ] -bazel_dep(name = "aspect_bazel_lib", version = "2.7.7") +bazel_dep(name = "aspect_bazel_lib", version = "2.9.2") bazel_dep(name = "bazel_skylib", version = "1.5.0", dev_dependency = True) bazel_dep(name = "rules_nodejs", version = "6.3.0", dev_dependency = True) diff --git a/e2e/pnpm_workspace/MODULE.bazel b/e2e/pnpm_workspace/MODULE.bazel index 4ffe6b2af..c0dbba37c 100644 --- a/e2e/pnpm_workspace/MODULE.bazel +++ b/e2e/pnpm_workspace/MODULE.bazel @@ -6,7 +6,7 @@ local_path_override( path = "../..", ) -bazel_dep(name = "aspect_bazel_lib", version = "2.7.7", dev_dependency = True) +bazel_dep(name = "aspect_bazel_lib", version = "2.9.2", dev_dependency = True) bazel_dep(name = "bazel_skylib", version = "1.5.0", dev_dependency = True) bazel_dep(name = "rules_nodejs", version = "6.3.0", dev_dependency = True) diff --git a/e2e/pnpm_workspace_rerooted/MODULE.bazel b/e2e/pnpm_workspace_rerooted/MODULE.bazel index f2bb2cfe5..c01da832e 100644 --- a/e2e/pnpm_workspace_rerooted/MODULE.bazel +++ b/e2e/pnpm_workspace_rerooted/MODULE.bazel @@ -6,7 +6,7 @@ local_path_override( path = "../..", ) -bazel_dep(name = "aspect_bazel_lib", version = "2.7.7", dev_dependency = True) +bazel_dep(name = "aspect_bazel_lib", version = "2.9.2", dev_dependency = True) bazel_dep(name = "bazel_skylib", version = "1.5.0", dev_dependency = True) bazel_dep(name = "rules_nodejs", version = "6.3.0", dev_dependency = True) diff --git a/e2e/repo_mapping/MODULE.bazel b/e2e/repo_mapping/MODULE.bazel index aa9a9a6bc..7720a940b 100644 --- a/e2e/repo_mapping/MODULE.bazel +++ b/e2e/repo_mapping/MODULE.bazel @@ -5,7 +5,7 @@ module( ) bazel_dep(name = "aspect_rules_js", version = "0.0.0", repo_name = "rules_js-repo_name") -bazel_dep(name = "aspect_bazel_lib", version = "2.7.7") +bazel_dep(name = "aspect_bazel_lib", version = "2.9.2") bazel_dep(name = "bazel_skylib", version = "1.5.0") local_path_override( diff --git a/e2e/runfiles/MODULE.bazel b/e2e/runfiles/MODULE.bazel index d8f80cc43..5d3cc95c9 100644 --- a/e2e/runfiles/MODULE.bazel +++ b/e2e/runfiles/MODULE.bazel @@ -6,7 +6,7 @@ local_path_override( path = "../..", ) -bazel_dep(name = "aspect_bazel_lib", version = "2.7.7", dev_dependency = True) +bazel_dep(name = "aspect_bazel_lib", version = "2.9.2", dev_dependency = True) npm = use_extension( "@aspect_rules_js//npm:extensions.bzl", diff --git a/e2e/stamped_package_json/MODULE.bazel b/e2e/stamped_package_json/MODULE.bazel index 7e1e596c2..20c624317 100644 --- a/e2e/stamped_package_json/MODULE.bazel +++ b/e2e/stamped_package_json/MODULE.bazel @@ -4,4 +4,4 @@ local_path_override( path = "../..", ) -bazel_dep(name = "aspect_bazel_lib", version = "2.7.7", dev_dependency = True) +bazel_dep(name = "aspect_bazel_lib", version = "2.9.2", dev_dependency = True) diff --git a/e2e/webpack_devserver/MODULE.bazel b/e2e/webpack_devserver/MODULE.bazel index 5d9862056..0410742ec 100644 --- a/e2e/webpack_devserver/MODULE.bazel +++ b/e2e/webpack_devserver/MODULE.bazel @@ -4,7 +4,7 @@ local_path_override( path = "../..", ) -bazel_dep(name = "aspect_bazel_lib", version = "2.7.7", dev_dependency = True) +bazel_dep(name = "aspect_bazel_lib", version = "2.9.2", dev_dependency = True) bazel_dep(name = "bazel_skylib", version = "1.5.0", dev_dependency = True) bazel_dep(name = "rules_go", version = "0.46.0", dev_dependency = True) diff --git a/e2e/webpack_devserver_esm/MODULE.bazel b/e2e/webpack_devserver_esm/MODULE.bazel index 5d9862056..0410742ec 100644 --- a/e2e/webpack_devserver_esm/MODULE.bazel +++ b/e2e/webpack_devserver_esm/MODULE.bazel @@ -4,7 +4,7 @@ local_path_override( path = "../..", ) -bazel_dep(name = "aspect_bazel_lib", version = "2.7.7", dev_dependency = True) +bazel_dep(name = "aspect_bazel_lib", version = "2.9.2", dev_dependency = True) bazel_dep(name = "bazel_skylib", version = "1.5.0", dev_dependency = True) bazel_dep(name = "rules_go", version = "0.46.0", dev_dependency = True) diff --git a/e2e/worker/MODULE.bazel b/e2e/worker/MODULE.bazel index 7f75ecb49..eb69ef73e 100644 --- a/e2e/worker/MODULE.bazel +++ b/e2e/worker/MODULE.bazel @@ -4,7 +4,7 @@ local_path_override( path = "../..", ) -bazel_dep(name = "aspect_bazel_lib", version = "2.7.7", dev_dependency = True) +bazel_dep(name = "aspect_bazel_lib", version = "2.9.2", dev_dependency = True) bazel_dep(name = "bazel_skylib", version = "1.5.0", dev_dependency = True) bazel_dep(name = "rules_nodejs", version = "6.3.0", dev_dependency = True) diff --git a/npm/private/npm_package_store.bzl b/npm/private/npm_package_store.bzl index 8962dc1d7..c3b9800c4 100644 --- a/npm/private/npm_package_store.bzl +++ b/npm/private/npm_package_store.bzl @@ -240,6 +240,7 @@ def _npm_package_store_impl(ctx): "--directory", package_store_directory.path, ], + toolchain = "@aspect_bazel_lib//lib:tar_toolchain_type", mnemonic = "NpmPackageExtract", progress_message = "Extracting npm package {}@{}".format(package, version), # Workaround https://github.com/bazelbuild/bazel-central-registry/issues/2256