)]}'
{
  "commit": "15f5f93c0cc7006db5ba2bd4259c8ebd91f960c6",
  "tree": "d4616419f086677c3490488e1d33dfb26404b0ce",
  "parents": [
    "2156c506cf5426972e6a35ce3f620e0380bf38a2"
  ],
  "author": {
    "name": "Richard Levasseur",
    "email": "richardlev@gmail.com",
    "time": "Thu Oct 22 20:11:43 2026 -0700"
  },
  "committer": {
    "name": "GitHub",
    "email": "noreply@github.com",
    "time": "Thu Oct 22 20:11:43 2026 -0700"
  },
  "message": "workflow: download Bazelisk and Bazel with retries and mirror fallback (#4325)\n\n`bazel-contrib/setup-bazel` resolves `bazelisk-version` by querying the\nGitHub Releases API without retries—which intermittently returns an\nempty `[]` response—and downloads the binary without retries or SHA-256\nverification. Additionally, Bazelisk does not retry mid-stream transfer\nfailures when downloading the Bazel binary.\n\nReplace the `bazelisk-version` input and shell retry script with a\nPython download script in the `setup-bazel` composite action. The\nscript downloads Bazelisk directly from GitHub Releases with an npm\nregistry tarball fallback, verifies SHA-256 checksums, caches the\nbinary under the Bazelisk cache directory, and retries `bazel --version`\nwith exponential backoff.\n\n* Also updates agent style rules to allow long string literals (such as\n  URLs and hashes) to exceed line length limits.",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "38006fd0f9a94a6eb179e9cbae38920344d3b378",
      "old_mode": 33188,
      "old_path": ".agents/rules/python.md",
      "new_id": "3bacd7bda8b2058fcfa37f5cda1c35f67920d724",
      "new_mode": 33188,
      "new_path": ".agents/rules/python.md"
    },
    {
      "type": "modify",
      "old_id": "97ed3d2b25d238040984744886cbfc6ef2808d32",
      "old_mode": 33188,
      "old_path": ".agents/rules/starlark.md",
      "new_id": "8a1b5017f0c140d47f9ccec92506b561162236e0",
      "new_mode": 33188,
      "new_path": ".agents/rules/starlark.md"
    },
    {
      "type": "modify",
      "old_id": "c1ae945f8facaf33a2aaa41bb376a4affeeff488",
      "old_mode": 33188,
      "old_path": ".github/actions/setup-bazel/action.yaml",
      "new_id": "c6fe1a5691efc119839e6e28619d5c2004673538",
      "new_mode": 33188,
      "new_path": ".github/actions/setup-bazel/action.yaml"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "c8d201703bae86de6840811603456df245845b7c",
      "new_mode": 33261,
      "new_path": ".github/actions/setup-bazel/download_bazel.py"
    },
    {
      "type": "delete",
      "old_id": "088b470151d2c027ea6d6b726c6cbec894b84949",
      "old_mode": 33261,
      "old_path": ".github/actions/setup-bazel/download_bazel.sh",
      "new_id": "0000000000000000000000000000000000000000",
      "new_mode": 0,
      "new_path": "/dev/null"
    },
    {
      "type": "modify",
      "old_id": "9f673d82ab3aea6d1591e0050e6c2e50b167a395",
      "old_mode": 33188,
      "old_path": "AGENTS.md",
      "new_id": "58031f822f7995f1cfce9e6b10ebaf9b3c7352c5",
      "new_mode": 33188,
      "new_path": "AGENTS.md"
    },
    {
      "type": "modify",
      "old_id": "41f0927fbf127adebbd0baeed743696bc3d8fe7a",
      "old_mode": 33188,
      "old_path": "tests/workflows/BUILD.bazel",
      "new_id": "de839eb67f7c6b3b193b45ced158a71415686275",
      "new_mode": 33188,
      "new_path": "tests/workflows/BUILD.bazel"
    },
    {
      "type": "modify",
      "old_id": "aebfb635550ab0dfa81ca1ab80e9428d497426a9",
      "old_mode": 33188,
      "old_path": "tests/workflows/setup_bazel_test.py",
      "new_id": "c0fd90264621512c64e46e71104f145ebdbb8cef",
      "new_mode": 33188,
      "new_path": "tests/workflows/setup_bazel_test.py"
    }
  ]
}
