Skip to content

fix: always use the target platform for tool in js_run_devserver#2853

Merged
acozzette merged 1 commit into
aspect-build:mainfrom
acozzette:devserver
May 21, 2026
Merged

fix: always use the target platform for tool in js_run_devserver#2853
acozzette merged 1 commit into
aspect-build:mainfrom
acozzette:devserver

Conversation

@acozzette
Copy link
Copy Markdown
Contributor

I realized that the logic here was more complicated than it needed to be. With js_run_binary, we're running a JavaScript tool that often operates on JavaScript sources, so it makes sense that we need to think which inputs are built for the exec platform and which ones are built for the target platform.

But js_run_devserver is different, because the tool we are working with is not intended to run as part of a build action. All we are doing is packaging up the tool in a launcher script so that it can be executed with bazel run. Therefore, tool should always be built for the target platform and never for the exec platform.

This simplifies things, because it makes it so that use_execroot_entry_point is just a relatively small runtime behavior change rather than something that totally changes what platform we are building for.

Since bazel run does not use a sandbox, all the inputs end up present both in the runfiles directory and directly in the execroot, and basically all that use_execroot_entry_point does now is determine which of those two places we use as the entry point.


Changes are visible to end-users: yes, but I doubt that anyone will notice

  • Searched for relevant documentation and updated as needed: yes
  • Breaking change (forces users to change their own code or config): no
  • Suggested release notes appear below: yes

We now always build all sources for the target platform in js_run_devserver, regardless of use_execroot_entry_point.

Test plan

  • Covered by existing test cases
  • New test cases added

I realized that the logic here was more complicated than it needed to be. With
`js_run_binary`, we're running a JavaScript tool that often operates on
JavaScript sources, so it makes sense that we need to think which inputs are
built for the exec platform and which ones are built for the target platform.

But `js_run_devserver` is different, because the `tool` we are working with is
not intended to run as part of a build action. All we are doing is packaging up
the tool in a launcher script so that it can be executed with `bazel run`.
Therefore, `tool` should always be built for the target platform and never for
the exec platform.

This simplifies things, because it makes it so that `use_execroot_entry_point`
is just a relatively small runtime behavior change rather than something that
totally changes what platform we are building for.

Since `bazel run` does not use a sandbox, all the inputs end up present both in
the runfiles directory and directly in the execroot, and basically all that
`use_execroot_entry_point` does is determine which of those two places we use
as the entry point.
@aspect-workflows
Copy link
Copy Markdown

aspect-workflows Bot commented May 21, 2026

Bazel 7 (Test)

257 test targets passed

