)]}'
{
  "commit": "2e6f8ad5fe4dd0cc81550dd533692638e8cffe52",
  "tree": "dbe31ce23945f6830c16e72779b87dc4d3f78ca1",
  "parents": [
    "33cb431c2f87b2bcf8211745ba36da218b2f03bd"
  ],
  "author": {
    "name": "Richard Levasseur",
    "email": "rlevasseur@google.com",
    "time": "Mon Feb 03 04:31:34 2025 -0800"
  },
  "committer": {
    "name": "GitHub",
    "email": "noreply@github.com",
    "time": "Mon Feb 03 12:31:34 2025 +0000"
  },
  "message": "fix: add flag to use runtime venv creation when using bootstrap\u003dscript (#2590)\n\nThe bootstrap\u003dscript implementation was changed to use declare_symlink()\nto create explicit\nsymlinks so its venv works. Unfortunately, this broke packaging rules,\nwhich would treat\nthe symlinks as regular files.\n\nTo fix, introduce a flag that stops using declare_symlink() and instead\ncreates the venv\nat runtime. Creating a venv at runtime is problematic for various\nreasons, but this should\nwork well enough until packaging rules are able to handle these raw\nsymlinks.\n\nThe location of the venv can be somewhat controlled by setting the\n`RULES_PYTHON_VENVS_ROOT`\nenvironment variable. This is to better accommodate cases where using\n/tmp is problematic.\n\nAlong the way, sort the environment variable docs by their name.\n\nFixes https://github.com/bazelbuild/rules_python/issues/2489",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "82aeda8117be9f586f89cd080ebba2088290877c",
      "old_mode": 33188,
      "old_path": "CHANGELOG.md",
      "new_id": "61000a1b084fda25237acff523539261c55c7dc8",
      "new_mode": 33188,
      "new_path": "CHANGELOG.md"
    },
    {
      "type": "modify",
      "old_id": "7034357f61fbfdd631438c3044b3df6ae8fb43d0",
      "old_mode": 33188,
      "old_path": "MODULE.bazel",
      "new_id": "89f1cd7961a9d2bb673f0b45b0835e58c7c547c4",
      "new_mode": 33188,
      "new_path": "MODULE.bazel"
    },
    {
      "type": "modify",
      "old_id": "793f6e08fdf0079e0b376cb7132e5cd510520eeb",
      "old_mode": 33188,
      "old_path": "docs/api/rules_python/python/config_settings/index.md",
      "new_id": "b2163233ca5f1d63b23f26aa6550fcf43f7aaa41",
      "new_mode": 33188,
      "new_path": "docs/api/rules_python/python/config_settings/index.md"
    },
    {
      "type": "modify",
      "old_id": "fb9971597b9ccdb0f3549908bafa5a448c044551",
      "old_mode": 33188,
      "old_path": "docs/environment-variables.md",
      "new_id": "dd4a7000811b7cd13e5f7f55f0edc3451a6f49e3",
      "new_mode": 33188,
      "new_path": "docs/environment-variables.md"
    },
    {
      "type": "modify",
      "old_id": "fcebcd76dc41205694decd7ac1497e674d5e7628",
      "old_mode": 33188,
      "old_path": "python/config_settings/BUILD.bazel",
      "new_id": "796cf0c9c46afb951fd4932f6f410d9a42632c7f",
      "new_mode": 33188,
      "new_path": "python/config_settings/BUILD.bazel"
    },
    {
      "type": "modify",
      "old_id": "9070f113ac90d1dec21ee2ae9346bb93ef254e34",
      "old_mode": 33188,
      "old_path": "python/private/flags.bzl",
      "new_id": "1019faa8d6fe8a13c1fce3a7828898ab269d0712",
      "new_mode": 33188,
      "new_path": "python/private/flags.bzl"
    },
    {
      "type": "modify",
      "old_id": "1e437f57e17435e6eaed1bbf7d0b1b83244b0beb",
      "old_mode": 33188,
      "old_path": "python/private/py_executable.bzl",
      "new_id": "18a7a707fc33d2caffe81d42e52cf0dbb018383e",
      "new_mode": 33188,
      "new_path": "python/private/py_executable.bzl"
    },
    {
      "type": "modify",
      "old_id": "b05b4a54cdeb9805c7f43d0e4a579f8473883013",
      "old_mode": 33188,
      "old_path": "python/private/stage1_bootstrap_template.sh",
      "new_id": "19ff76309489c1d9f197e1b76549f6d8d2ee443d",
      "new_mode": 33188,
      "new_path": "python/private/stage1_bootstrap_template.sh"
    },
    {
      "type": "modify",
      "old_id": "3df72a10ba27d82df19ebc4bd4483f1ad7532383",
      "old_mode": 33188,
      "old_path": "tests/bootstrap_impls/BUILD.bazel",
      "new_id": "8a64bf2b5b45319895068c1283d09c18b4565201",
      "new_mode": 33188,
      "new_path": "tests/bootstrap_impls/BUILD.bazel"
    },
    {
      "type": "modify",
      "old_id": "c46e43adc8bcefe46f706a256b42d6ecb53cce67",
      "old_mode": 33188,
      "old_path": "tests/bootstrap_impls/bin.py",
      "new_id": "1176107384b503b5405008fdf59ca2ee77086053",
      "new_mode": 33188,
      "new_path": "tests/bootstrap_impls/bin.py"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "d4840116f926e1ae2ad512a9d43911bab7cb3f59",
      "new_mode": 33261,
      "new_path": "tests/bootstrap_impls/run_binary_venvs_use_declare_symlink_no_test.sh"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "cc04c05ba93e1b95950e62ff2877a198a75bb4f3",
      "new_mode": 33188,
      "new_path": "tests/packaging/BUILD.bazel"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "2f9a147db12e882f0e2a73018937fd41ffbad3e5",
      "new_mode": 33188,
      "new_path": "tests/packaging/bin.py"
    },
    {
      "type": "modify",
      "old_id": "a76d2a335bc62b88a6d1bcff4ec27271a3ab6305",
      "old_mode": 33188,
      "old_path": "tests/support/sh_py_run_test.bzl",
      "new_id": "4fa53ebd66efa791bad3a1bd033f761e490a133a",
      "new_mode": 33188,
      "new_path": "tests/support/sh_py_run_test.bzl"
    }
  ]
}
