Use a custom postsubmit.yml for Bazel in downstream (#2165)

Addresses
https://buildkite.com/bazel/bazel-at-head-plus-downstream/builds/4431#0194b040-d16f-44ea-abd5-f11ed5e82f95

We can revert to the official one after upgrading Bazel to 8.1.0 which
would contain
https://github.com/bazelbuild/bazel/commit/59cb6fe990933eb764fd22ef3115c0d7f51baded
diff --git a/buildkite/bazelci.py b/buildkite/bazelci.py
index 000dff0..4606a64 100755
--- a/buildkite/bazelci.py
+++ b/buildkite/bazelci.py
@@ -105,7 +105,8 @@
     },
     "Bazel": {
         "git_repository": "https://github.com/bazelbuild/bazel.git",
-        "file_config": ".bazelci/postsubmit.yml",
+        # "file_config": ".bazelci/postsubmit.yml",
+        "http_config": "https://raw.githubusercontent.com/bazelbuild/continuous-integration/master/pipelines/bazel-postsubmit.yml",
         "pipeline_slug": "bazel-bazel",
     },
     "Bazel Bench": {
diff --git a/pipelines/bazel-postsubmit.patch b/pipelines/bazel-postsubmit.patch
index 8d66997..665095a 100644
--- a/pipelines/bazel-postsubmit.patch
+++ b/pipelines/bazel-postsubmit.patch
@@ -1,38 +1,51 @@
-diff --git bazel-postsubmit.yml bazel-postsubmit.yml
-index 1ee30a9a94..7995b62de5 100644
---- bazel-postsubmit.yml
-+++ bazel-postsubmit.yml
-@@ -1,4 +1,5 @@
+--- bazel-postsubmit-orig.yml	2025-01-29 14:04:50
++++ bazel-postsubmit.yml	2025-01-29 14:07:11
+@@ -1,10 +1,12 @@
  ---
 +# Update this file by running ./update-bazel-postsubmit.sh under the same directory
-
+ 
  tasks:
-   centos7_java11_devtoolset10:
-@@ -8,6 +9,7 @@ tasks:
-       - rm -f WORKSPACE.bzlmod.bak
+   centos7:
+     shell_commands:
        - rm -rf $HOME/bazeltest
        - mkdir $HOME/bazeltest
 +      - bazel mod deps --lockfile_mode=update
      build_flags:
        - "--config=ci-linux"
      build_targets:
-@@ -73,6 +75,7 @@ tasks:
-       - rm -f WORKSPACE.bzlmod.bak
+@@ -47,6 +49,7 @@
+     shell_commands:
        - rm -rf $HOME/bazeltest
        - mkdir $HOME/bazeltest
 +      - bazel mod deps --lockfile_mode=update
      build_flags:
        - "--config=ci-linux"
      build_targets:
-@@ -132,6 +135,7 @@ tasks:
-       - rm -f WORKSPACE.bzlmod.bak
+@@ -60,6 +63,7 @@
+     shell_commands:
        - rm -rf $HOME/bazeltest
        - mkdir $HOME/bazeltest
 +      - bazel mod deps --lockfile_mode=update
      build_flags:
        - "--config=ci-linux"
      build_targets:
-@@ -165,6 +169,7 @@ tasks:
+@@ -94,6 +98,7 @@
+     shell_commands:
+       - rm -rf $HOME/bazeltest
+       - mkdir $HOME/bazeltest
++      - bazel mod deps --lockfile_mode=update
+     build_flags:
+       - "--config=ci-linux"
+     build_targets:
+@@ -112,6 +117,7 @@
+     shell_commands:
+       - rm -rf $HOME/bazeltest
+       - mkdir $HOME/bazeltest
++      - bazel mod deps --lockfile_mode=update
+     build_flags:
+       - "--config=ci-linux"
+     build_targets:
+@@ -143,6 +149,7 @@
        - rm -rf $HOME/bazeltest
        - mkdir $HOME/bazeltest
        - ln -sf $OUTPUT_BASE/external $HOME/bazeltest/external
@@ -40,7 +53,7 @@
      build_flags:
        - "--config=ci-macos"
      build_targets:
-@@ -228,6 +233,7 @@ tasks:
+@@ -186,6 +193,7 @@
        - rm -rf $HOME/bazeltest
        - mkdir $HOME/bazeltest
        - ln -sf $OUTPUT_BASE/external $HOME/bazeltest/external
@@ -48,19 +61,28 @@
      build_flags:
        - "--config=ci-macos"
      build_targets:
-@@ -289,6 +295,7 @@ tasks:
+@@ -219,6 +227,7 @@
+     setup:
+       - mkdir C:\b
        - mklink /J C:\b\bazeltest_external %OUTPUT_BASE:/=\%\external
-     batch_commands:
-       - powershell -Command "(Get-Content WORKSPACE.bzlmod) -Replace '# android_', 'android_' | Set-Content WORKSPACE.bzlmod"
 +      - bazel mod deps --lockfile_mode=update
      build_flags:
        - "--config=ci-windows"
      build_targets:
-@@ -359,6 +366,7 @@ tasks:
-         -e 's/^# android_sdk_repository/android_sdk_repository/'
-         -e 's/^# android_ndk_repository/android_ndk_repository/' WORKSPACE.bzlmod
-       - rm -f WORKSPACE.bzlmod.bak
+@@ -268,6 +277,7 @@
+     setup:
+       - mkdir C:\b
+       - mklink /J C:\b\bazeltest_external %OUTPUT_BASE:/=\%\external
 +      - bazel mod deps --lockfile_mode=update
      build_flags:
-       - "--config=ubuntu2004_java11"
+       - "--config=ci-windows"
+       - "--config=windows_arm64"
+@@ -279,6 +289,8 @@
+   rbe_ubuntu2004:
+     platform: ubuntu2004
+     name: "RBE"
++    shell_commands:
++      - bazel mod deps --lockfile_mode=update
+     build_flags:
+       - "--config=remote"
        - "--remote_executor=grpcs://remotebuildexecution.googleapis.com"
diff --git a/pipelines/bazel-postsubmit.yml b/pipelines/bazel-postsubmit.yml
index 1be57a9..0803c3b 100644
--- a/pipelines/bazel-postsubmit.yml
+++ b/pipelines/bazel-postsubmit.yml
@@ -4,9 +4,6 @@
 tasks:
   centos7:
     shell_commands:
-      - sed -i.bak -e 's/^# android_sdk_repository/android_sdk_repository/' -e 's/^#
-        android_ndk_repository/android_ndk_repository/' WORKSPACE.bzlmod
-      - rm -f WORKSPACE.bzlmod.bak
       - rm -rf $HOME/bazeltest
       - mkdir $HOME/bazeltest
       - bazel mod deps --lockfile_mode=update
@@ -20,6 +17,7 @@
       - "//src:bazel_jdk_minimal"
       - "//src:test_repos"
       - "//src/main/java/..."
+      - "//src/tools/diskcache/..."
       - "//src/tools/execlog/..."
     test_flags:
       - "--config=ci-linux"
@@ -31,10 +29,10 @@
       - "//src/main/starlark/tests/builtins_bzl/..."
       - "//src/test/..."
       - "//src/tools/execlog/..."
+      - "//src/tools/one_version/..."
       - "//src/tools/singlejar/..."
       - "//src/tools/workspacelog/..."
       - "//third_party/ijar/..."
-      - "//tools/android/..."
       - "//tools/aquery_differ/..."
       - "//tools/compliance/..."
       - "//tools/python/..."
@@ -44,21 +42,14 @@
       - "-//src/test/shell/bazel:bazel_coverage_cc_released_test_gcc"
       - "-//src/test/shell/bazel:bazel_coverage_cc_head_test_gcc"
       - "-//src/test/shell/bazel:bazel_coverage_sh_test"
-      # Centos7 uses python 2 by default, so these fail: https://github.com/bazelbuild/bazel/issues/18776
-      - "-//src/test/shell/bazel/android:android_instrumentation_test_integration_test"
-      - "-//src/test/shell/bazel/android:android_instrumentation_test_integration_test_with_head_android_tools"
-      - "-//src/test/shell/bazel/android:aapt_integration_test"
-      - "-//src/test/shell/bazel/android:aapt_integration_test_with_head_android_tools"
     include_json_profile:
       - build
       - test
   fedora39:
     shell_commands:
-      - sed -i.bak -e 's/^# android_sdk_repository/android_sdk_repository/' -e 's/^#
-        android_ndk_repository/android_ndk_repository/' WORKSPACE.bzlmod
-      - rm -f WORKSPACE.bzlmod.bak
       - rm -rf $HOME/bazeltest
       - mkdir $HOME/bazeltest
+      - bazel mod deps --lockfile_mode=update
     build_flags:
       - "--config=ci-linux"
     build_targets:
@@ -70,9 +61,6 @@
       - test
   ubuntu2204:
     shell_commands:
-      - sed -i.bak -e 's/^# android_sdk_repository/android_sdk_repository/' -e 's/^#
-        android_ndk_repository/android_ndk_repository/' WORKSPACE.bzlmod
-      - rm -f WORKSPACE.bzlmod.bak
       - rm -rf $HOME/bazeltest
       - mkdir $HOME/bazeltest
       - bazel mod deps --lockfile_mode=update
@@ -91,10 +79,10 @@
       - "//src/main/starlark/tests/builtins_bzl/..."
       - "//src/test/..."
       - "//src/tools/execlog/..."
+      - "//src/tools/one_version/..."
       - "//src/tools/singlejar/..."
       - "//src/tools/workspacelog/..."
       - "//third_party/ijar/..."
-      - "//tools/android/..."
       - "//tools/aquery_differ/..."
       - "//tools/python/..."
       - "//tools/bash/..."
@@ -108,11 +96,9 @@
       CC_CONFIGURE_DEBUG: 1
     name: "Clang"
     shell_commands:
-      - sed -i.bak -e 's/^# android_sdk_repository/android_sdk_repository/' -e 's/^#
-        android_ndk_repository/android_ndk_repository/' WORKSPACE.bzlmod
-      - rm -f WORKSPACE.bzlmod.bak
       - rm -rf $HOME/bazeltest
       - mkdir $HOME/bazeltest
+      - bazel mod deps --lockfile_mode=update
     build_flags:
       - "--config=ci-linux"
     build_targets:
@@ -129,9 +115,6 @@
       - test
   ubuntu2004:
     shell_commands:
-      - sed -i.bak -e 's/^# android_sdk_repository/android_sdk_repository/' -e 's/^#
-        android_ndk_repository/android_ndk_repository/' WORKSPACE.bzlmod
-      - rm -f WORKSPACE.bzlmod.bak
       - rm -rf $HOME/bazeltest
       - mkdir $HOME/bazeltest
       - bazel mod deps --lockfile_mode=update
@@ -150,10 +133,10 @@
       - "//src/main/starlark/tests/builtins_bzl/..."
       - "//src/test/..."
       - "//src/tools/execlog/..."
+      - "//src/tools/one_version/..."
       - "//src/tools/singlejar/..."
       - "//src/tools/workspacelog/..."
       - "//third_party/ijar/..."
-      - "//tools/android/..."
       - "//tools/aquery_differ/..."
       - "//tools/python/..."
       - "//tools/bash/..."
@@ -161,10 +144,8 @@
       - build
       - test
   macos:
+    shards: 5
     shell_commands:
-      - sed -i.bak -e 's/^# android_sdk_repository/android_sdk_repository/' -e 's/^#
-        android_ndk_repository/android_ndk_repository/' WORKSPACE.bzlmod
-      - rm -f WORKSPACE.bzlmod.bak
       - rm -rf $HOME/bazeltest
       - mkdir $HOME/bazeltest
       - ln -sf $OUTPUT_BASE/external $HOME/bazeltest/external
@@ -175,50 +156,40 @@
       - "//src:bazel"
       - "//src:bazel_jdk_minimal"
       - "//src:test_repos"
-      - "//src/main/java/..."
     test_flags:
       - "--config=ci-macos"
       # Fine tune the number of test jobs running in parallel to avoid timeout
-      - "--local_test_jobs=8"
+      - "--local_test_jobs=2"
     test_targets:
       - "//scripts/..."
       - "//src/main/starlark/tests/builtins_bzl/..."
       - "//src/test/..."
       - "//src/tools/execlog/..."
+      - "//src/tools/one_version/..."
       - "//src/tools/singlejar/..."
       - "//src/tools/workspacelog/..."
       - "//third_party/ijar/..."
-      - "//tools/android/..."
       - "//tools/aquery_differ/..."
       - "//tools/python/..."
       - "//tools/bash/..."
-      # https://github.com/bazelbuild/bazel/issues/16526
-      - "-//src/test/shell/bazel:starlark_repository_test"
-      # https://github.com/bazelbuild/bazel/issues/17407
-      - "-//src/test/shell/bazel/apple:bazel_apple_test"
-      # https://github.com/bazelbuild/bazel/issues/17408
-      - "-//src/test/shell/bazel/apple:bazel_objc_test"
+      # Disable python and shell integration tests on Intel Macs
+      - "-//src/test/shell/..."
+      - "-//src/test/py/..."
       # https://github.com/bazelbuild/bazel/issues/17410
       - "-//src/test/java/com/google/devtools/build/lib/platform:SystemMemoryPressureEventTest"
-      # https://github.com/bazelbuild/bazel/issues/17456
-      - "-//src/test/shell/bazel:bazel_determinism_test"
-      # https://github.com/bazelbuild/bazel/issues/17457
-      - "-//src/test/shell/bazel:jdeps_test"
-      # https://github.com/bazelbuild/bazel/issues/21495
-      - "-//src/test/shell/bazel:srcs_test"
-      # Macs can't find python, so these fail: https://github.com/bazelbuild/bazel/issues/18776
-      - "-//src/test/shell/bazel/android:android_instrumentation_test_integration_test"
-      - "-//src/test/shell/bazel/android:android_instrumentation_test_integration_test_with_head_android_tools"
-      - "-//src/test/shell/bazel/android:aapt_integration_test"
-      - "-//src/test/shell/bazel/android:aapt_integration_test_with_head_android_tools"
+      # Disable android tests since we are moving Android rules out of the Bazel repo.
+      # ServerTests frequently runs into deadlocks on Intel Macs
+      - "-//src/test/java/com/google/devtools/build/lib/server:ServerTests"
+      # Add back a few Apple specific tests
+      - "+//src/test/shell/bazel/apple/..."
+      # Add back one bootstrap test for Intel Mac
+      - "+//src/test/shell/bazel:bazel_bootstrap_distfile_test"
     include_json_profile:
       - build
       - test
   macos_arm64:
+    shards: 5
     shell_commands:
-      - sed -i.bak -e 's/^# android_sdk_repository/android_sdk_repository/' -e 's/^#
-        android_ndk_repository/android_ndk_repository/' WORKSPACE.bzlmod
-      - rm -f WORKSPACE.bzlmod.bak
       - rm -rf $HOME/bazeltest
       - mkdir $HOME/bazeltest
       - ln -sf $OUTPUT_BASE/external $HOME/bazeltest/external
@@ -229,27 +200,26 @@
       - "//src:bazel"
       - "//src:bazel_jdk_minimal"
       - "//src:test_repos"
-      - "//src/main/java/..."
     test_flags:
       - "--config=ci-macos"
+      # Fine tune the number of test jobs running in parallel to avoid timeout
+      - "--local_test_jobs=2"
+      # Increase the test timeout by 20% to avoid flaky test failures due to timeout
+      - "--test_timeout=72,360,1080,4320"
     test_targets:
       - "//scripts/..."
       - "//src/main/starlark/tests/builtins_bzl/..."
       - "//src/test/..."
       - "//src/tools/execlog/..."
+      - "//src/tools/one_version/..."
       - "//src/tools/singlejar/..."
       - "//src/tools/workspacelog/..."
       - "//third_party/ijar/..."
-      - "//tools/android/..."
       - "//tools/aquery_differ/..."
       - "//tools/python/..."
       - "//tools/bash/..."
       # https://github.com/bazelbuild/bazel/issues/17410
       - "-//src/test/java/com/google/devtools/build/lib/platform:SystemMemoryPressureEventTest"
-      # https://github.com/bazelbuild/bazel/issues/16521 & https://github.com/bazelbuild/bazel/issues/18776
-      - "-//src/test/shell/bazel/android/..."
-      - "-//src/tools/android/java/com/google/devtools/build/android/..."
-      - "-//src/test/java/com/google/devtools/build/android/dexer:AllTests"
     include_json_profile:
       - build
       - test
@@ -257,8 +227,6 @@
     setup:
       - mkdir C:\b
       - mklink /J C:\b\bazeltest_external %OUTPUT_BASE:/=\%\external
-    batch_commands:
-      - powershell -Command "(Get-Content WORKSPACE.bzlmod) -Replace '# android_', 'android_' | Set-Content WORKSPACE.bzlmod"
       - bazel mod deps --lockfile_mode=update
     build_flags:
       - "--config=ci-windows"
@@ -273,7 +241,6 @@
       - "//src:embedded_tools_size_test"
       - "//src/main/starlark/tests/builtins_bzl/..."
       - "//src/test/cpp/..."
-      - "//src/test/java/com/google/devtools/build/android/..."
       - "//src/test/java/com/google/devtools/build/lib/..."
       - "//src/test/java/com/google/devtools/build/skyframe/..."
       - "//src/test/java/com/google/devtools/common/options/..."
@@ -282,20 +249,18 @@
       - "//src/test/res/..."
       - "//src/test/shell/..."
       - "//src/tools/launcher/..."
+      - "//src/tools/one_version/..."
       - "//src/tools/singlejar/..."
       - "//third_party/def_parser/..."
-      - "//tools/android/..."
       - "//tools/aquery_differ/..."
       - "//tools/bash/..."
       - "//tools/build_defs/..."
-      - "//tools/cpp/runfiles/..."
       - "//tools/java/..."
       - "//tools/jdk/..."
       - "//tools/python/..."
       - "//tools/test/..."
       # Re-enable the following tests on Windows:
       # https://github.com/bazelbuild/bazel/issues/4292
-      - "-//src/test/java/com/google/devtools/build/android/r8/..."
       - "-//src/test/java/com/google/devtools/build/lib/query2/cquery/..."
       - "-//src/test/java/com/google/devtools/build/lib/query2/engine/..."
       - "-//src/test/java/com/google/devtools/build/lib/versioning/..."
@@ -303,8 +268,6 @@
       - "-//src/test/java/com/google/devtools/build/lib/remote:RemoteTests"
       - "-//src/test/shell/bazel/remote/..."
       - "-//tools/python:pywrapper_test"
-      # https://github.com/bazelbuild/bazel/issues/21593
-      - "-//src/test/java/com/google/devtools/build/lib/bazel/repository/downloader:DownloaderTestSuite"
     include_json_profile:
       - build
       - test
@@ -314,8 +277,7 @@
     setup:
       - mkdir C:\b
       - mklink /J C:\b\bazeltest_external %OUTPUT_BASE:/=\%\external
-    batch_commands:
-      - powershell -Command "(Get-Content WORKSPACE.bzlmod) -Replace '# android_', 'android_' | Set-Content WORKSPACE.bzlmod"
+      - bazel mod deps --lockfile_mode=update
     build_flags:
       - "--config=ci-windows"
       - "--config=windows_arm64"
@@ -327,15 +289,7 @@
   rbe_ubuntu2004:
     platform: ubuntu2004
     name: "RBE"
-    environment:
-      # Use last_green to pickup the fix for https://github.com/bazelbuild/bazel/issues/21604.
-      # TODO(chiwang): Remove this after Bazel 7.2.0 is released.
-      USE_BAZEL_VERSION: last_green
     shell_commands:
-      - sed -i.bak
-        -e 's/^# android_sdk_repository/android_sdk_repository/'
-        -e 's/^# android_ndk_repository/android_ndk_repository/' WORKSPACE.bzlmod
-      - rm -f WORKSPACE.bzlmod.bak
       - bazel mod deps --lockfile_mode=update
     build_flags:
       - "--config=remote"
@@ -344,6 +298,7 @@
       - "--experimental_remote_cache_async"
       - "--experimental_remote_merkle_tree_cache"
       - "--remote_download_minimal"
+      - "--experimental_output_paths=strip"
     build_targets:
       - "//src:bazel"
       - "//src:bazel_jdk_minimal"
@@ -355,19 +310,20 @@
       - "--experimental_remote_cache_async"
       - "--experimental_remote_merkle_tree_cache"
       - "--remote_download_minimal"
+      - "--experimental_output_paths=strip"
     test_targets:
       - "//scripts/..."
       - "//src/java_tools/..."
       - "//src/main/starlark/tests/builtins_bzl/..."
       - "//src/test/..."
       - "//src/tools/execlog/..."
+      - "//src/tools/one_version/..."
       - "//src/tools/singlejar/..."
       - "//src/tools/workspacelog/..."
       - "//third_party/ijar/..."
       - "//tools/aquery_differ/..."
       - "//tools/python/..."
       - "//tools/bash/..."
-      - "//tools/android/..."
       # See https://github.com/bazelbuild/bazel/issues/8033
       - "-//src/tools/singlejar:output_jar_simple_test"
       - "-//src/test/shell/bazel:external_integration_test"
@@ -382,18 +338,12 @@
       - "-//src/test/py/bazel:bazel_yanked_versions_test"
       - "-//src/test/py/bazel:bzlmod_query_test"
       - "-//src/test/py/bazel:mod_command_test"
+      - "-//src/test/shell/bazel:starlark_repository_test"
       - "-//src/test/shell/bazel:verify_workspace"
     include_json_profile:
       - build
       - test
-  kythe_ubuntu2204:
-    shell_commands:
-    - sed -i.bak -e 's/^# android_sdk_repository/android_sdk_repository/'
-      -e 's/^# android_ndk_repository/android_ndk_repository/' WORKSPACE.bzlmod
-    - rm -f WORKSPACE.bzlmod.bak
-    # Remove _nowkt suffix because it's only available in newer protobuf releases. See b/329055020.
-    # TODO(chiwang): Remove this once we have upgraded to protobuf 25+.
-    - sed -i -e 's/protobuf_nowkt/protobuf/' /usr/local/kythe/BUILD
+  kythe_ubuntu2404:
     index_flags:
     - "--define=kythe_corpus=github.com/bazelbuild/bazel"
     index_targets_query: "kind(\"cc_(binary|library|test|proto_library) rule\", ...) union kind(\"java_(binary|import|library|plugin|test|proto_library) rule\", ...) union kind(\"proto_library rule\", ...)"