Targets
//:npm_link_targets_test [k8-fastbuild]                                                                 98ms
//js/private/node-patches:checked_in_compile_test [k8-fastbuild]                                        35ms
//js/private/test/coverage:fail [k8-fastbuild]                                                          197ms
//js/private/test/coverage:pass [k8-fastbuild]                                                          116ms
//js/private/test/create_launcher:test [k8-fastbuild]                                                   123ms
//js/private/test/data:chdir-source-data-relative [k8-fastbuild]                                        101ms
//js/private/test/data:extract-js_library-srcs-data [k8-fastbuild]                                      50ms
//js/private/test/data:extract-js_run_binary-srcs [k8-fastbuild]                                        49ms
//js/private/test/data:extract-write-js_library-srcs [k8-fastbuild]                                     52ms
//js/private/test/data:from-data [k8-fastbuild]                                                         79ms
//js/private/test/data:from-js_run_binary-genrule [k8-fastbuild]                                        139ms
//js/private/test/data:from-js_run_binary-js_library-data [k8-fastbuild]                                79ms
//js/private/test/data:from-js_run_binary-srcs [k8-fastbuild]                                           153ms
//js/private/test/data:source-data-rootpath [k8-fastbuild]                                              89ms
//js/private/test/fixed_args:locations_test [k8-fastbuild]                                              111ms
//js/private/test/image/non_ascii:assert_custom_layer_groups_test_just_the_fs_patch_test [k8-fastbuild] 40ms
//js/private/test/image/non_ascii:assert_custom_layer_groups_test_node_modules_test [k8-fastbuild]      52ms
//js/private/test/image/non_ascii:assert_custom_layer_groups_test_node_test [k8-fastbuild]              52ms
//js/private/test/image:assert_custom_layers_nomatch_test_node_modules_test [k8-fastbuild]              68ms
//js/private/test/image:assert_custom_layers_nomatch_test_package_store_1p_test [k8-fastbuild]          47ms
//js/private/test/image:assert_custom_layers_nomatch_test_package_store_3p_test [k8-fastbuild]          61ms
//js/private/test/image:assert_custom_owner_test_app_test [k8-fastbuild]                                61ms
//js/private/test/image:assert_custom_owner_test_package_store_1p_test [k8-fastbuild]                   33ms
//js/private/test/image:assert_custom_owner_test_package_store_3p_test [k8-fastbuild]                   48ms
//js/private/test/image:assert_default_test_app_test [k8-fastbuild]                                     66ms
//js/private/test/image:assert_default_test_node_modules_test [k8-fastbuild]                            69ms
//js/private/test/image:assert_default_test_node_test [k8-fastbuild]                                    41ms
//js/private/test/image:assert_regex_edge_cases_test_odd_characters_test [k8-fastbuild]                 45ms
//js/private/test/js_binary_sh:JS_BINARY__BINDIR_test [k8-fastbuild]                                    149ms
//js/private/test/js_binary_sh:JS_BINARY__TARGET_test [k8-fastbuild]                                    103ms
//js/private/test/js_binary_sh:env_json_obj_value [k8-fastbuild]                                        73ms
//js/private/test/js_binary_sh:regexy-args [k8-fastbuild]                                               57ms
//js/private/test/js_binary_sh:regexy-args-1 [k8-fastbuild]                                             114ms
//js/private/test/no_copy_to_bin:no_copy_to_bin_test [k8-fastbuild]                                     147ms
//js/private/test/node-patches:escape_node22_test [k8-fastbuild]                                        84ms
//js/private/test/node-patches:escape_node24_test [k8-fastbuild]                                        101ms
//js/private/test/node-patches:lstat_node22_cjs_test [k8-fastbuild]                                     138ms
//js/private/test/node-patches:lstat_nodejs_cjs_test [k8-fastbuild]                                     175ms
//js/private/test/node-patches:opendir_node20_test [k8-fastbuild]                                       391ms
//js/private/test/node-patches:opendir_node22_cjs_test [k8-fastbuild]                                   195ms
//js/private/test/node-patches:opendir_node24_cjs_test [k8-fastbuild]                                   162ms
//js/private/test/node-patches:opendir_nodejs_test [k8-fastbuild]                                       179ms
//js/private/test/node-patches:readdir_node22_cjs_test [k8-fastbuild]                                   152ms
//js/private/test/node-patches:readdir_node24_test [k8-fastbuild]                                       211ms
//js/private/test/node-patches:readlink_node20_cjs_test [k8-fastbuild]                                  177ms
//js/private/test/node-patches:readlink_node22_cjs_test [k8-fastbuild]                                  140ms
//js/private/test/node-patches:readlink_node24_cjs_test [k8-fastbuild]                                  140ms
//js/private/test/node-patches:readlink_nodejs_cjs_test [k8-fastbuild]                                  115ms
//js/private/test/node-patches:readlink_nodejs_test [k8-fastbuild]                                      196ms
//js/private/test/node-patches:realpath_node20_cjs_test [k8-fastbuild]                                  172ms
//js/private/test/node-patches:realpath_node20_test [k8-fastbuild]                                      241ms
//js/private/test/node-patches:realpath_node22_cjs_test [k8-fastbuild]                                  197ms
//js/private/test/node-patches:realpath_node22_test [k8-fastbuild]                                      234ms
//js/private/test/node-patches:realpath_nodejs_cjs_test [k8-fastbuild]                                  131ms
//js/private/test/node-patches:realpath_nodejs_test [k8-fastbuild]                                      209ms
//js/private/test/node-patches:spawn_test_node20 [k8-fastbuild]                                         943ms
//js/private/test/proto:proto_rewrite_imports_test [k8-fastbuild]                                       52ms
//js/private/test:data_in_runfiles_test [k8-fastbuild]                                                  27ms
//js/private/test:explicit_types_test [k8-fastbuild]                                                    44ms
//js/private/test:main_default_toolchain [k8-fastbuild]                                                 90ms
//js/private/test:main_toolchain_20 [k8-fastbuild]                                                      107ms
//js/private/test:main_toolchain_22 [k8-fastbuild]                                                      383ms
//js/private/test:main_toolchain_24 [k8-fastbuild]                                                      115ms
//js/private/test:run_environment_info_tests_test_both_test [k8-fastbuild]                              39ms
//js/private/test:run_environment_info_tests_test_inherit_only_subject [k8-fastbuild]                   106ms
//js/private/test:transitive_type_deps_empty_srcs_test [k8-fastbuild]                                   75ms
//js/private/test:transitive_type_deps_test [k8-fastbuild]                                              80ms
//js/private/watch:watch_checked_1_test [k8-fastbuild]                                                  44ms
//npm/private/lifecycle/min:write_min_test [k8-fastbuild]                                               66ms
//npm/private/test/npm_package:test_pkg [k8-fastbuild]                                                  38ms
//npm/private/test/npm_package:test_pkg_2 [k8-fastbuild]                                                60ms
//npm/private/test/npm_package:test_pkg_5 [k8-fastbuild]                                                38ms
//npm/private/test/npm_package:test_pkg_with_node_modules [k8-fastbuild]                                45ms
//npm/private/test/subs:require_non-importers_test [k8-fastbuild]                                       130ms
//npm/private/test/subs:subs_test [k8-fastbuild]                                                        38ms
//npm/private/test:node_modules_test [k8-fastbuild]                                                     19ms
//npm/private/test:npm_auth_tests_test_4 [k8-fastbuild]                                                 36ms
//npm/private/test:test_generated_pkg_json___rollup-target__entry_point_tagged_manual [k8-fastbuild]    60ms
//npm/private/test:test_generated_pkg_json___rollup-target__js_binary_tagged_manual [k8-fastbuild]      119ms
//npm/private/test:test_generated_pkg_json___rollup-target_runfiles_lib_tagged_manual [k8-fastbuild]    92ms
//npm/private/test:test_npm_package_visibility_test_3 [k8-fastbuild]                                    95ms
//npm/private/test:test_npm_package_visibility_test_7 [k8-fastbuild]                                    27ms
//npm/private/test:test_npm_package_visibility_test_8 [k8-fastbuild]                                    58ms
//npm/private/test:test_npmrc_test_0 [k8-fastbuild]                                                     105ms
//npm/private/test:test_npmrc_test_1 [k8-fastbuild]                                                     62ms
//npm/private/test:test_npmrc_test_4 [k8-fastbuild]                                                     85ms
//npm/private/test:test_npmrc_test_6 [k8-fastbuild]                                                     53ms
//npm/private/test:test_pnpm_test_1 [k8-fastbuild]                                                      100ms
//npm/private/test:test_pnpm_test_10 [k8-fastbuild]                                                     85ms
//npm/private/test:test_pnpm_test_2 [k8-fastbuild]                                                      77ms
//npm/private/test:test_pnpm_test_3 [k8-fastbuild]                                                      91ms
//npm/private/test:test_pnpm_test_4 [k8-fastbuild]                                                      67ms
//npm/private/test:test_transitive_closure_test_0 [k8-fastbuild]                                        95ms
//npm/private/test:test_transitive_closure_test_1 [k8-fastbuild]                                        106ms
//npm/private/test:test_translate_lock_test_2 [k8-fastbuild]                                            82ms
//npm/private/test:test_translate_lock_test_3 [k8-fastbuild]                                            104ms
//npm/private/test:test_translate_lock_test_4 [k8-fastbuild]                                            70ms
//npm/private/test:write_npm_translate_lock_3_test [k8-fastbuild]                                       169ms
//npm/private/test:write_npm_translate_lock_7_test [k8-fastbuild]                                       128ms
//tools:preset.update_test [k8-fastbuild]                                                               133ms
+ 157 other targets

