)]}'
{
  "commit": "ede4fd4012fd7a3ebcb6c73bae1122e343d2b8c5",
  "tree": "5d4d89bb57df04935f10c527aff9dd6d48876178",
  "parents": [
    "54d1702832d3815e2335612582db7cf463a4d216"
  ],
  "author": {
    "name": "Richard Levasseur",
    "email": "rlevasseur@google.com",
    "time": "Tue Oct 17 13:17:34 2023 -0700"
  },
  "committer": {
    "name": "GitHub",
    "email": "noreply@github.com",
    "time": "Tue Oct 17 20:17:34 2023 +0000"
  },
  "message": "docs: initial doc generation using Sphinx (#1489)\n\nThis lays the groundwork for using Sphinx to generate user-facing\ndocumentation and\nhaving it published on readthedocs. It integrates with Bazel Stardoc to\ngenerate\nMyST-flavored Markdown that Sphinx can process.\n\nThere are 4 basic pieces that are glued together:\n1. `sphinx_docs`: This rule invokes Sphinx to generate e.g. html, latex,\netc\n2. `sphinx_stardoc`: This rule invokes Stardoc to generate MyST-flavored\nMarkdown\n     that Sphinx can process\n3. `sphinx_build_binary`: This rule defines the Sphinx executable with\nany necessary\ndependencies (e.g. Sphinx extensions, like MyST) to process the docs in\n(1)\n4. `readthedocs_install`: This rule does the necessary steps to build\nthe docs and\nput them into the location the readthedocs build process expects. This\nis basically\njust `cp -r`, but its cleaner to hide it behind a `bazel run` command\nthan have\n     to put various shell in the readthedocs yaml config.\n\n* Bump Bazel 6 requirement: 6.0.0 -\u003e 6.20. This is necessary to support\n  bzlmod and Stardoc.\n\nWork towards #1332, #1484",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "b231834f684c45a9afa1e809242f105f9d5ae9d5",
      "old_mode": 33188,
      "old_path": ".bazelci/presubmit.yml",
      "new_id": "a8ef70cb49283109b2f19f39bd0ab6ac06b315da",
      "new_mode": 33188,
      "new_path": ".bazelci/presubmit.yml"
    },
    {
      "type": "modify",
      "old_id": "09b254e90c61ed28bb68a54752cf04f6a736a7d3",
      "old_mode": 33188,
      "old_path": ".bazelversion",
      "new_id": "6abaeb2f90723ba328101fc117a1f19e93407e47",
      "new_mode": 33188,
      "new_path": ".bazelversion"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "d1cdbc07f8dbcbde324df03bdebc5d39278ba4fe",
      "new_mode": 33188,
      "new_path": ".readthedocs.yml"
    },
    {
      "type": "modify",
      "old_id": "efff7333deb3066fed94c479061d38da2f7e6ef6",
      "old_mode": 33188,
      "old_path": "MODULE.bazel",
      "new_id": "9eae5e7049791f43540e5cf5bd6e29e1c0b22bed",
      "new_mode": 33188,
      "new_path": "MODULE.bazel"
    },
    {
      "type": "modify",
      "old_id": "9f4fd82c19982818c212c4a72d8aae1427f1eb63",
      "old_mode": 33188,
      "old_path": "WORKSPACE",
      "new_id": "be123343d3e18d85e96113aa830dd8b8be4edc07",
      "new_mode": 33188,
      "new_path": "WORKSPACE"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "643d716d67eabadb900b56b170bf7b1bdb5e6224",
      "new_mode": 33188,
      "new_path": "docs/sphinx/BUILD.bazel"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "98420e4d59605a7fee8a8b96693feece05dbf190",
      "new_mode": 33188,
      "new_path": "docs/sphinx/README.md"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "c97d2f525cf6498f16f9c91a70254d869e22e453",
      "new_mode": 33188,
      "new_path": "docs/sphinx/_static/css/custom.css"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "028fab7f841fa073fd47ed9ee52c233db52d0648",
      "new_mode": 33188,
      "new_path": "docs/sphinx/api/index.md"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "cf49cfa29a59cb04b7b7f0608c92f1ae39f49855",
      "new_mode": 33188,
      "new_path": "docs/sphinx/conf.py"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "63f25782e0c79084b78c9a4b70beefb9a44fb897",
      "new_mode": 33188,
      "new_path": "docs/sphinx/coverage.md"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "e69de29bb2d1d6434b8b29ae775ad8c2e48c5391",
      "new_mode": 33188,
      "new_path": "docs/sphinx/crossrefs.md"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "ce54472177369cf814e1580ca105d40eee8ea620",
      "new_mode": 33188,
      "new_path": "docs/sphinx/index.md"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "c40377813ac782d52848b95d134d39590b6e2d43",
      "new_mode": 33188,
      "new_path": "docs/sphinx/requirements.in"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "3e65ad8857652bd09965d726fcaf9af3119a770e",
      "new_mode": 33188,
      "new_path": "docs/sphinx/requirements_darwin.txt"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "3e65ad8857652bd09965d726fcaf9af3119a770e",
      "new_mode": 33188,
      "new_path": "docs/sphinx/requirements_linux.txt"
    },
    {
      "type": "modify",
      "old_id": "feb1cfbd4e739f5c1e2b8a3ef4a8528c90d716c2",
      "old_mode": 33188,
      "old_path": "examples/BUILD.bazel",
      "new_id": "f8d0ebe77e399c01351811473d873826ec625aa4",
      "new_mode": 33188,
      "new_path": "examples/BUILD.bazel"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "2ff708f6e6a1c294882e650f080a3dd53c55c4ee",
      "new_mode": 33188,
      "new_path": "sphinxdocs/BUILD.bazel"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "ee6a2bfb15d8857eb868b296eaf6f84fd976b38d",
      "new_mode": 33188,
      "new_path": "sphinxdocs/func_template.vm"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "fee7e2ce593f378668d4db387708416233dc42d0",
      "new_mode": 33188,
      "new_path": "sphinxdocs/header_template.vm"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "55e68713cd795025d2f63bdc4f7753d60625a908",
      "new_mode": 33188,
      "new_path": "sphinxdocs/provider_template.vm"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "6ffc79cb9f728a74f8859cdad999ca6358d2fc8d",
      "new_mode": 33188,
      "new_path": "sphinxdocs/readthedocs.bzl"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "9b1f2a861674010f2f3e34da67764605dceed9a8",
      "new_mode": 33188,
      "new_path": "sphinxdocs/readthedocs_install.py"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "d91bad20cb37a0706027d1f9e351c9da462b1c29",
      "new_mode": 33188,
      "new_path": "sphinxdocs/rule_template.vm"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "3c8b776c160d9b95ffa8b9513ebf2a5d57879fcc",
      "new_mode": 33188,
      "new_path": "sphinxdocs/sphinx.bzl"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "3b7b32eaf693b69af410ebc4a79b16addff28d59",
      "new_mode": 33188,
      "new_path": "sphinxdocs/sphinx_build.py"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "55d42c0107c4c592f4b3d8aa9ac3fced47c94d1c",
      "new_mode": 33188,
      "new_path": "sphinxdocs/sphinx_server.py"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "ef610cef2d40ab7c2127fb3bce52d05ba5b8eb24",
      "new_mode": 33188,
      "new_path": "sphinxdocs/sphinx_stardoc.bzl"
    },
    {
      "type": "modify",
      "old_id": "8c7f01cd19570c36c4e2289bd15aa880159e5201",
      "old_mode": 33188,
      "old_path": "version.bzl",
      "new_id": "bf6f822d98ccc96eac44d29c1a9048a5e05237d2",
      "new_mode": 33188,
      "new_path": "version.bzl"
    }
  ]
}
