From 4832b4da60742b58c3243ec2a21f61dadc2023a9 Mon Sep 17 00:00:00 2001 From: Elvis Wianda Date: Tue, 11 Aug 2026 21:12:27 -0400 Subject: [PATCH 1/5] Exclude Bazel 6.5.0 from macOS CI matrix Bazel 6 is incompatible with newer macOS runners due to a dyld "missing LC_UUID load command in wrapped_clang" error. Keep Bazel 6 testing on Ubuntu only. Co-Authored-By: Claude Opus 4.6 (1M context) --- .github/workflows/ci.yaml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index 959f433..1ac253b 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -15,6 +15,9 @@ jobs: matrix: os: [ubuntu-latest, macos-latest] bazel_version: ['6.5.0', '7.6.1', '8.4.0'] + exclude: + - os: macos-latest + bazel_version: '6.5.0' steps: - name: Checkout uses: actions/checkout@v4 From 664ba82008781f34a6f23277e56a82d077a34bfc Mon Sep 17 00:00:00 2001 From: Elvis Wianda Date: Tue, 11 Aug 2026 21:49:22 -0400 Subject: [PATCH 2/5] Drop Bazel 6 from CI matrix entirely Bazel 6 reached end-of-life on December 31, 2025 and receives no further support. rules_go also no longer tests against Bazel 6 in CI despite still listing it in their README. Keep testing Bazel 7 and 8 only. Co-Authored-By: Claude Opus 4.6 (1M context) --- .github/workflows/ci.yaml | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index 1ac253b..c1aa812 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -14,10 +14,7 @@ jobs: fail-fast: false matrix: os: [ubuntu-latest, macos-latest] - bazel_version: ['6.5.0', '7.6.1', '8.4.0'] - exclude: - - os: macos-latest - bazel_version: '6.5.0' + bazel_version: ['7.6.1', '8.4.0'] steps: - name: Checkout uses: actions/checkout@v4 From 7f8c6b75c980ced469a437485795cb6be8f053ad Mon Sep 17 00:00:00 2001 From: Elvis Wianda Date: Tue, 11 Aug 2026 21:49:47 -0400 Subject: [PATCH 3/5] Add Bazel 9.2.0 to CI matrix Bazel 9 is the current active LTS release. Test against it in both WORKSPACE and bzlmod jobs. Co-Authored-By: Claude Opus 4.6 (1M context) --- .github/workflows/ci.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index c1aa812..0ad5e1a 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -14,7 +14,7 @@ jobs: fail-fast: false matrix: os: [ubuntu-latest, macos-latest] - bazel_version: ['7.6.1', '8.4.0'] + bazel_version: ['7.6.1', '8.4.0', '9.2.0'] steps: - name: Checkout uses: actions/checkout@v4 @@ -47,7 +47,7 @@ jobs: fail-fast: false matrix: os: [ubuntu-latest, macos-latest] - bazel_version: ['7.6.1', '8.4.0'] + bazel_version: ['7.6.1', '8.4.0', '9.2.0'] steps: - name: Checkout uses: actions/checkout@v4 From fab4f66c09fc7caa22f55284812bbe691bc42992 Mon Sep 17 00:00:00 2001 From: Elvis Wianda Date: Tue, 11 Aug 2026 21:51:01 -0400 Subject: [PATCH 4/5] Revert Bazel 9 from CI matrix MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Bazel 9 removed sh_test from native rules — it must be loaded from @rules_shell. Adding Bazel 9 support requires updating tests/BUILD and is out of scope for this PR. Co-Authored-By: Claude Opus 4.6 (1M context) --- .github/workflows/ci.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index 0ad5e1a..c1aa812 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -14,7 +14,7 @@ jobs: fail-fast: false matrix: os: [ubuntu-latest, macos-latest] - bazel_version: ['7.6.1', '8.4.0', '9.2.0'] + bazel_version: ['7.6.1', '8.4.0'] steps: - name: Checkout uses: actions/checkout@v4 @@ -47,7 +47,7 @@ jobs: fail-fast: false matrix: os: [ubuntu-latest, macos-latest] - bazel_version: ['7.6.1', '8.4.0', '9.2.0'] + bazel_version: ['7.6.1', '8.4.0'] steps: - name: Checkout uses: actions/checkout@v4 From 74132543abc2f6f242606341e6200225f9c1fa37 Mon Sep 17 00:00:00 2001 From: Elvis Wianda Date: Tue, 11 Aug 2026 21:57:24 -0400 Subject: [PATCH 5/5] Add Bazel 9 support with rules_shell dependency Bazel 9 removed sh_test from native rules. Add rules_shell as a dependency and explicitly load sh_test in tests/BUILD. Also removes the deprecated compatibility_level attribute from MODULE.bazel. Tested locally: all 25 tests pass on Bazel 7.6.1, 8.4.0, and 9.2.0. Co-Authored-By: Claude Opus 4.6 (1M context) --- .github/workflows/ci.yaml | 4 ++-- MODULE.bazel | 2 +- WORKSPACE | 9 +++++++++ tests/BUILD | 1 + 4 files changed, 13 insertions(+), 3 deletions(-) diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index c1aa812..0ad5e1a 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -14,7 +14,7 @@ jobs: fail-fast: false matrix: os: [ubuntu-latest, macos-latest] - bazel_version: ['7.6.1', '8.4.0'] + bazel_version: ['7.6.1', '8.4.0', '9.2.0'] steps: - name: Checkout uses: actions/checkout@v4 @@ -47,7 +47,7 @@ jobs: fail-fast: false matrix: os: [ubuntu-latest, macos-latest] - bazel_version: ['7.6.1', '8.4.0'] + bazel_version: ['7.6.1', '8.4.0', '9.2.0'] steps: - name: Checkout uses: actions/checkout@v4 diff --git a/MODULE.bazel b/MODULE.bazel index 009fff3..ab107b3 100644 --- a/MODULE.bazel +++ b/MODULE.bazel @@ -16,11 +16,11 @@ module( name = "com_github_benchsci_rules_nodejs_gazelle", version = "0.0.0", - compatibility_level = 1, ) bazel_dep(name = "rules_go", version = "0.60.0", repo_name = "io_bazel_rules_go") bazel_dep(name = "gazelle", version = "0.47.0", repo_name = "bazel_gazelle") +bazel_dep(name = "rules_shell", version = "0.4.1") go_deps = use_extension("@bazel_gazelle//:extensions.bzl", "go_deps") go_deps.from_file(go_mod = "//:go.mod") diff --git a/WORKSPACE b/WORKSPACE index 6b99a64..1083f9f 100644 --- a/WORKSPACE +++ b/WORKSPACE @@ -35,6 +35,15 @@ http_archive( ], ) +http_archive( + name = "rules_shell", + sha256 = "bc61ef94facc78e20a645726f64756e5e285a045037c7a61f65af2941f4c25e1", + strip_prefix = "rules_shell-0.4.1", + urls = [ + "https://github.com/bazel-contrib/rules_shell/releases/download/v0.4.1/rules_shell-v0.4.1.tar.gz", + ], +) + load("@io_bazel_rules_go//go:deps.bzl", "go_register_toolchains", "go_rules_dependencies") load("@bazel_gazelle//:deps.bzl", "gazelle_dependencies") diff --git a/tests/BUILD b/tests/BUILD index 6a1abd5..719ee9a 100644 --- a/tests/BUILD +++ b/tests/BUILD @@ -1,4 +1,5 @@ load("@io_bazel_rules_go//go:def.bzl", "go_binary", "go_library") +load("@rules_shell//shell:sh_test.bzl", "sh_test") # Copyright 2019 The Bazel Authors. All rights reserved. # Modifications copyright (C) 2021 BenchSci Analytics Inc.