)]}'
{
  "commit": "fc6aa529bd31328a8e3fb88005c367dfda8c374d",
  "tree": "1b767742a3b52d119f6306a313c675ba1ac56ff8",
  "parents": [
    "9a547d3b0879cbfe1fae5e8de8b1cfecc48d9627"
  ],
  "author": {
    "name": "Greg Magolan",
    "email": "gmagolan@gmail.com",
    "time": "Sun May 24 23:52:35 2026 -0700"
  },
  "committer": {
    "name": "GitHub",
    "email": "noreply@github.com",
    "time": "Sun May 24 23:52:35 2026 -0700"
  },
  "message": "chore: migrate to Aspect CLI AXL tasks on ephemeral GHA runners (#2858)\n\nMigrate CI from Aspect Workflows (`.aspect/workflows/config.yaml`) to\nthe Aspect CLI on ephemeral GitHub Actions runners.\n\n### Adds\n\n- `.aspect/version.axl` — pins the Aspect CLI to `2026.21.44`.\n- `.aspect/config.axl` — opts in to artifact uploads\n(testlogs/profile/BEP), sets `--config\u003dci` in CI, registers an `aspect\nbuildifier` alias of `aspect format`.\n- `.github/workflows/ci-workflows.yaml` — matrix `test` job on\n(workspace × {Bazel 7, 8, 9, 9-no-execroot-entry-point}) plus single\n`format` and `buildifier` jobs. Per-workspace exclusions match the\nlegacy config.\n- `tools/format/BUILD.bazel` — `format` (multi-language) + `buildifier`\n(Starlark-only) `format_multirun` targets.\n- Root `//:format` and `//:buildifier` aliases into `//tools/format`.\n- README note linking to the Aspect CLI docs / install.\n- `rules_nodejs` bumped to 6.7.4 and `rules_go` pinned at 0.60.0 — older\nversions reference the legacy global `CcInfo` removed in Bazel 9.\n- `common:ci --lockfile_mode\u003doff` (+ build-without-bytes flags) in each\ne2e / examples sub-workspace `.bazelrc` so they don\u0027t trip the preset\u0027s\nstrict lockfile mode under `:ci` when run from their own workspace root.\n\n### Removes / renames\n\n- `.aspect/workflows/config.yaml` and `.aspect/workflows/bazelrc` —\nbazelrc settings hoisted into root `.bazelrc` under `:ci` with\n`--lockfile_mode\u003doff` (lock is gitignored).\n- `.github/workflows/ci.yaml` → `ci-vanilla-bazel.yaml` (kept as the\nvanilla-bazel matrix).\n- `.github/workflows/buildifier.yaml` (replaced by the `buildifier` job\nin `ci-workflows.yaml`).\n- Root `//:buildifier` / `//:buildifier.check` rules (moved into\n`tools/format`).\n\n### Notes\n\n- Bazel 9 variants pin `9.0.2` rather than `9.x` until\n[bazelbuild/bazel#29393](https://github.com/bazelbuild/bazel/issues/29393)\nis fixed (carried over from the legacy config).\n\n---\n\n### Changes are visible to end-users: no\n\n### Test plan\n\n- CI on this PR",
  "tree_diff": [
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "2eeeab778b51faf5c5b58b644d49e34e6627ba4d",
      "new_mode": 33188,
      "new_path": ".aspect/config.axl"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "37106780a1f24e94992c6958a0f7968b0bd4c35d",
      "new_mode": 33188,
      "new_path": ".aspect/version.axl"
    },
    {
      "type": "delete",
      "old_id": "51dae69d363ed513fd85c96a0ff71bc5fbed6d06",
      "old_mode": 33188,
      "old_path": ".aspect/workflows/bazelrc",
      "new_id": "0000000000000000000000000000000000000000",
      "new_mode": 0,
      "new_path": "/dev/null"
    },
    {
      "type": "delete",
      "old_id": "c9f6d816cfe0cddd80739685ab5a366222d77b75",
      "old_mode": 33188,
      "old_path": ".aspect/workflows/config.yaml",
      "new_id": "0000000000000000000000000000000000000000",
      "new_mode": 0,
      "new_path": "/dev/null"
    },
    {
      "type": "modify",
      "old_id": "cfbb924945c85e5bdafd0d9fa9d35d1b594ff572",
      "old_mode": 33188,
      "old_path": ".bazelrc",
      "new_id": "3d3ccf314c6620b413feaeec6d0da55c2c3aa7dc",
      "new_mode": 33188,
      "new_path": ".bazelrc"
    },
    {
      "type": "delete",
      "old_id": "f08c181669c633954f1da075628a1e74df4ea011",
      "old_mode": 33188,
      "old_path": ".github/workflows/buildifier.yaml",
      "new_id": "0000000000000000000000000000000000000000",
      "new_mode": 0,
      "new_path": "/dev/null"
    },
    {
      "type": "rename",
      "old_id": "09c49089a59801939303fdcb58188e1342ca0152",
      "old_mode": 33188,
      "old_path": ".github/workflows/ci.yaml",
      "new_id": "18782a0c821413c783af6b6f7220e9ace5dc2b59",
      "new_mode": 33188,
      "new_path": ".github/workflows/ci-vanilla-bazel.yaml",
      "score": 91
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "1701435e29fd586ab1cbb6823bd724c929a39d37",
      "new_mode": 33188,
      "new_path": ".github/workflows/ci-workflows.yaml"
    },
    {
      "type": "modify",
      "old_id": "8563c7bfcb2cd28ea2a2c937563248afa46857ff",
      "old_mode": 33188,
      "old_path": ".gitignore",
      "new_id": "7112b718aa1c6b99c1618aae9d237a688f805cc1",
      "new_mode": 33188,
      "new_path": ".gitignore"
    },
    {
      "type": "modify",
      "old_id": "39d8a7a100ba6a1f59a6702d43bffe944fa28b96",
      "old_mode": 33188,
      "old_path": "BUILD.bazel",
      "new_id": "3a693738b9c67094ab1b4500609bad76d794e8be",
      "new_mode": 33188,
      "new_path": "BUILD.bazel"
    },
    {
      "type": "modify",
      "old_id": "18f5466bd35d79335fb69063ce1395488755b3f2",
      "old_mode": 33188,
      "old_path": "MODULE.bazel",
      "new_id": "2bdbf6ef2a0a36bad0cedac70a75263856b2cb93",
      "new_mode": 33188,
      "new_path": "MODULE.bazel"
    },
    {
      "type": "modify",
      "old_id": "42a92423c9a32be796e426a2e2ad1f35dd756708",
      "old_mode": 33188,
      "old_path": "README.md",
      "new_id": "a4127a5a874c94e98279d97b49e7ab8f67bae0bd",
      "new_mode": 33188,
      "new_path": "README.md"
    },
    {
      "type": "modify",
      "old_id": "c1abb89e9277ad338b188a1dadddbfbd810637e9",
      "old_mode": 33188,
      "old_path": "e2e/e2e.bazelrc",
      "new_id": "5574d1dd4c40b15b077f0c9e8cfb8bbe26cd3b61",
      "new_mode": 33188,
      "new_path": "e2e/e2e.bazelrc"
    },
    {
      "type": "modify",
      "old_id": "b09f80b68035b2a0f618af74d4f62d0ba1e7b669",
      "old_mode": 33188,
      "old_path": "e2e/js_binary_workspace/.bazelrc",
      "new_id": "58d7130238c19dc1f89fffac4b43575db0309cd6",
      "new_mode": 33188,
      "new_path": "e2e/js_binary_workspace/.bazelrc"
    },
    {
      "type": "modify",
      "old_id": "60d7d89a8a74d0d6f2f689b3b7b62b6277a75b8d",
      "old_mode": 33188,
      "old_path": "e2e/js_image_oci/.bazelrc",
      "new_id": "58d7130238c19dc1f89fffac4b43575db0309cd6",
      "new_mode": 33188,
      "new_path": "e2e/js_image_oci/.bazelrc"
    },
    {
      "type": "modify",
      "old_id": "f14f7ee18170c89cdbf554289f87a343f7f019fa",
      "old_mode": 33188,
      "old_path": "e2e/pnpm_repo_install/.bazelrc",
      "new_id": "3d60bcf54506f5f17406c5e3c27fef1ad9e89ca0",
      "new_mode": 33188,
      "new_path": "e2e/pnpm_repo_install/.bazelrc"
    },
    {
      "type": "modify",
      "old_id": "48a1fb5e571afc7c80ac08771b5a0027c7ee4506",
      "old_mode": 33188,
      "old_path": "e2e/protobuf-es/.bazelrc",
      "new_id": "34a6be104a33499057b8633b198f8f6862898cff",
      "new_mode": 33188,
      "new_path": "e2e/protobuf-es/.bazelrc"
    },
    {
      "type": "modify",
      "old_id": "48a1fb5e571afc7c80ac08771b5a0027c7ee4506",
      "old_mode": 33188,
      "old_path": "e2e/protobuf-google/.bazelrc",
      "new_id": "34a6be104a33499057b8633b198f8f6862898cff",
      "new_mode": 33188,
      "new_path": "e2e/protobuf-google/.bazelrc"
    },
    {
      "type": "modify",
      "old_id": "ffc77ab28108bd4dc74b8242a2b15c6afd69d5e0",
      "old_mode": 33188,
      "old_path": "tools/BUILD.bazel",
      "new_id": "153bcc98522e9e354707f13c5a4a157e8a503cae",
      "new_mode": 33188,
      "new_path": "tools/BUILD.bazel"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "7357f5fb006c7357c1f7ddc61dd72054f18e40ac",
      "new_mode": 33188,
      "new_path": "tools/format/BUILD.bazel"
    },
    {
      "type": "modify",
      "old_id": "55b66a7f7cf2350ec6486b8958018033e327aec7",
      "old_mode": 33188,
      "old_path": "tools/preset.bazelrc",
      "new_id": "5bb33964119d501933c8afb9da264e5aa152a3cf",
      "new_mode": 33188,
      "new_path": "tools/preset.bazelrc"
    }
  ]
}
