)]}'
{
  "commit": "0c5b01e9f72cfc4f1c0c81bb20070f3e8cf74af6",
  "tree": "b05932b128063d1888a8048f80397af9f4926b45",
  "parents": [
    "5a7613d15a801fa4eb0ac89cb858b4fd810b9dcc"
  ],
  "author": {
    "name": "Fionera",
    "email": "fionera@fionera.de",
    "time": "Fri Jul 31 11:01:38 2026 +0200"
  },
  "committer": {
    "name": "GitHub",
    "email": "noreply@github.com",
    "time": "Fri Jul 31 11:01:38 2026 +0200"
  },
  "message": "Build Go SDK file attrs in the exec configuration (#4650)\n\n**What type of PR is this?**\n\nBug fix\n\n**What does this PR do? Why is it needed?**\n\nThe experimental source-bootstrapped SDK\n(`experimental_bootstrap_go_sdk`) emits the `go` binary, the tool\nbinaries, and the GOROOT `src`/`pkg` layout from a generated bootstrap\ntarget. `go_tool_binary` runs the SDK\u0027s `go` binary in the exec\nconfiguration — the `go` and `tools` attrs of `go_sdk` are already `cfg\n\u003d \"exec\"` — so that binary infers `GOROOT` from its own exec-config\npath.\n\nThe remaining SDK file attrs (`root_file`, `libs`, `headers`, `srcs`)\nhad no configuration set, so Bazel supplied them under the target-config\npath. When those inputs don\u0027t sit under the exec-config `GOROOT` the\n`go` binary derives from its own location, the Go command can\u0027t find\nstandard-library packages such as `cmd/pack`, and the bootstrap builder\nbuild fails.\n\nThis pins `root_file`, `libs`, `headers`, and `srcs` to `cfg \u003d \"exec\"`\nso the whole SDK layout lands in one consistent configuration alongside\n`go` and `tools`. `package_list` is intentionally left unpinned: it is a\ngenerated list of standard-library import paths whose contents do not\ndepend on the configuration.\n\n**Which issues(s) does this PR fix?**\n\nSmall bug fix in the experimental bootstrap SDK — no associated issue.\n\n**Other notes for review**\n\nThis only changes how the `go_sdk` rule\u0027s own inputs are configured. For\nthe normal downloaded SDK these attrs point at static source files, so\nthey resolve to the same artifacts regardless of the transition; the fix\nmatters for the bootstrap SDK, where the layout is generated and would\notherwise be produced under the target configuration while `go` runs\nunder the exec one.",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "7d7d7b4564899a0959ba8a2c87d0f19c158ce2b2",
      "old_mode": 33188,
      "old_path": "go/private/rules/sdk.bzl",
      "new_id": "5c6617624dc117abc70d895cda261bf7ac417aba",
      "new_mode": 33188,
      "new_path": "go/private/rules/sdk.bzl"
    }
  ]
}
