re2: make CI checks also PR checks

Also incorporate BUILD updates from #584
and a few more checks to make Bazel work again.
diff --git a/.github/workflows/ci-bazel.yml b/.github/workflows/ci-bazel.yml
index 82e0c06..ca95119 100644
--- a/.github/workflows/ci-bazel.yml
+++ b/.github/workflows/ci-bazel.yml
@@ -1,5 +1,7 @@
 name: CI (Bazel)
 on:
+  pull_request:
+    branches: [main]
   push:
     branches: [main, rsc-testing]
 permissions:
@@ -13,8 +15,6 @@
         os: [macos-latest, ubuntu-latest, windows-latest]
         # Keep in sync with python.yml.
         ver: ['3.10', '3.11', '3.12', '3.13', '3.14']
-    env:
-      BAZELISK_GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
     steps:
       - uses: actions/checkout@v4.2.2
       - uses: bazel-contrib/setup-bazel@0.15.0
diff --git a/.github/workflows/ci-cmake.yml b/.github/workflows/ci-cmake.yml
index d2a7c9c..cbd0a9d 100644
--- a/.github/workflows/ci-cmake.yml
+++ b/.github/workflows/ci-cmake.yml
@@ -1,5 +1,7 @@
 name: CI (CMake)
 on:
+  pull_request:
+    branches: [main]
   push:
     branches: [main, rsc-testing]
 permissions:
diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml
index d7b398e..4b9513e 100644
--- a/.github/workflows/ci.yml
+++ b/.github/workflows/ci.yml
@@ -1,5 +1,7 @@
 name: CI
 on:
+  pull_request:
+    branches: [main]
   push:
     branches: [main, rsc-testing]
 permissions:
diff --git a/MODULE.bazel b/MODULE.bazel
index 1f388b6..c2530a9 100644
--- a/MODULE.bazel
+++ b/MODULE.bazel
@@ -11,11 +11,11 @@
 )
 
 bazel_dep(name = "platforms", version = "1.0.0")
-bazel_dep(name = "apple_support", version = "1.23.1")
-bazel_dep(name = "rules_cc", version = "0.1.4")
-bazel_dep(name = "abseil-cpp", version = "20250512.1")
-bazel_dep(name = "rules_python", version = "1.5.1")
-bazel_dep(name = "pybind11_bazel", version = "2.13.6")
+bazel_dep(name = "apple_support", version = "1.24.2")
+bazel_dep(name = "rules_cc", version = "0.2.14")
+bazel_dep(name = "abseil-cpp", version = "20250814.1")
+bazel_dep(name = "rules_python", version = "1.7.0")
+bazel_dep(name = "pybind11_bazel", version = "3.0.0")
 
 # This is a temporary hack for `x64_x86_windows`.
 # TODO(junyer): Remove whenever no longer needed.
@@ -25,5 +25,5 @@
 # These dependencies will be ignored when the `re2` module is not
 # the root module (or when `--ignore_dev_dependency` is enabled).
 bazel_dep(name = "google_benchmark", version = "1.9.4", dev_dependency = True)
-bazel_dep(name = "googletest", version = "1.17.0", dev_dependency = True)
+bazel_dep(name = "googletest", version = "1.17.0.bcr.2", dev_dependency = True)
 bazel_dep(name = "abseil-py", version = "2.1.0", dev_dependency = True)
diff --git a/python/toolchains/generate.py b/python/toolchains/generate.py
index 84fef78..86dda14 100644
--- a/python/toolchains/generate.py
+++ b/python/toolchains/generate.py
@@ -23,6 +23,8 @@
   with open(f'{mydir}/BUILD.bazel', 'x') as file:
     file.write(
         """\
+load("@rules_cc//cc:cc_import.bzl", "cc_import")
+load("@rules_cc//cc:cc_library.bzl", "cc_library")
 load("@rules_python//python/cc:py_cc_toolchain.bzl", "py_cc_toolchain")
 load("@rules_python//python:py_runtime.bzl", "py_runtime")
 load("@rules_python//python:py_runtime_pair.bzl", "py_runtime_pair")