Bazel 8 (Test)

All tests were cache hits

245 tests (100.0%) were fully cached saving 29s.


Bazel 9 (Test)

All tests were cache hits

245 tests (100.0%) were fully cached saving 31s.


Bazel 7 (Test)

e2e/bzlmod

7 test targets passed

Targets
//:check_styles [k8-fastbuild]                                                                          116ms
//:jasmine_test [k8-fastbuild]                                                                          144ms
//:node_modules_test [k8-fastbuild]                                                                     34ms
//:other_module_binary_test [k8-fastbuild]                                                              48ms
//:other_module_linked_packages [k8-fastbuild]                                                          28ms
//:other_module_run_binary_test [k8-fastbuild]                                                          30ms
//:test [k8-fastbuild]                                                                                  79ms

Bazel 8 (Test)

e2e/bzlmod

All tests were cache hits

7 tests (100.0%) were fully cached saving 642ms.


Bazel 9 (Test)

e2e/bzlmod

All tests were cache hits

7 tests (100.0%) were fully cached saving 596ms.


Bazel 7 (Test)

e2e/git_dep_metadata

1 test target passed

Targets
//:no_git_metadata_test                                                                                 20ms

Bazel 8 (Test)

e2e/git_dep_metadata

All tests were cache hits

1 test (100.0%) was fully cached saving 26ms.


Bazel 9 (Test)

e2e/git_dep_metadata

All tests were cache hits

1 test (100.0%) was fully cached saving 30ms.


Bazel 7 (Test)

e2e/gyp_no_install_script

2 test targets passed

Targets
//:test [k8-fastbuild]                                                                                  57ms
//:write_npm_translate_lock_bzlmod_test [k8-fastbuild]                                                  90ms

Bazel 8 (Test)

e2e/gyp_no_install_script

All tests were cache hits

1 test (100.0%) was fully cached saving 50ms.


Bazel 9 (Test)

e2e/gyp_no_install_script

All tests were cache hits

1 test (100.0%) was fully cached saving 46ms.


Bazel 7 (Test)

e2e/js_binary_workspace

4 test targets passed

Targets
//:js_run_binary_chdir_test [k8-fastbuild]                                                              62ms
//:test [k8-fastbuild]                                                                                  51ms
@@workspace~//:js_binary_chdir_test [k8-fastbuild]                                                      57ms
@@workspace~//:js_test_chdir_test [k8-fastbuild]                                                        100ms

Bazel 8 (Test)

e2e/js_binary_workspace

All tests were cache hits

4 tests (100.0%) were fully cached saving 226ms.


Bazel 9 (Test)

e2e/js_binary_workspace

All tests were cache hits

4 tests (100.0%) were fully cached saving 238ms.


Bazel 8 (Test)

e2e/js_image_oci

All tests were cache hits

1 test (100.0%) was fully cached saving 4s.


Bazel 9 (Test)

e2e/js_image_oci

All tests were cache hits

1 test (100.0%) was fully cached saving 4s.


Bazel 7 (Test)

e2e/nextjs

3 test targets passed

Targets
//v15/cjs:test [k8-fastbuild]                                                                           33ms
//v15/esm:test [k8-fastbuild]                                                                           32ms
//v15/mjs:test [k8-fastbuild]                                                                           41ms

Bazel 8 (Test)

e2e/nextjs

All tests were cache hits

3 tests (100.0%) were fully cached saving 94ms.


Bazel 9 (Test)

e2e/nextjs

