ci: switch our jobs to mac arm64 (#3426)

The arm64 macs have been in the wild for a while and it makes more sense
to test against that platform instead of the Intel macs that very few
people in our user-base are using.

At the same time clarify the supported platforms.

---------

Co-authored-by: Richard Levasseur <rlevasseur@google.com>
diff --git a/.bazelci/presubmit.yml b/.bazelci/presubmit.yml
index 548d1e9..e6ee335 100644
--- a/.bazelci/presubmit.yml
+++ b/.bazelci/presubmit.yml
@@ -159,7 +159,7 @@
     <<: *reusable_config
     <<: *common_workspace_flags
     name: "Default: Mac, workspace"
-    platform: macos
+    platform: macos_arm64
   windows_workspace:
     <<: *reusable_config
     <<: *common_workspace_flags
@@ -190,10 +190,10 @@
     <<: *reusable_config
     name: "Default: Debian"
     platform: debian11
-  macos:
+  macos_arm64:
     <<: *reusable_config
     name: "Default: MacOS"
-    platform: macos
+    platform: macos_arm64
   windows:
     <<: *reusable_config
     name: "Default: Windows"
@@ -254,7 +254,7 @@
     <<: *common_workspace_flags
     name: "examples/build_file_generation: macOS, workspace"
     working_directory: examples/build_file_generation
-    platform: macos
+    platform: macos_arm64
   integration_test_build_file_generation_windows_workspace:
     <<: *reusable_build_test_all
     <<: *common_workspace_flags
@@ -305,14 +305,14 @@
     <<: *coverage_targets_example_bzlmod
     name: "examples/bzlmod: macOS"
     working_directory: examples/bzlmod
-    platform: macos
+    platform: macos_arm64
     bazel: 7.x
   integration_test_bzlmod_macos_upcoming:
     <<: *reusable_build_test_all
     <<: *coverage_targets_example_bzlmod
     name: "examples/bzlmod: macOS, upcoming Bazel"
     working_directory: examples/bzlmod
-    platform: macos
+    platform: macos_arm64
     bazel: last_rc
   integration_test_bzlmod_windows:
     <<: *reusable_build_test_all
@@ -362,7 +362,7 @@
     <<: *coverage_targets_example_bzlmod_build_file_generation
     name: "gazelle/examples/bzlmod_build_file_generation: MacOS"
     working_directory: gazelle/examples/bzlmod_build_file_generation
-    platform: macos
+    platform: macos_arm64
   integration_test_bzlmod_build_file_generation_windows:
     <<: *reusable_build_test_all
     # coverage is not supported on Windows
@@ -390,7 +390,7 @@
     <<: *coverage_targets_example_multi_python
     name: "examples/multi_python_versions: MacOS, workspace"
     working_directory: examples/multi_python_versions
-    platform: macos
+    platform: macos_arm64
   integration_test_multi_python_versions_windows_workspace:
     <<: *reusable_build_test_all
     <<: *common_workspace_flags
@@ -427,7 +427,7 @@
     <<: *reusable_build_test_all
     name: "examples/pip_parse: MacOS"
     working_directory: examples/pip_parse
-    platform: macos
+    platform: macos_arm64
   integration_test_pip_parse_windows:
     <<: *reusable_build_test_all
     name: "examples/pip_parse: Windows"
@@ -458,7 +458,7 @@
     <<: *common_workspace_flags
     name: "examples/pip_parse_vendored: MacOS"
     working_directory: examples/pip_parse_vendored
-    platform: macos
+    platform: macos_arm64
   # We don't run pip_parse_vendored under Windows as the file checked in is
   # generated from a repository rule containing OS-specific rendered paths.
 
@@ -481,7 +481,7 @@
     <<: *common_workspace_flags
     name: "examples/py_proto_library: MacOS, workspace"
     working_directory: examples/py_proto_library
-    platform: macos
+    platform: macos_arm64
   integration_test_py_proto_library_windows_workspace:
     <<: *reusable_build_test_all
     <<: *common_workspace_flags
@@ -506,7 +506,7 @@
     <<: *common_workspace_flags
     name: "examples/pip_repository_annotations: macOS, workspace"
     working_directory: examples/pip_repository_annotations
-    platform: macos
+    platform: macos_arm64
   integration_test_pip_repository_annotations_windows_workspace:
     <<: *reusable_build_test_all
     <<: *common_workspace_flags
@@ -528,7 +528,7 @@
   integration_test_bazelinbazel_macos:
     <<: *common_bazelinbazel_config
     name: "tests/integration bazel-in-bazel: macOS (subset)"
-    platform: macos
+    platform: macos_arm64
     build_targets: ["//tests/integration:local_toolchains_test_bazel_self"]
     test_targets: ["//tests/integration:local_toolchains_test_bazel_self"]
   # The bazelinbazel tests were disabled on Windows to save CI jobs slots, and
@@ -581,7 +581,7 @@
     <<: *reusable_build_test_all
     name: "compile_pip_requirements: MacOS"
     working_directory: tests/integration/compile_pip_requirements
-    platform: macos
+    platform: macos_arm64
     shell_commands:
     # Make a change to the locked requirements and then assert that //:requirements.update does the
     # right thing.
@@ -614,7 +614,6 @@
     - "bazel run //:os_specific_requirements.update"
     - "git diff --exit-code"
 
-
   integration_compile_pip_requirements_test_from_external_repo_ubuntu_min_workspace:
     <<: *minimum_supported_version
     <<: *common_workspace_flags_min_bazel
@@ -650,7 +649,7 @@
   integration_compile_pip_requirements_test_from_external_repo_macos:
     name: "compile_pip_requirements_test_from_external_repo: macOS"
     working_directory: tests/integration/compile_pip_requirements_test_from_external_repo
-    platform: macos
+    platform: macos_arm64
     shell_commands:
     # Assert that @compile_pip_requirements//:requirements_test does the right thing.
     - "bazel test @compile_pip_requirements//..."
diff --git a/docs/support.md b/docs/support.md
index 8728540..08147f2 100644
--- a/docs/support.md
+++ b/docs/support.md
@@ -61,8 +61,9 @@
 
 In order to better describe different support levels, the following acts as a rough
 guideline for different platform tiers:
-* Tier 0 - The platforms that our CI runs on: `linux_x86_64`, `osx_x86_64`, `RBE linux_x86_64`.
-* Tier 1 - The platforms that are similar enough to what the CI runs on: `linux_aarch64`, `osx_arm64`.
+* Tier 0 - The platforms that our CI runs on: `linux_x86_64`, `osx_arm64`, `RBE linux_x86_64`.
+* Tier 1 - The platforms that are similar enough to what the CI runs on: `linux_aarch64`,
+  `osx_x86_64`.
   What is more, `windows_x86_64` is in this list, as we run tests in CI, but
   developing for Windows is more challenging, and features may come later to
   this platform.
diff --git a/tests/integration/local_toolchains/MODULE.bazel b/tests/integration/local_toolchains/MODULE.bazel
index 6c821c5..c818942 100644
--- a/tests/integration/local_toolchains/MODULE.bazel
+++ b/tests/integration/local_toolchains/MODULE.bazel
@@ -41,12 +41,12 @@
     name = "pbs_runtime",
     sha256 = {
         "linux": "0a01bad99fd4a165a11335c29eb43015dfdb8bd5ba8e305538ebb54f3bf3146d",
-        "mac os x": "4fb42ffc8aad2a42ca7646715b8926bc6b2e0d31f13d2fec25943dc236a6fd60",
+        "mac os x": "7f5ec658219bdb1d1142c6abab89680322166c78350a017fb0af3c869dceee41",
         "windows": "005cb2abf4cfa4aaa48fb10ce4e33fe4335ea4d1f55202dbe4e20c852e45e0f9",
     },
     urls = {
         "linux": "https://github.com/astral-sh/python-build-standalone/releases/download/20250918/cpython-3.13.7+20250918-x86_64-unknown-linux-gnu-install_only.tar.gz",
-        "mac os x": "https://github.com/astral-sh/python-build-standalone/releases/download/20250918/cpython-3.13.7+20250918-x86_64-apple-darwin-install_only.tar.gz",
+        "mac os x": "https://github.com/astral-sh/python-build-standalone/releases/download/20250918/cpython-3.13.7+20250918-aarch64-apple-darwin-install_only.tar.gz",
         "windows server 2022": "https://github.com/astral-sh/python-build-standalone/releases/download/20250918/cpython-3.13.7+20250918-x86_64-pc-windows-msvc-install_only.tar.gz",
     },
 )