You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
* Fix last_green w/bazel_worker_java rules_java 8.15
Uses the `bazel_worker_java` module and a legacy `WORKSPACE` shim to
replace `@bazel_tools//src/main/protobuf:worker_protocol_java_proto`.
This, and bumping `rules_java` to 8.14.0, fixes breakages in the latest
`last_green` Bazel from commit 00b48b27aa216befc419e540919a1f1df4cda337.
Note, though, that this change bumps `rules_java` to 8.15.0, since it's
now available. This change also updates:
- `gazelle`: 0.44.0 => 0.45.0
- `rules_go`: 0.55.1 => 0.56.1
- `rules_shell`: 0.5.0 => 0.5.1
Also:
- Removes the `--incompatible_autoload_externally` flag from `.bazelrc`.
- Removes the Bazel 9.0.0-pre.20250710.1 CI job added by bazel-contrib#1755, since
it's no longer necessary given the fix from this change.
- Fixes `_get_compiler_srcjar` to return empty `compiler_srcjar_objects`
instead of returning a valid object. `test_compiler_srcjar_error
2.12.11` from `dt_patches/dt_patch_test.sh` caught this under
`WORKSPACE`. Added `test_fail_if_compiler_srcjar_object_is_empty` to
`test/shell/test_compiler_sources_integrity.sh` to catch the specific
problem sooner.
- Fixed regex in `target_file_location` from `test_helper.sh` to work
with Bazel 6.5.0, and fixed unbound variable in `fail` message.
- Added logic to `teardown_suite` in `test_bzlmod_macros.sh` to avoid
unbound variable breakage when running under Bazel 6.5.0.
- Added logic to skip `test_check_module_bazel_template` under Bazel 6
in `test_version.sh`.
- Removed restriction to use `protobuf` v29 or lower with Bazel 6 from
`README.md`.
- Added `scala_compiler_source.*` to the regular expressions for "canonical
reproducible" messages in `dt_patches/dt_patch_test.sh`. This resolved
a test breakage when `rules_python` began to emit a "canonical
reproducible" message. (Also changed `--expunge` to
`--expunge_async`.)
---
bazelbuild/bazel#26477, which also landed in the 9.0.0-pre.20250714.1
rolling release, broke the `last_green` build:
```
$ USE_BAZEL_VERSION=9.0.0-pre.20250714.1 bazel test //src/... //test/...
ERROR: error loading package '@@bazel_tools//src/main/protobuf':
Unable to find package for
@@[unknown repo 'grpc-java' requested from @@bazel_tools]//:java_grpc_library.bzl:
The repository '@@[unknown repo 'grpc-java' requested from @@bazel_tools]'
could not be resolved:
No repository visible as '@grpc-java' from repository '@@bazel_tools'.
```
The failing target, and several others, depended upon
`@bazel_tools//src/main/protobuf:worker_protocol_java_proto`. Nothing
else depends on any other target from that package. So upon @Wyverald's
advice, I attempted to use the `bazel_worker_java` module to replace
this specific dependency:
- bazelbuild/bazel#26579 (comment)
The next failure was due to `rules_scala` overriding `rules_java` to be
8.12.0, whereas `last_green` now requires 8.14.0:
```txt
$ USE_BAZEL_VERSION=last_green bazel build //src/... //test/...
ERROR: src/java/io/bazel/rulesscala/jar/BUILD:3:13:
in java_library rule //src/java/io/bazel/rulesscala/jar:jar:
Traceback (most recent call last):
File ".../external/rules_java+/java/bazel/rules/bazel_java_library.bzl",
line 26, column 35, in _proxy
return bazel_java_library_rule(
File ".../external/rules_java+/java/common/rules/impl/bazel_java_library_impl.bzl",
line 68, column 43, in bazel_java_library_rule
target, base_info = basic_java_library(
File ".../external/rules_java+/java/common/rules/impl/basic_java_library_impl.bzl",
line 127, column 49, in basic_java_library
java_info, compilation_info = compile_action(
File ".../external/rules_java+/java/common/rules/impl/compile_action.bzl",
line 139, column 46, in compile_action
java_info = _compile_private_for_builtins(
File ".../external/rules_java+/java/private/java_common_internal.bzl",
line 217, column 68, in compile
get_internal_java_common().create_header_compilation_action(
Error in create_header_compilation_action:
create_header_compilation_action() missing 2 required positional
arguments: header_compilation_jar, header_compilation_direct_deps
ERROR: src/java/io/bazel/rulesscala/jar/BUILD:3:13:
Analysis of target '//src/java/io/bazel/rulesscala/jar:jar' failed
```
Bumping `rules_java` to 8.14.0 in the `single_version_override` fixed
that.
Finally, since there's no legacy `WORKSPACE` API in
bazelbuild/bazel-worker-api, I had to roll my own new
`workspace_compat()` macro. This macro creates
`@bazel_worker_{api,java}` repos from the `bazel-worker-api` archive
using @Wyverald's `http_archive` and `strip_prefix` suggestion
from bazel-contrib#1756.
Regarding `--incompatible_autoload_externally`, I'd added it in bazel-contrib#1748
when fixing problems with `WORKSPACE` builds under Bazel 8.2.1. However,
it's not really necessary, so I removed it.
* Update Maven artifact versions
- Scalafmt: 3.9.8 => 3.9.9
- `grpc`: 1.73.0 => 1.74.0
- `proto-google-common-protos`: 2.59.2 => 2.60.0
- `sbt-util-interface`: 1.11.3 => 1.11.4
- "./test_rules_scala.sh || buildkite-agent annotate --style 'warning' \"Optional build with last_green Bazel version failed, [see here](${BUILDKITE_BUILD_URL}#${BUILDKITE_JOB_ID}) (It is not mandatory but worth checking)\""
40
-
# Remove this job once the last_green job passes after a fix lands for
41
-
# bazelbuild/bazel#26579.
42
-
test_rules_scala_linux_9_prerelease:
43
-
name: "./test_rules_scala (Bazel 9 rolling prerelease)"
0 commit comments