All tests were cache hits

3 tests (100.0%) were fully cached saving 112ms.


Bazel 7 (Test)

e2e/npm_link_package

4 test targets passed

Targets
//cjs/src:test [k8-fastbuild]                                                                           155ms
//cjs:package_store_targets_test [k8-fastbuild]                                                         56ms
//esm/src:test [k8-fastbuild]                                                                           159ms
//esm:package_store_targets_test [k8-fastbuild]                                                         51ms

Bazel 8 (Test)

e2e/npm_link_package

All tests were cache hits

4 tests (100.0%) were fully cached saving 363ms.


Bazel 9 (Test)

e2e/npm_link_package

All tests were cache hits

4 tests (100.0%) were fully cached saving 415ms.


Bazel 7 (Test)

e2e/npm_link_package-rerooted

2 test targets passed

Targets
//root/src:test [k8-fastbuild]                                                                          141ms
//root:package_store_targets_test [k8-fastbuild]                                                        29ms

Bazel 8 (Test)

e2e/npm_link_package-rerooted

All tests were cache hits

2 tests (100.0%) were fully cached saving 139ms.


Bazel 9 (Test)

e2e/npm_link_package-rerooted

All tests were cache hits

2 tests (100.0%) were fully cached saving 186ms.


Bazel 7 (Test)

e2e/npm_translate_lock

3 test targets passed

Targets
//:test                                                                                                 45ms
//:test_dev_filtering                                                                                   158ms
//:test_prod_filtering                                                                                  176ms

Bazel 8 (Test)

e2e/npm_translate_lock

All tests were cache hits

3 tests (100.0%) were fully cached saving 287ms.


Bazel 9 (Test)

e2e/npm_translate_lock

All tests were cache hits

3 tests (100.0%) were fully cached saving 289ms.


Bazel 7 (Test)

e2e/npm_translate_lock_disable_hooks

3 test targets passed

Targets
//:test [k8-fastbuild]                                                                                  29ms
//:write_npm_translate_lock_defs_0_test [k8-fastbuild]                                                  95ms
//:write_npm_translate_lock_defs_1_test [k8-fastbuild]                                                  89ms

Bazel 8 (Test)

e2e/npm_translate_lock_disable_hooks

All tests were cache hits

1 test (100.0%) was fully cached saving 62ms.


Bazel 9 (Test)

e2e/npm_translate_lock_disable_hooks

All tests were cache hits

1 test (100.0%) was fully cached saving 32ms.


Bazel 7 (Test)

e2e/npm_translate_lock_empty

2 test targets passed

Targets
//:test [k8-fastbuild]                                                                                  33ms
//:write_npm_translate_lock_bzlmod_test [k8-fastbuild]                                                  134ms

Bazel 8 (Test)

e2e/npm_translate_lock_empty

All tests were cache hits

2 tests (100.0%) were fully cached saving 114ms.


Bazel 9 (Test)

e2e/npm_translate_lock_empty

All tests were cache hits

2 tests (100.0%) were fully cached saving 105ms.


Bazel 7 (Test)

e2e/npm_translate_lock_exclude_package_contents

1 test target passed

Targets
//:test_sh                                                                                              26ms

Bazel 8 (Test)

e2e/npm_translate_lock_exclude_package_contents

All tests were cache hits

1 test (100.0%) was fully cached saving 21ms.


Bazel 9 (Test)

e2e/npm_translate_lock_exclude_package_contents

All tests were cache hits

1 test (100.0%) was fully cached saving 86ms.


Bazel 7 (Test)

e2e/npm_translate_lock_multi

2 test targets passed

Targets
//app1:test                                                                                             24ms
//app2:test                                                                                             23ms

Bazel 8 (Test)

e2e/npm_translate_lock_multi

All tests were cache hits

2 tests (100.0%) were fully cached saving 54ms.


Bazel 9 (Test)

e2e/npm_translate_lock_multi

All tests were cache hits

2 tests (100.0%) were fully cached saving 113ms.


Bazel 7 (Test)

e2e/npm_translate_lock_partial_clone

1 test target passed

Targets
//root:test                                                                                             23ms

Bazel 8 (Test)

e2e/npm_translate_lock_partial_clone

All tests were cache hits

1 test (100.0%) was fully cached saving 30ms.


Bazel 9 (Test)

e2e/npm_translate_lock_partial_clone

All tests were cache hits

1 test (100.0%) was fully cached saving 38ms.


Bazel 7 (Test)

e2e/npm_translate_lock_replace_packages

4 test targets passed

Targets
//:node_modules_test [k8-fastbuild]                                                                     62ms
//:test [k8-fastbuild]                                                                                  110ms
//:utils_test [k8-fastbuild]                                                                            93ms
//:write_npm_translate_lock_bzlmod_test [k8-fastbuild]                                                  113ms

Bazel 8 (Test)

e2e/npm_translate_lock_replace_packages

All tests were cache hits

4 tests (100.0%) were fully cached saving 249ms.


Bazel 9 (Test)

e2e/npm_translate_lock_replace_packages

All tests were cache hits

4 tests (100.0%) were fully cached saving 320ms.


Bazel 7 (Test)

e2e/npm_translate_lock_subdir_patch

1 test target passed

Targets
//subdir:test                                                                                           71ms

