Update Bazel versions in CI: drop Bazel 6, add Bazel 9 (#613)
* Update Bazel versions in CI: drop Bazel 6, add Bazel 9
* fix analysis_test_e2e_test test
* fix buildifier
diff --git a/.bazelci/presubmit.yml b/.bazelci/presubmit.yml
index b30d9a0..0afe3e1 100644
--- a/.bazelci/presubmit.yml
+++ b/.bazelci/presubmit.yml
@@ -29,14 +29,6 @@
? "@bazel_skylib_gazelle_plugin//..."
tasks:
- run_presubmit_bazel_6:
- name: "Bazel 6 (WORKSPACE)"
- platform: ${{ platform }}
- bazel: 6.x
- build_flags: *reusable_build_flags
- test_flags: *reusable_test_flags
- build_targets: *workspace_targets
-
run_presubmit_bazel_7_workspace:
name: "Bazel 7 (WORKSPACE)"
platform: ${{ platform }}
@@ -50,6 +42,7 @@
? "--enable_workspace"
? "--noenable_bzlmod"
build_targets: *workspace_targets
+ skip_in_bazel_downstream_pipeline: "Only Bazel 9 is relevant for the Downstream pipeline"
run_presubmit_bazel_7_bzlmod:
name: "Bazel 7 (Bzlmod)"
@@ -65,6 +58,7 @@
test_targets:
<<: *bzlmod_targets
? "-//docs/..."
+ skip_in_bazel_downstream_pipeline: "Only Bazel 9 is relevant for the Downstream pipeline"
run_presubmit_bazel_8:
name: "Bazel 8 (Bzlmod)"
@@ -74,5 +68,15 @@
test_flags: *reusable_test_flags
build_targets: *bzlmod_targets
test_targets: *bzlmod_targets
+ skip_in_bazel_downstream_pipeline: "Only Bazel 9 is relevant for the Downstream pipeline"
+
+ run_presubmit_bazel_9:
+ name: "Bazel 9 (Bzlmod)"
+ platform: ${{ platform }}
+ bazel: 9.x
+ build_flags: *reusable_build_flags
+ test_flags: *reusable_test_flags
+ build_targets: *bzlmod_targets
+ test_targets: *bzlmod_targets
buildifier: latest
diff --git a/rules/common_settings.bzl b/rules/common_settings.bzl
index 4e9bcaa..f61358a 100644
--- a/rules/common_settings.bzl
+++ b/rules/common_settings.bzl
@@ -140,6 +140,8 @@
def _no_at_str(label):
"""Strips any leading '@'s for labels in the main repo, so that the error string is more friendly."""
s = str(label)
+
+ # buildifier: disable=canonical-repository
if s.startswith("@@//"):
return s[2:]
if s.startswith("@//"):
diff --git a/tests/analysis_test_test.sh b/tests/analysis_test_test.sh
index 5d5d7de..3e264ad 100755
--- a/tests/analysis_test_test.sh
+++ b/tests/analysis_test_test.sh
@@ -53,6 +53,12 @@
workspace(name = 'bazel_skylib')
EOF
+ cat > MODULE.bazel <<EOF
+module(name = "my_test_workspace")
+
+bazel_dep(name = "rules_cc", version = "0.2.14", dev_dependency = True)
+EOF
+
mkdir -p rules
cat > rules/BUILD <<EOF
exports_files(["*.bzl"])
@@ -107,6 +113,7 @@
cat > testdir/BUILD <<EOF
load("//rules:analysis_test.bzl", "analysis_test")
load("//fakerules:rules.bzl", "fake_rule", "fake_depending_rule")
+load("@rules_cc//cc:cc_library.bzl", "cc_library")
fake_rule(name = "target_fails")
diff --git a/tests/modules_test.bzl b/tests/modules_test.bzl
index 0887463..f48d5b3 100644
--- a/tests/modules_test.bzl
+++ b/tests/modules_test.bzl
@@ -49,6 +49,7 @@
def modules_test_suite():
"""Creates the tests for modules.bzl if Bzlmod is enabled."""
+ # buildifier: disable=canonical-repository
is_bzlmod_enabled = str(Label("//tests:module_tests.bzl")).startswith("@@")
if not is_bzlmod_enabled:
return