)]}'
{
  "commit": "bbec4c29add6e7300b416fd2cd2f9da7d2488606",
  "tree": "67674db44e41b778898cdf860c2e639072917ba9",
  "parents": [
    "e7d5c8db6dccbea2c1a8ee731f9a472edee680cf"
  ],
  "author": {
    "name": "Richard Levasseur",
    "email": "rlevasseur@google.com",
    "time": "Thu Dec 14 06:17:53 2023 -0800"
  },
  "committer": {
    "name": "GitHub",
    "email": "noreply@github.com",
    "time": "Thu Dec 14 14:17:53 2023 +0000"
  },
  "message": "fix(py_runtime): make py_runtime_pair return builtin PyRuntimeInfo under Bazel 6; make python_bootstrap_template public (#1611)\n\nThis fixes two bugs from\nhttps://github.com/bazelbuild/rules_python/pull/1574:\n* Bazel 6\u0027s py_binary rejects the rules_python Starlark implemented\nPyRuntimeInfo.\n* python_bootstrap_template.txt isn\u0027t public; this prevents py_runtime\nfrom being\n  used outside rules_python itself (e.g. in the python toolchain repos)\n\nWith Bazel 6, the `py_binary` rule performs a type check of the\nPyRuntimeInfo value it gets from the toolchain to verify it is an\ninstance of the Java-implemented PyRuntimeInfo class. This type check\nfails when the provider is implemented in rules_python in Starlark.\n\nTo fix, make the `py_runtime_info` prefer the builtin PyRuntimeInfo\nprovider when running under Bazel 6. The two providers are (currently)\nthe same, so are mostly interchangable. This satisfies the type check\nthat `py_binary` performs.\n\n`py_runtime` as an implicit dependency on\n`//python/private:python_bootstrap_template.txt`,\nbut that target is only visible to rules python itself. This means the\npy_runtime targets\ncreated in the toolchain repos fail. To fix, make the file public.\n\nFixes https://github.com/bazelbuild/rules_python/issues/1610",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "4f472064493dc8dbe3d9dab998549e02fef536c1",
      "old_mode": 33188,
      "old_path": "python/private/BUILD.bazel",
      "new_id": "17933824a3e1a85bb92efc91c5860e13d604d812",
      "new_mode": 33188,
      "new_path": "python/private/BUILD.bazel"
    },
    {
      "type": "modify",
      "old_id": "574e1fec5ef0f859322f1aee4aba05ef09b395a7",
      "old_mode": 33188,
      "old_path": "python/private/py_runtime_pair_rule.bzl",
      "new_id": "e7b7867423853a08614efd72857225834874bce7",
      "new_mode": 33188,
      "new_path": "python/private/py_runtime_pair_rule.bzl"
    },
    {
      "type": "modify",
      "old_id": "74da1818cf457bc635e082e5d512258a2a51f697",
      "old_mode": 33188,
      "old_path": "tests/py_runtime_pair/py_runtime_pair_tests.bzl",
      "new_id": "236f1ba3a5db3cff87b393647e9bf55080c235cc",
      "new_mode": 33188,
      "new_path": "tests/py_runtime_pair/py_runtime_pair_tests.bzl"
    }
  ]
}