Bazel 8 (Test)

e2e/npm_translate_lock_subdir_patch

All tests were cache hits

1 test (100.0%) was fully cached saving 67ms.


Bazel 9 (Test)

e2e/npm_translate_lock_subdir_patch

All tests were cache hits

1 test (100.0%) was fully cached saving 50ms.


Bazel 7 (Test)

e2e/npm_translate_package_lock

1 test target passed

Targets
//:test                                                                                                 30ms

Bazel 8 (Test)

e2e/npm_translate_package_lock

All tests were cache hits

1 test (100.0%) was fully cached saving 62ms.


Bazel 9 (Test)

e2e/npm_translate_package_lock

All tests were cache hits

1 test (100.0%) was fully cached saving 32ms.


Bazel 7 (Test)

e2e/npm_translate_yarn_lock

1 test target passed

Targets
//:test                                                                                                 22ms

Bazel 8 (Test)

e2e/npm_translate_yarn_lock

All tests were cache hits

1 test (100.0%) was fully cached saving 62ms.


Bazel 9 (Test)

e2e/npm_translate_yarn_lock

All tests were cache hits

1 test (100.0%) was fully cached saving 32ms.


Bazel 7 (Test)

e2e/output_paths

2 test targets passed

Targets
//:test [k8-fastbuild]                                                                                  65ms
//:test_lessc--help [k8-fastbuild]                                                                      43ms

Bazel 8 (Test)

e2e/output_paths

All tests were cache hits

2 tests (100.0%) were fully cached saving 252ms.


Bazel 9 (Test)

e2e/output_paths

All tests were cache hits

2 tests (100.0%) were fully cached saving 171ms.


Bazel 7 (Test)

e2e/patch_from_repo

1 test target passed

Targets
//:test                                                                                                 26ms

Bazel 7 (Test)

e2e/pnpm_lockfiles

59 test targets passed

Targets
//cases/docusaurus-direct-peer-v9:docusaurus_direct_with_peers [k8-fastbuild]                           50ms
//cases/isaacs-cliui-v90:isaacs_cliui [k8-fastbuild]                                                    37ms
//cases/multi-document-v11:multi_document_v11 [k8-fastbuild]                                            47ms
//cases/nested-peer-v9:nested_peers_targets [k8-fastbuild]                                              41ms
//cases/override-with-alias-url-v9:override-with-alias-url-v9 [k8-fastbuild]                            47ms
//cases/versionless-patch-v9:versionless_patch_targets [k8-fastbuild]                                   26ms
//cases/versionless-patch-v9:versionless_patch_test [k8-fastbuild]                                      105ms
//cases/workspace-peer-v9:optional_peers_targets [k8-fastbuild]                                         46ms
//v101:aliases-test [k8-fastbuild]                                                                      156ms
//v101:patch-test [k8-fastbuild]                                                                        124ms
//v101:repos_0_test [k8-fastbuild]                                                                      97ms
//v101:repos_10_test [k8-fastbuild]                                                                     86ms
//v101:repos_11_test [k8-fastbuild]                                                                     83ms
//v101:repos_12_test [k8-fastbuild]                                                                     76ms
//v101:repos_13_test [k8-fastbuild]                                                                     98ms
//v101:repos_1_test [k8-fastbuild]                                                                      68ms
//v101:repos_2_test [k8-fastbuild]                                                                      98ms
//v101:repos_3_test [k8-fastbuild]                                                                      88ms
//v101:repos_4_test [k8-fastbuild]                                                                      66ms
//v101:repos_5_test [k8-fastbuild]                                                                      101ms
//v101:repos_6_test [k8-fastbuild]                                                                      98ms
//v101:repos_7_test [k8-fastbuild]                                                                      100ms
//v101:repos_8_test [k8-fastbuild]                                                                      97ms
//v101:repos_9_test [k8-fastbuild]                                                                      84ms
//v101:targets [k8-fastbuild]                                                                           17ms
//v110:aliases-test [k8-fastbuild]                                                                      155ms
//v110:patch-test [k8-fastbuild]                                                                        75ms
//v110:repos_0_test [k8-fastbuild]                                                                      79ms
//v110:repos_10_test [k8-fastbuild]                                                                     81ms
//v110:repos_11_test [k8-fastbuild]                                                                     69ms
//v110:repos_12_test [k8-fastbuild]                                                                     82ms
//v110:repos_13_test [k8-fastbuild]                                                                     100ms
//v110:repos_1_test [k8-fastbuild]                                                                      81ms
//v110:repos_2_test [k8-fastbuild]                                                                      87ms
//v110:repos_3_test [k8-fastbuild]                                                                      83ms
//v110:repos_4_test [k8-fastbuild]                                                                      59ms
//v110:repos_5_test [k8-fastbuild]                                                                      89ms
//v110:repos_6_test [k8-fastbuild]                                                                      56ms
//v110:repos_7_test [k8-fastbuild]                                                                      77ms
//v110:repos_8_test [k8-fastbuild]                                                                      85ms
//v110:repos_9_test [k8-fastbuild]                                                                      99ms
//v110:targets [k8-fastbuild]                                                                           18ms
//v90:aliases-test [k8-fastbuild]                                                                       208ms
//v90:patch-test [k8-fastbuild]                                                                         88ms
//v90:repos_0_test [k8-fastbuild]                                                                       86ms
//v90:repos_10_test [k8-fastbuild]                                                                      103ms
//v90:repos_11_test [k8-fastbuild]                                                                      102ms
//v90:repos_12_test [k8-fastbuild]                                                                      82ms
//v90:repos_13_test [k8-fastbuild]                                                                      84ms
//v90:repos_1_test [k8-fastbuild]                                                                       70ms
//v90:repos_2_test [k8-fastbuild]                                                                       125ms
//v90:repos_3_test [k8-fastbuild]                                                                       71ms
//v90:repos_4_test [k8-fastbuild]                                                                       84ms
//v90:repos_5_test [k8-fastbuild]                                                                       92ms
//v90:repos_6_test [k8-fastbuild]                                                                       77ms
//v90:repos_7_test [k8-fastbuild]                                                                       100ms
//v90:repos_8_test [k8-fastbuild]                                                                       75ms
//v90:repos_9_test [k8-fastbuild]                                                                       43ms
//v90:targets [k8-fastbuild]                                                                            23ms

