)]}'
{
  "commit": "071977350ba4a875282e2eba1e16de3801e7040b",
  "tree": "bbd30653535d3529425f5e2750cb3e8a12085044",
  "parents": [
    "3dd56ab0054d9d24ed96a919dfa9cfd348dd95b2"
  ],
  "author": {
    "name": "Richard Levasseur",
    "email": "richardlev@gmail.com",
    "time": "Mon Nov 09 00:33:50 2026 -0800"
  },
  "committer": {
    "name": "GitHub",
    "email": "noreply@github.com",
    "time": "Mon Nov 09 00:33:50 2026 -0800"
  },
  "message": "docs: speed up Read the Docs builds with RBE and Bazelisk (#4452)\n\nRead the Docs builds previously installed Node.js and npm to fetch\nBazelisk, ran all build actions locally without remote caching, and\npassed container-specific environment variables and unconditional\nstamping that busted action cache keys.\n\nDownload Bazelisk directly via an async Python script, enable BuildBuddy\nremote cache and remote execution (using CAS-only presubmit keys for PRs\nand read/write postsubmit keys for branches and tags), disable lint\naspects and intermediate artifact downloads for RTD builds, and restrict\nforwarded environment variables and stamping to avoid cache busting.",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "0b7e6054a2186abf47725a3de60335c9d9c54ef2",
      "old_mode": 33188,
      "old_path": ".bazelrc",
      "new_id": "ee8828759827eb8d33c101d2d8a2137bf710ce10",
      "new_mode": 33188,
      "new_path": ".bazelrc"
    },
    {
      "type": "modify",
      "old_id": "64f9b81bd5e4b812fe265c4e076b9d2eb467631f",
      "old_mode": 33188,
      "old_path": ".github/actions/setup-bazel/action.yaml",
      "new_id": "0f2c68917a7bce01ceb988e6cf8120d85e7acfd0",
      "new_mode": 33188,
      "new_path": ".github/actions/setup-bazel/action.yaml"
    },
    {
      "type": "modify",
      "old_id": "6e28fa32fb4ea0759cf284cca39355a821a8bafc",
      "old_mode": 33188,
      "old_path": ".readthedocs.yml",
      "new_id": "efdfe1bb0278d8aa30150e8740550819b2fb05f9",
      "new_mode": 33188,
      "new_path": ".readthedocs.yml"
    },
    {
      "type": "modify",
      "old_id": "8348c1df951e237c6c6c94e7d3f0fc98e3595625",
      "old_mode": 33188,
      "old_path": "MODULE.bazel",
      "new_id": "30fbc28b49bdd1f9f815da1426c37c9cb0910dd3",
      "new_mode": 33188,
      "new_path": "MODULE.bazel"
    },
    {
      "type": "modify",
      "old_id": "ae3c88853e6e479d365afda70031f87a0fa2dc72",
      "old_mode": 33188,
      "old_path": "buildbuddy.bazelrc",
      "new_id": "65606a499f23941508231298e699b2ed02b38610",
      "new_mode": 33188,
      "new_path": "buildbuddy.bazelrc"
    },
    {
      "type": "modify",
      "old_id": "86a2298c0a774a3ff6cabeade9063955592371c4",
      "old_mode": 33188,
      "old_path": "dev/BUILD.bazel",
      "new_id": "056dfa4204b08128974680d121109403812909fa",
      "new_mode": 33188,
      "new_path": "dev/BUILD.bazel"
    },
    {
      "type": "rename",
      "old_id": "29c96bcb6e987b3f726a001ca305767de9eb3365",
      "old_mode": 33261,
      "old_path": ".github/actions/setup-bazel/download_bazel.py",
      "new_id": "f64ce1d440b02625fdd688cd376d47c9bc36cec1",
      "new_mode": 33261,
      "new_path": "dev/download_bazel.py",
      "score": 88
    },
    {
      "type": "modify",
      "old_id": "4eb0f926f74d9d96cbe58b98bc542e157d5f58e6",
      "old_mode": 33188,
      "old_path": "docs/BUILD.bazel",
      "new_id": "3c44bd60b7de67f167af339be40e6dff7fdea3a7",
      "new_mode": 33188,
      "new_path": "docs/BUILD.bazel"
    },
    {
      "type": "modify",
      "old_id": "cd60792a3f03fb17adddd0f6db55929ccbb05d83",
      "old_mode": 33261,
      "old_path": "docs/readthedocs_build.sh",
      "new_id": "4a690613360788c94a78814ec82f900d04cd4c82",
      "new_mode": 33261,
      "new_path": "docs/readthedocs_build.sh"
    },
    {
      "type": "modify",
      "old_id": "c673c3b69bd0d62426e8de99fa20f08b094db88c",
      "old_mode": 33188,
      "old_path": "downloader_config.cfg",
      "new_id": "fb6061fcc1a98eec67b730359f4317375c1b6b4f",
      "new_mode": 33188,
      "new_path": "downloader_config.cfg"
    },
    {
      "type": "modify",
      "old_id": "c673c3b69bd0d62426e8de99fa20f08b094db88c",
      "old_mode": 33188,
      "old_path": "gazelle/downloader_config.cfg",
      "new_id": "fb6061fcc1a98eec67b730359f4317375c1b6b4f",
      "new_mode": 33188,
      "new_path": "gazelle/downloader_config.cfg"
    },
    {
      "type": "modify",
      "old_id": "c673c3b69bd0d62426e8de99fa20f08b094db88c",
      "old_mode": 33188,
      "old_path": "sphinxdocs/downloader_config.cfg",
      "new_id": "fb6061fcc1a98eec67b730359f4317375c1b6b4f",
      "new_mode": 33188,
      "new_path": "sphinxdocs/downloader_config.cfg"
    },
    {
      "type": "modify",
      "old_id": "1f99e5a614897e54b0570affb37ca26c2e33fbc2",
      "old_mode": 33188,
      "old_path": "tests/workflows/BUILD.bazel",
      "new_id": "0b1a539972d60bf6f232c3b98fb9ecd28679368e",
      "new_mode": 33188,
      "new_path": "tests/workflows/BUILD.bazel"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "0bee6f7a938e374a4bff310651b460605d148b71",
      "new_mode": 33188,
      "new_path": "tests/workflows/readthedocs_test.py"
    },
    {
      "type": "modify",
      "old_id": "5d7fcaa1f030f326be7cedff8d47d0316c3bd87d",
      "old_mode": 33188,
      "old_path": "tests/workflows/setup_bazel_test.py",
      "new_id": "4b1ff6b02dab6f9132226c8cdf9891476cc40a3c",
      "new_mode": 33188,
      "new_path": "tests/workflows/setup_bazel_test.py"
    }
  ]
}
