diff --git a/.bazelrc b/.bazelrc index 2d5b0a9ed36..0c8b6b092e3 100644 --- a/.bazelrc +++ b/.bazelrc @@ -13,9 +13,7 @@ build --test_timeout=1,15,60,240 common --noenable_bzlmod # bazel7 enables Build without the Bytes (BwoB) by default. This significantly speeds up builds -# using the remote cache since less data needs to be fetched. Set remote_cache_eviction_retries -# which is required to fully support a "dumb" cache. Bazel 8 already sets this value by default. -build --experimental_remote_cache_eviction_retries=5 +# using the remote cache since less data needs to be fetched. # Note that we use remote_download_minimal for test builds, which avoids fetching build outputs # where possible. While several previous BwoB bugs have been fixed, this is slower than it could be # due to https://github.com/bazelbuild/bazel/issues/20576. @@ -32,12 +30,6 @@ import %workspace%/build/lint.bazelrc # Enable webgpu build --//src/workerd/io:enable_experimental_webgpu=True -# Avoid generating duplicate runfile trees. This will become the default in a future bazel version. -build --nolegacy_external_runfiles - -# Flip this early to avoid breaking compatibility once it becomes the default. -build --incompatible_disallow_empty_glob - # Prevents bazel cache invalidation when switching terminals build --incompatible_strict_action_env @@ -382,3 +374,12 @@ build:windows --cxxopt='/Zc:__cplusplus' --host_cxxopt='/Zc:__cplusplus' # enable clang coverage: https://clang.llvm.org/docs/SourceBasedCodeCoverage.html build:clang-coverage --copt="-fprofile-instr-generate" --linkopt="-fprofile-instr-generate" build:clang-coverage --copt="-fcoverage-mapping" --linkopt="-fcoverage-mapping" + +build --enable_workspace +# As part of starlarkification, Bazel 8 removes a number of rules which now need to be imported from +# other repositories. In the long term, load() statements will be needed to import these rules. For +# now, we can still autoload the affected repositories when needed. Do this only for a few +# handpicked rules_python rules_shell, and protobuf components instead of the larger default +# autoload set – some dependencies aren't importing the required shell rules yet, but we don't want +# to accidentally rely on autoloading more dependencies. +build --incompatible_autoload_externally="+py_binary,+py_library,+py_test,+ProtoInfo,+sh_binary,+proto_library,+cc_proto_library" diff --git a/.bazelversion b/.bazelversion index cac68439158..fec95df22f3 100644 --- a/.bazelversion +++ b/.bazelversion @@ -1 +1 @@ -7.4.1rc2 +8.0.0rc3 diff --git a/MODULE.bazel b/MODULE.bazel new file mode 100644 index 00000000000..af095bf0a1b --- /dev/null +++ b/MODULE.bazel @@ -0,0 +1 @@ +# We don't use bzlmod at this time, but bazel 8 still expects us to have a MODULE.bazel file. diff --git a/WORKSPACE b/WORKSPACE index 06329bdfd79..6e137853b44 100644 --- a/WORKSPACE +++ b/WORKSPACE @@ -13,6 +13,11 @@ deps_gen() load("@bazel_tools//tools/build_defs/repo:git.bzl", "git_repository") load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive", "http_file") +load("@rules_shell//shell:repositories.bzl", "rules_shell_dependencies", "rules_shell_toolchains") + +rules_shell_dependencies() + +rules_shell_toolchains() NODE_VERSION = "20.14.0" @@ -161,10 +166,14 @@ bind( # OK, now we can bring in tcmalloc itself. http_archive( name = "com_google_tcmalloc", - sha256 = "81f285cb337f445276f37c308cb90120f8ba4311d1be9daf3b93dccf4bfdba7d", - strip_prefix = "google-tcmalloc-69c409c", + integrity = "sha256-mTDk4ij+KU0px7Mg4NSk15L9lD6RSIWuqZ7ILTkekb8=", + patch_args = ["-p1"], + patches = [ + "//:patches/tcmalloc/0001-Support-Bazel-8.patch", + ], + strip_prefix = "google-tcmalloc-4e8fcfc", type = "tgz", - url = "https://github.com/google/tcmalloc/tarball/69c409c344bdf894fc7aab83e2d9e280b009b2f3", + url = "https://github.com/google/tcmalloc/tarball/4e8fcfc697761a2659fde4ecef15ac50cbc20784", ) # ======================================================================================== @@ -277,6 +286,8 @@ esbuild_register_toolchains( # # There is an official mirror for V8 itself on GitHub, but not for dependencies like zlib (Chromium # fork), icu (Chromium fork), and trace_event, so we still have to use git for them. +# TODO: Upstream 0021-bazel-Add-missing-imports-needed-with-Bazel-8.patch (currently unused here) to +# avoid needing to autoload py_test. http_archive( name = "v8", diff --git a/build/deps/build_deps.jsonc b/build/deps/build_deps.jsonc index a7f710783a5..dcb87a3fb54 100644 --- a/build/deps/build_deps.jsonc +++ b/build/deps/build_deps.jsonc @@ -100,7 +100,10 @@ "type": "github_release", "owner": "bazel-contrib", "repo": "bazel-lib", - "file_regex": "^bazel-lib-" + "file_regex": "^bazel-lib-", + "patches": [ + "//:patches/bazel-lib/0001-Support-Bazel-8.patch" + ] }, { "name": "aspect_rules_js", @@ -111,7 +114,10 @@ // TODO(cleanup): On latest version, Windows build fails with `tar.exe: Error opening archive: // Can't initialize filter; unable to run program "gzip -d"`, likely due to // https://github.com/aspect-build/rules_js/pull/1905/files. Develop a workaround. - "freeze_version": "v2.0.1" + "freeze_version": "v2.0.1", + "patches": [ + "//:patches/rules_js/0001-Support-Bazel-8.patch" + ] }, { "name": "aspect_rules_ts", @@ -120,6 +126,20 @@ "repo": "rules_ts", "file_regex": "^rules_ts-" }, + { + "name": "rules_shell", + "type": "github_release", + "owner": "bazelbuild", + "repo": "rules_shell", + "file_regex": "^rules_shell-" + }, + { + "name": "rules_cc", + "type": "github_release", + "owner": "bazelbuild", + "repo": "rules_cc", + "file_regex": "^rules_cc-" + }, //buildifier { "name": "buildifier-linux-amd64", diff --git a/build/deps/deps.jsonc b/build/deps/deps.jsonc index 89890d84cec..86e717ef1ea 100644 --- a/build/deps/deps.jsonc +++ b/build/deps/deps.jsonc @@ -84,7 +84,8 @@ "name": "com_google_protobuf", "owner": "protocolbuffers", "repo": "protobuf", - "file_regex": "protobuf-.*\\.tar\\.gz" + "file_regex": "protobuf-.*\\.tar\\.gz", + "freeze_version": "v29.0-rc3" } ] } diff --git a/build/deps/gen/build_deps.bzl b/build/deps/gen/build_deps.bzl index cf37a2549dc..e49791e2e05 100644 --- a/build/deps/gen/build_deps.bzl +++ b/build/deps/gen/build_deps.bzl @@ -17,9 +17,11 @@ load("@//build/deps:gen/dep_cargo_bazel_macos_arm64.bzl", "dep_cargo_bazel_macos load("@//build/deps:gen/dep_cargo_bazel_macos_x64.bzl", "dep_cargo_bazel_macos_x64") load("@//build/deps:gen/dep_cargo_bazel_win_x64.bzl", "dep_cargo_bazel_win_x64") load("@//build/deps:gen/dep_cxxbridge_cmd.bzl", "dep_cxxbridge_cmd") +load("@//build/deps:gen/dep_rules_cc.bzl", "dep_rules_cc") load("@//build/deps:gen/dep_rules_pkg.bzl", "dep_rules_pkg") load("@//build/deps:gen/dep_rules_python.bzl", "dep_rules_python") load("@//build/deps:gen/dep_rules_rust.bzl", "dep_rules_rust") +load("@//build/deps:gen/dep_rules_shell.bzl", "dep_rules_shell") def deps_gen(): dep_bazel_skylib() @@ -37,6 +39,8 @@ def deps_gen(): dep_aspect_bazel_lib() dep_aspect_rules_js() dep_aspect_rules_ts() + dep_rules_shell() + dep_rules_cc() dep_buildifier_linux_amd64() dep_buildifier_linux_arm64() dep_buildifier_darwin_amd64() diff --git a/build/deps/gen/dep_aspect_bazel_lib.bzl b/build/deps/gen/dep_aspect_bazel_lib.bzl index cade4a37fea..2a10264b564 100644 --- a/build/deps/gen/dep_aspect_bazel_lib.bzl +++ b/build/deps/gen/dep_aspect_bazel_lib.bzl @@ -15,4 +15,6 @@ def dep_aspect_bazel_lib(): strip_prefix = STRIP_PREFIX, type = TYPE, sha256 = SHA256, + patches = ["//:patches/bazel-lib/0001-Support-Bazel-8.patch"], + patch_args = ["-p1"], ) diff --git a/build/deps/gen/dep_aspect_rules_js.bzl b/build/deps/gen/dep_aspect_rules_js.bzl index b8bcf064c8e..75a84f7eac7 100644 --- a/build/deps/gen/dep_aspect_rules_js.bzl +++ b/build/deps/gen/dep_aspect_rules_js.bzl @@ -15,4 +15,6 @@ def dep_aspect_rules_js(): strip_prefix = STRIP_PREFIX, type = TYPE, sha256 = SHA256, + patches = ["//:patches/rules_js/0001-Support-Bazel-8.patch"], + patch_args = ["-p1"], ) diff --git a/build/deps/gen/dep_com_google_protobuf.bzl b/build/deps/gen/dep_com_google_protobuf.bzl index 474ec04daa8..f2eda17ea46 100644 --- a/build/deps/gen/dep_com_google_protobuf.bzl +++ b/build/deps/gen/dep_com_google_protobuf.bzl @@ -2,10 +2,10 @@ load("@//:build/http.bzl", "http_archive") -TAG_NAME = "v28.3" -URL = "https://github.com/protocolbuffers/protobuf/releases/download/v28.3/protobuf-28.3.tar.gz" -STRIP_PREFIX = "protobuf-28.3" -SHA256 = "7c3ebd7aaedd86fa5dc479a0fda803f602caaf78d8aff7ce83b89e1b8ae7442a" +TAG_NAME = "v29.0-rc3" +URL = "https://github.com/protocolbuffers/protobuf/releases/download/v29.0-rc3/protobuf-29.0-rc3.tar.gz" +STRIP_PREFIX = "protobuf-29.0-rc3" +SHA256 = "92571ddbab033a5c8facf71cf3c7987cbfeeea472db8bd3f92e94e8d1450c34a" TYPE = "tgz" def dep_com_google_protobuf(): diff --git a/build/deps/gen/dep_rules_cc.bzl b/build/deps/gen/dep_rules_cc.bzl new file mode 100644 index 00000000000..e278e19d004 --- /dev/null +++ b/build/deps/gen/dep_rules_cc.bzl @@ -0,0 +1,18 @@ +# WARNING: THIS FILE IS AUTOGENERATED BY update-deps.py DO NOT EDIT + +load("@//:build/http.bzl", "http_archive") + +TAG_NAME = "0.0.17" +URL = "https://github.com/bazelbuild/rules_cc/releases/download/0.0.17/rules_cc-0.0.17.tar.gz" +STRIP_PREFIX = "rules_cc-0.0.17" +SHA256 = "abc605dd850f813bb37004b77db20106a19311a96b2da1c92b789da529d28fe1" +TYPE = "tgz" + +def dep_rules_cc(): + http_archive( + name = "rules_cc", + url = URL, + strip_prefix = STRIP_PREFIX, + type = TYPE, + sha256 = SHA256, + ) diff --git a/build/deps/gen/dep_rules_python.bzl b/build/deps/gen/dep_rules_python.bzl index 82bba76695f..0c998300793 100644 --- a/build/deps/gen/dep_rules_python.bzl +++ b/build/deps/gen/dep_rules_python.bzl @@ -2,10 +2,10 @@ load("@//:build/http.bzl", "http_archive") -TAG_NAME = "0.39.0" -URL = "https://api.github.com/repos/bazelbuild/rules_python/tarball/0.39.0" -STRIP_PREFIX = "bazelbuild-rules_python-0759322" -SHA256 = "ed016e6308487de77075474abc5f018dcdb98e77a08eb1e6851e9ad77223663b" +TAG_NAME = "0.40.0" +URL = "https://api.github.com/repos/bazelbuild/rules_python/tarball/0.40.0" +STRIP_PREFIX = "bazelbuild-rules_python-1944874" +SHA256 = "3e8396b0741231f07e175d0e721969ea3456b4330a4daf32d1520ce427a09937" TYPE = "tgz" def dep_rules_python(): diff --git a/build/deps/gen/dep_rules_shell.bzl b/build/deps/gen/dep_rules_shell.bzl new file mode 100644 index 00000000000..103aeb61226 --- /dev/null +++ b/build/deps/gen/dep_rules_shell.bzl @@ -0,0 +1,18 @@ +# WARNING: THIS FILE IS AUTOGENERATED BY update-deps.py DO NOT EDIT + +load("@//:build/http.bzl", "http_archive") + +TAG_NAME = "v0.3.0" +URL = "https://github.com/bazelbuild/rules_shell/releases/download/v0.3.0/rules_shell-v0.3.0.tar.gz" +STRIP_PREFIX = "rules_shell-0.3.0" +SHA256 = "d8cd4a3a91fc1dc68d4c7d6b655f09def109f7186437e3f50a9b60ab436a0c53" +TYPE = "tgz" + +def dep_rules_shell(): + http_archive( + name = "rules_shell", + url = URL, + strip_prefix = STRIP_PREFIX, + type = TYPE, + sha256 = SHA256, + ) diff --git a/patches/bazel-lib/0001-Support-Bazel-8.patch b/patches/bazel-lib/0001-Support-Bazel-8.patch new file mode 100644 index 00000000000..32ab6cf5013 --- /dev/null +++ b/patches/bazel-lib/0001-Support-Bazel-8.patch @@ -0,0 +1,41 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: Felix Hanau +Date: Sat, 23 Nov 2024 22:07:46 -0500 +Subject: Support Bazel 8 + + +diff --git a/lib/private/bats.bzl b/lib/private/bats.bzl +index 65de719a73114c24f837446d35c7a530adb47e94..c71aef825c5d020566abd800f77ab00fa335e200 100644 +--- a/lib/private/bats.bzl ++++ b/lib/private/bats.bzl +@@ -102,7 +102,7 @@ bats_test = rule( + }, + toolchains = [ + "@aspect_bazel_lib//lib:bats_toolchain_type", +- "@bazel_tools//tools/sh:toolchain_type", ++ "@rules_shell//shell:toolchain_type", + ], + test = True, + ) +diff --git a/lib/windows_utils.bzl b/lib/windows_utils.bzl +index 30a81fed92d17d7eff4ddd0e96179f3001923712..f0af1fb8397f83773af8883049f093928323c668 100644 +--- a/lib/windows_utils.bzl ++++ b/lib/windows_utils.bzl +@@ -70,7 +70,7 @@ exit /b 0 + def create_windows_native_launcher_script(ctx, shell_script): + """Create a Windows Batch file to launch the given shell script. + +- The rule should specify @bazel_tools//tools/sh:toolchain_type as a required toolchain. ++ The rule should specify @rules_shell//shell:toolchain_type as a required toolchain. + + Args: + ctx: Rule context +@@ -101,7 +101,7 @@ if defined args ( + ) + "{bash_bin}" -c "!run_script! !args!" + """.format( +- bash_bin = ctx.toolchains["@bazel_tools//tools/sh:toolchain_type"].path, ++ bash_bin = ctx.toolchains["@rules_shell//shell:toolchain_type"].path, + sh_script = paths.to_rlocation_path(ctx, shell_script), + rlocation_function = BATCH_RLOCATION_FUNCTION, + ), diff --git a/patches/bazel-lib/0001-chore-deps-upgrade-to-newest-bsdtar.patch b/patches/bazel-lib/0001-chore-deps-upgrade-to-newest-bsdtar.patch deleted file mode 100644 index 04a29cb03b3..00000000000 --- a/patches/bazel-lib/0001-chore-deps-upgrade-to-newest-bsdtar.patch +++ /dev/null @@ -1,72 +0,0 @@ -From 0fc8e2579c3070f3bad89242855ddbfc7f7b517e Mon Sep 17 00:00:00 2001 -From: Alex Eagle -Date: Tue, 17 Sep 2024 13:26:20 -0700 -Subject: chore(deps): upgrade to newest bsdtar - - -diff --git a/lib/private/tar_toolchain.bzl b/lib/private/tar_toolchain.bzl -index 22fe717b5095e338272c6a48b1eeafbacece4fa1..dd12eac4d0b9e02363b6db8038f03a4d9cbc9c64 100644 ---- a/lib/private/tar_toolchain.bzl -+++ b/lib/private/tar_toolchain.bzl -@@ -36,44 +36,36 @@ BSDTAR_PLATFORMS = { - - BSDTAR_PREBUILT = { - "darwin_amd64": ( -- "https://github.com/aspect-build/bsdtar-prebuilt/releases/download/v3.7.4-3/tar_darwin_amd64", -- "e872943518f946a4a73106c1fa811c0211cb74a6e6d673f5a2ffbfaf40806ec0", -+ "https://github.com/aspect-build/bsdtar-prebuilt/releases/download/v3.7.5/tar_darwin_amd64", -+ "6c7752869833c5cd4cf9728f90afd37f6665d7f9e06a4fbfdeb0fa41267575cf", - ), - "darwin_arm64": ( -- "https://github.com/aspect-build/bsdtar-prebuilt/releases/download/v3.7.4-3/tar_darwin_arm64", -- "81d992eeefb519421dc18db63fce51f7fef7204b94e17e9b490af7699b565ff1", -+ "https://github.com/aspect-build/bsdtar-prebuilt/releases/download/v3.7.5/tar_darwin_arm64", -+ "1718c23919bae478ed13c682a341e389de6ba4396220fc8e75a7f0e5d6024019", - ), - "linux_amd64": ( -- "https://github.com/aspect-build/bsdtar-prebuilt/releases/download/v3.7.4-3/tar_linux_amd64", -- "9dba82030199b2660086e458fa6481cf73089ee5c47d216e647bb2a6b0fae792", -+ "https://github.com/aspect-build/bsdtar-prebuilt/releases/download/v3.7.5/tar_linux_amd64", -+ "b8c492a51fb9e4c59dfa71b3c62191210c48280b98c2a88f7cef8ba973a9ad39", - ), - "linux_arm64": ( -- "https://github.com/aspect-build/bsdtar-prebuilt/releases/download/v3.7.4-3/tar_linux_arm64", -- "105f91ad792fce13030bd249d8f9a14fd7ceaf908e1caeb99685b0b1fac44be2", -+ "https://github.com/aspect-build/bsdtar-prebuilt/releases/download/v3.7.5/tar_linux_arm64", -+ "aa760c25a5445320bb3cde06e60c99ebc95fb29f330af0212bd099dd24e1cc54", - ), - "windows_amd64": ( -- "https://github.com/libarchive/libarchive/releases/download/v3.7.4/libarchive-v3.7.4-amd64.zip", -- "7ced6865d5e22e1dab0c3f3d65094d946ae505ec4e8db026f82c9e1c413f3c59", -+ "https://github.com/aspect-build/bsdtar-prebuilt/releases/download/v3.7.5-1/tar_windows_x86_64.exe", -+ "2650c428fbe37276d4ffa3386d55b69f06fb4611e25ff05db5f011c389c3e952", - ), - } - - def _bsdtar_binary_repo(rctx): - (url, sha256) = BSDTAR_PREBUILT[rctx.attr.platform] -- if rctx.attr.platform.startswith("windows"): -- rctx.download_and_extract( -- url = url, -- type = "zip", -- sha256 = sha256, -- ) -- binary = "libarchive/bin/bsdtar.exe" -- else: -- rctx.download( -- url = url, -- output = "tar", -- executable = True, -- sha256 = sha256, -- ) -- binary = "tar" -+ binary = "tar.exe" if rctx.attr.platform.startswith("windows") else "tar" -+ rctx.download( -+ url = url, -+ output = binary, -+ executable = True, -+ sha256 = sha256, -+ ) - - rctx.file("BUILD.bazel", """\ - # @generated by @aspect_bazel_lib//lib/private:tar_toolchain.bzl diff --git a/patches/rules_js/0001-Support-Bazel-8.patch b/patches/rules_js/0001-Support-Bazel-8.patch new file mode 100644 index 00000000000..c4554ed45de --- /dev/null +++ b/patches/rules_js/0001-Support-Bazel-8.patch @@ -0,0 +1,32 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: Felix Hanau +Date: Fri, 22 Nov 2024 19:19:24 -0500 +Subject: Support Bazel 8 + + +diff --git a/js/private/coverage/merger.bzl b/js/private/coverage/merger.bzl +index b41acfa6330e0b9dfcd71e83277275601ecd8a2a..08c82e0fff27014c5552af17a5423a6e8ca8cccf 100644 +--- a/js/private/coverage/merger.bzl ++++ b/js/private/coverage/merger.bzl +@@ -68,7 +68,7 @@ coverage_merger = rule( + attrs = _ATTRS, + executable = True, + toolchains = [ +- "@bazel_tools//tools/sh:toolchain_type", ++ "@rules_shell//shell:toolchain_type", + "@rules_nodejs//nodejs:toolchain_type", + ], + ) +diff --git a/js/private/js_binary.bzl b/js/private/js_binary.bzl +index 33e71d92adbd7d9a41575df815db59a1e97f33c2..72147c622ee95d8447ea4896cbf6fdb58149d3b8 100644 +--- a/js/private/js_binary.bzl ++++ b/js/private/js_binary.bzl +@@ -614,7 +614,7 @@ js_binary_lib = struct( + implementation = _js_binary_impl, + toolchains = [ + # TODO: on Windows this toolchain is never referenced +- "@bazel_tools//tools/sh:toolchain_type", ++ "@rules_shell//shell:toolchain_type", + "@rules_nodejs//nodejs:toolchain_type", + ] + COPY_FILE_TO_BIN_TOOLCHAINS, + ) diff --git a/patches/tcmalloc/0001-Support-Bazel-8.patch b/patches/tcmalloc/0001-Support-Bazel-8.patch new file mode 100644 index 00000000000..886a36fe6e2 --- /dev/null +++ b/patches/tcmalloc/0001-Support-Bazel-8.patch @@ -0,0 +1,21 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: Felix Hanau +Date: Sat, 23 Nov 2024 22:27:27 -0500 +Subject: Support Bazel 8 + + +diff --git a/tcmalloc/internal/BUILD b/tcmalloc/internal/BUILD +index 3a6c0197d16112d2bc94789c7b9d4ed28f5303b8..66727b3a9fdf38f8b63202ecb550d91cf04100fd 100644 +--- a/tcmalloc/internal/BUILD ++++ b/tcmalloc/internal/BUILD +@@ -14,8 +14,8 @@ + # + # Internal libraries used for the implementation and testing of TCMalloc. + +-load("@rules_cc//cc:defs.bzl", "cc_proto_library") +-load("@rules_proto//proto:defs.bzl", "proto_library") ++load("@com_google_protobuf//bazel:cc_proto_library.bzl", "cc_proto_library") ++load("@com_google_protobuf//bazel:proto_library.bzl", "proto_library") + load("//tcmalloc:copts.bzl", "TCMALLOC_DEFAULT_COPTS") + load("//tcmalloc:variants.bzl", "create_tcmalloc_benchmark") + diff --git a/patches/v8/0021-bazel-Add-missing-imports-needed-with-Bazel-8.patch b/patches/v8/0021-bazel-Add-missing-imports-needed-with-Bazel-8.patch new file mode 100644 index 00000000000..cfff9b08657 --- /dev/null +++ b/patches/v8/0021-bazel-Add-missing-imports-needed-with-Bazel-8.patch @@ -0,0 +1,19 @@ +From c9688d31cd8e1e8cbb5624f9cee367029d5a728a Mon Sep 17 00:00:00 2001 +From: Felix Hanau +Date: Sun, 27 Oct 2024 16:49:31 +0000 +Subject: [bazel] Add missing imports needed with Bazel 8 + + +diff --git a/BUILD.bazel b/BUILD.bazel +index 3fa74551420b48f226553ddaa00eb9926a3b009f..5860920e592b2b22d44bbd6a62783fc472e4dcf7 100644 +--- a/BUILD.bazel ++++ b/BUILD.bazel +@@ -3,7 +3,7 @@ + # found in the LICENSE file. + + load("@bazel_skylib//lib:selects.bzl", "selects") +-load("@rules_python//python:defs.bzl", "py_binary") ++load("@rules_python//python:defs.bzl", "py_binary", "py_test") + load("@v8_python_deps//:requirements.bzl", "requirement") + load( + "@v8//:bazel/defs.bzl", diff --git a/src/workerd/server/tests/compile-tests/BUILD.bazel b/src/workerd/server/tests/compile-tests/BUILD.bazel index c9f3d027bf4..8434af9e65a 100644 --- a/src/workerd/server/tests/compile-tests/BUILD.bazel +++ b/src/workerd/server/tests/compile-tests/BUILD.bazel @@ -1,3 +1,5 @@ +load("@rules_shell//shell:sh_test.bzl", "sh_test") + sh_test( name = "helloworld_compile_test", size = "medium",