Bazel 8 (Test)

e2e/pnpm_lockfiles

All tests were cache hits

17 tests (100.0%) were fully cached saving 2s.


Bazel 9 (Test)

e2e/pnpm_lockfiles

All tests were cache hits

17 tests (100.0%) were fully cached saving 1s.


Bazel 7 (Test)

e2e/pnpm_repo_install

4 test targets passed

Targets
//:pnpm_install_test                                                                                    1s
//:pnpm_install_test_v10                                                                                1s
//:pnpm_install_test_v11                                                                                2s
//:pnpm_patch_test                                                                                      100ms

Bazel 8 (Test)

e2e/pnpm_repo_install

All tests were cache hits

4 tests (100.0%) were fully cached saving 5s.


Bazel 9 (Test)

e2e/pnpm_repo_install

All tests were cache hits

4 tests (100.0%) were fully cached saving 4s.


Bazel 7 (Test)

e2e/pnpm_workspace

15 test targets passed

Targets
//:node_test [k8-fastbuild]                                                                             290ms
//:repos_test [k8-fastbuild]                                                                            103ms
//:vendored [k8-fastbuild]                                                                              61ms
//app/a:aspect_test_a_bin_test [k8-fastbuild]                                                           188ms
//app/a:npm_link_targets_node_modules_build_test [k8-fastbuild]                                         67ms
//app/a:npm_link_targets_test [k8-fastbuild]                                                            104ms
//app/a:test [k8-fastbuild]                                                                             118ms
//app/b:aliases [k8-fastbuild]                                                                          65ms
//app/b:test [k8-fastbuild]                                                                             121ms
//app/c:aspect_test_a_bin_test [k8-fastbuild]                                                           185ms
//app/c:test [k8-fastbuild]                                                                             107ms
//app/d:test [k8-fastbuild]                                                                             212ms
//lib/a:vendored [k8-fastbuild]                                                                         60ms
//lib/b:aliases [k8-fastbuild]                                                                          89ms
//lib/d:aliases [k8-fastbuild]                                                                          58ms

Bazel 8 (Test)

e2e/pnpm_workspace

All tests were cache hits

14 tests (100.0%) were fully cached saving 2s.


Bazel 9 (Test)

e2e/pnpm_workspace

All tests were cache hits

14 tests (100.0%) were fully cached saving 2s.


Bazel 7 (Test)

e2e/pnpm_workspace_deps

3 test targets passed

Targets
//tests:direct [k8-fastbuild]                                                                           92ms
//tests:dupes [k8-fastbuild]                                                                            96ms
//tests:pkg [k8-fastbuild]                                                                              94ms

Bazel 8 (Test)

e2e/pnpm_workspace_deps

All tests were cache hits

3 tests (100.0%) were fully cached saving 278ms.


Bazel 9 (Test)

e2e/pnpm_workspace_deps

All tests were cache hits

3 tests (100.0%) were fully cached saving 237ms.


Bazel 7 (Test)

e2e/pnpm_workspace_rerooted

15 test targets passed

Targets
//:node_test [k8-fastbuild]                                                                             306ms
//:repos_test [k8-fastbuild]                                                                            143ms
//:vendored [k8-fastbuild]                                                                              60ms
//app/a:aspect_test_a_bin_test [k8-fastbuild]                                                           222ms
//app/a:npm_link_targets_node_modules_build_test [k8-fastbuild]                                         84ms
//app/a:npm_link_targets_test [k8-fastbuild]                                                            134ms
//app/a:test [k8-fastbuild]                                                                             134ms
//app/b:aliases [k8-fastbuild]                                                                          49ms
//app/b:test [k8-fastbuild]                                                                             110ms
//app/c:aspect_test_a_bin_test [k8-fastbuild]                                                           198ms
//app/c:test [k8-fastbuild]                                                                             228ms
//app/d:test [k8-fastbuild]                                                                             244ms
//lib/a:vendored [k8-fastbuild]                                                                         54ms
//lib/b:aliases [k8-fastbuild]                                                                          53ms
//lib/d:aliases [k8-fastbuild]                                                                          64ms

Bazel 8 (Test)

e2e/pnpm_workspace_rerooted

All tests were cache hits

14 tests (100.0%) were fully cached saving 1s.


Bazel 9 (Test)

e2e/pnpm_workspace_rerooted

All tests were cache hits

14 tests (100.0%) were fully cached saving 2s.


Bazel 7 (Test)

e2e/protobuf-es

3 test targets passed

Targets
//:test [k8-fastbuild]                                                                                  134ms
//:test_connect [k8-fastbuild]                                                                          211ms
//:test_connect_query [k8-fastbuild]                                                                    317ms

Bazel 8 (Test)

e2e/protobuf-es

All tests were cache hits

3 tests (100.0%) were fully cached saving 664ms.


Bazel 9 (Test)

e2e/protobuf-es

All tests were cache hits

3 tests (100.0%) were fully cached saving 752ms.


Bazel 7 (Test)

e2e/protobuf-google

2 test targets passed

Targets
//:test [k8-fastbuild]                                                                                  92ms
//:test_grpc [k8-fastbuild]                                                                             168ms

Bazel 8 (Test)

e2e/protobuf-google

All tests were cache hits

2 tests (100.0%) were fully cached saving 211ms.


Bazel 9 (Test)

e2e/protobuf-google

All tests were cache hits

2 tests (100.0%) were fully cached saving 245ms.


Bazel 7 (Test)

e2e/repo_mapping

3 test targets passed

Targets
//:node_modules_test [k8-fastbuild]                                                                     36ms
//:package_store_targets_test [k8-fastbuild]                                                            63ms
//:test [k8-fastbuild]                                                                                  62ms

Bazel 8 (Test)

e2e/repo_mapping

All tests were cache hits

3 tests (100.0%) were fully cached saving 154ms.


Bazel 9 (Test)

e2e/repo_mapping

All tests were cache hits

3 tests (100.0%) were fully cached saving 308ms.


Bazel 7 (Test)

e2e/vendored_node

1 test target passed

Targets
//:test [k8-fastbuild]                                                                                  64ms

Bazel 8 (Test)

e2e/vendored_node

All tests were cache hits

1 test (100.0%) was fully cached saving 57ms.


Bazel 9 (Test)

e2e/vendored_node

All tests were cache hits

1 test (100.0%) was fully cached saving 57ms.


Bazel 7 (Test)

e2e/vendored_tarfile

1 test target passed

Targets
//:test                                                                                                 19ms

Bazel 8 (Test)

e2e/vendored_tarfile

All tests were cache hits

1 test (100.0%) was fully cached saving 62ms.


Bazel 9 (Test)

e2e/vendored_tarfile

All tests were cache hits

1 test (100.0%) was fully cached saving 32ms.


Bazel 7 (Test)

e2e/verify_patches

2 test targets passed

Targets
//:test [k8-fastbuild]                                                                                  27ms
//patches:patches_update_test [k8-fastbuild]                                                            34ms

Bazel 8 (Test)

e2e/verify_patches

All tests were cache hits

2 tests (100.0%) were fully cached saving 120ms.


Bazel 9 (Test)

e2e/verify_patches

All tests were cache hits

2 tests (100.0%) were fully cached saving 120ms.


Bazel 7 (Test)

examples

84 test targets passed

Targets
//:linked_packages_build_test [k8-fastbuild]                                                            45ms
//coverage:coverage [k8-fastbuild]                                                                      107ms
//genrule:test_acorn [k8-fastbuild]                                                                     39ms
//genrule:test_require_acorn [k8-fastbuild]                                                             53ms
//js_binary:aspect_bin_a_test [k8-fastbuild]                                                            79ms
//js_binary:case7_test [k8-fastbuild]                                                                   135ms
//js_binary:npm_version_test [k8-fastbuild]                                                             284ms
//js_binary:test13-1_cjs [k8-fastbuild]                                                                 59ms
//js_binary:test13-1_mjs [k8-fastbuild]                                                                 41ms
//js_binary:test13-2_cjs [k8-fastbuild]                                                                 41ms
//js_binary:test13-2_mjs [k8-fastbuild]                                                                 47ms
//js_binary:test4-b_cjs [k8-fastbuild]                                                                  40ms
//js_binary:test4-b_mjs [k8-fastbuild]                                                                  56ms
//js_binary:test4-cjs-a [k8-fastbuild]                                                                  38ms
//js_binary:test4-mjs-a [k8-fastbuild]                                                                  55ms
//js_binary:test5_cjs [k8-fastbuild]                                                                    70ms
//js_binary:test5_mjs [k8-fastbuild]                                                                    52ms
//js_binary:test6 [k8-fastbuild]                                                                        62ms
//js_binary:test6_alt [k8-fastbuild]                                                                    55ms
//js_binary:test8 [k8-fastbuild]                                                                        47ms
//js_binary:test_cjs [k8-fastbuild]                                                                     103ms
//js_binary:test_exitcode [k8-fastbuild]                                                                67ms
//js_binary:test_js_binary_under_custom_rule [k8-fastbuild]                                             47ms
//js_binary:test_js_binary_under_custom_rule_local [k8-fastbuild]                                       52ms
//js_binary:test_js_binary_under_genrule_cjs [k8-fastbuild]                                             74ms
//js_binary:test_js_binary_under_genrule_mjs [k8-fastbuild]                                             41ms
//js_binary:test_js_binary_under_js_run_binary_cjs [k8-fastbuild]                                       54ms
//js_binary:test_js_binary_under_js_run_binary_local_cjs [k8-fastbuild]                                 45ms
//js_binary:test_js_binary_under_js_run_binary_local_mjs [k8-fastbuild]                                 66ms
//js_binary:test_js_binary_under_js_run_binary_mjs [k8-fastbuild]                                       59ms
//js_binary:test_js_binary_under_js_run_binary_no_copy_data_to_bin [k8-fastbuild]                       49ms
//js_binary:test_mjs [k8-fastbuild]                                                                     108ms
//js_binary:test_stderr [k8-fastbuild]                                                                  38ms
//js_binary:test_stdout [k8-fastbuild]                                                                  48ms
//js_lib_pkg/b:test_each_target [k8-fastbuild]                                                          109ms
//js_lib_pkg/b:test_parent_target [k8-fastbuild]                                                        120ms
//js_library/two:two_test [k8-fastbuild]                                                                94ms
//linked_consumer:direct [k8-fastbuild]                                                                 91ms
//linked_consumer:pkg [k8-fastbuild]                                                                    100ms
//linked_consumer:sources_test [k8-fastbuild]                                                           38ms
//linked_consumer:types_test [k8-fastbuild]                                                             66ms
//linked_empty_node_modules:test [k8-fastbuild]                                                         70ms
//macro:test_all [k8-fastbuild]                                                                         486ms
//macro:test_cjs [k8-fastbuild]                                                                         605ms
//macro:test_esm [k8-fastbuild]                                                                         486ms
//macro:test_js [k8-fastbuild]                                                                          533ms
//nextjs:next_build_test [k8-fastbuild]                                                                 26ms
//nextjs:write_next_links_defs_test [k8-fastbuild]                                                      102ms
//npm_deps/patches:patches_update_test [k8-fastbuild]                                                   101ms
//npm_deps:circular_deps_build_test [k8-fastbuild]                                                      36ms
//npm_deps:rollup_version_test [k8-fastbuild]                                                           291ms
//npm_deps:test1 [k8-fastbuild]                                                                         55ms
//npm_deps:test10_cjs [k8-fastbuild]                                                                    140ms
//npm_deps:test10_mjs [k8-fastbuild]                                                                    128ms
//npm_deps:test11_cjs [k8-fastbuild]                                                                    201ms
//npm_deps:test11_mjs [k8-fastbuild]                                                                    160ms
//npm_deps:test3 [k8-fastbuild]                                                                         121ms
//npm_deps:test4 [k8-fastbuild]                                                                         70ms
//npm_deps:test5 [k8-fastbuild]                                                                         63ms
//npm_deps:test5_alt [k8-fastbuild]                                                                     78ms
//npm_deps:test6 [k8-fastbuild]                                                                         117ms
//npm_deps:test7_a [k8-fastbuild]                                                                       208ms
//npm_deps:test7_b_cjs [k8-fastbuild]                                                                   173ms
//npm_deps:test7_b_mjs [k8-fastbuild]                                                                   204ms
//npm_deps:test8 [k8-fastbuild]                                                                         77ms
//npm_deps:test9_cjs [k8-fastbuild]                                                                     141ms
//npm_deps:test9_mjs [k8-fastbuild]                                                                     162ms
//npm_deps:test_peer [k8-fastbuild]                                                                     171ms
//npm_deps:test_uvu_version [k8-fastbuild]                                                              230ms
//package_json_module:test [k8-fastbuild]                                                               355ms
//rspack:build_test [k8-fastbuild]                                                                      33ms
//runfiles:module_name_runfiles [k8-fastbuild]                                                          113ms
//runfiles:outer_runfiles [k8-fastbuild]                                                                199ms
//runfiles:run_outer_binary_asserts__direct_srcs [k8-fastbuild]                                         89ms
//runfiles:run_outer_binary_asserts__transitive_data [k8-fastbuild]                                     127ms
//runfiles:run_test_binary_asserts__direct_srcs [k8-fastbuild]                                          90ms
//runfiles:run_test_binary_asserts__transitive_data [k8-fastbuild]                                      117ms
//runfiles:runfiles [k8-fastbuild]                                                                      150ms
//stack_traces:stack_traces [k8-fastbuild]                                                              106ms
//stamped_package_json:stamp_test [k8-fastbuild]                                                        69ms
//vite3:build_test [k8-fastbuild]                                                                       28ms
//vite6:build_test [k8-fastbuild]                                                                       26ms
//webpack_cli:test [k8-fastbuild]                                                                       326ms
//worker:test_pi [k8-fastbuild]                                                                         71ms

Bazel 8 (Test)

examples

All tests were cache hits

83 tests (100.0%) were fully cached saving 11s.


Bazel 9 (Test)

examples

All tests were cache hits

83 tests (100.0%) were fully cached saving 12s.


Buildifier      Format

@acozzette acozzette marked this pull request as ready for review May 21, 2026 00:51
@acozzette acozzette requested a review from jbedard May 21, 2026 00:51
@acozzette acozzette merged commit 7523d19 into aspect-build:main May 21, 2026
16 checks passed
@acozzette acozzette deleted the devserver branch May 21, 2026 02:00
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants