)]}'
{
  "log": [
    {
      "commit": "399062d0803e2a1cc9538afa21a23f7e5f761e5d",
      "tree": "c4f1dcee18d0cfe7baf70de0f3c08d446ecf5b89",
      "parents": [
        "0642079e33ea1408278302cd53f5f28068b3070a"
      ],
      "author": {
        "name": "Takuto Ikuta",
        "email": "tikuta@chromium.org",
        "time": "Fri Apr 03 08:03:30 2026"
      },
      "committer": {
        "name": "LUCI CQ",
        "email": "infra-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Fri Apr 03 08:03:30 2026"
      },
      "message": "[siso] use errors.AsType instead of errors.As\n\nGo 1.26 introduced errors.AsType, which provides a more concise and\ntype-safe way to extract errors using generics.\nThis CL replaces existing errors.As calls with errors.AsType where\napplicable, reducing boilerplate variable declarations.\n\n(This CL was assisted by AI agent.)\n\nChange-Id: I7efafc538bca80376aea39baa20da03612edf2e4\nReviewed-on: https://chromium-review.googlesource.com/c/build/+/7723084\nReviewed-by: Philipp Wollermann \u003cphilwo@google.com\u003e\nAuto-Submit: Takuto Ikuta \u003ctikuta@chromium.org\u003e\nCommit-Queue: Takuto Ikuta \u003ctikuta@chromium.org\u003e\n"
    },
    {
      "commit": "0642079e33ea1408278302cd53f5f28068b3070a",
      "tree": "7dcfe8117d53e452c7591415cebc5ce140ff6030",
      "parents": [
        "749a3ba629e7ae2f1bcd823241e15c6fc8b97659"
      ],
      "author": {
        "name": "Philipp Wollermann",
        "email": "philwo@google.com",
        "time": "Fri Apr 03 06:28:42 2026"
      },
      "committer": {
        "name": "LUCI CQ",
        "email": "infra-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Fri Apr 03 06:28:42 2026"
      },
      "message": "siso: make Starlark build configuration optional\n\nPreviously, siso required a Starlark configuration directory\n(build/config/siso/main.star) to exist, even for simple Ninja projects\nthat don\u0027t need custom handlers or remote execution. This made siso\nincompatible with plain Ninja projects.\n\nNow, when no config repo directory is found, siso falls back to a\ndefault configuration that runs all build steps locally without any\ncustom handlers, matching standard Ninja behavior.\n\nChange-Id: I5a2924d9297cc813ca829f1200a2cdb7277fc0ef\nReviewed-on: https://chromium-review.googlesource.com/c/build/+/7719800\nReviewed-by: Neri Marschik \u003cnerima@google.com\u003e\nReviewed-by: Yuke Liao \u003cliaoyuke@google.com\u003e\nCommit-Queue: Philipp Wollermann \u003cphilwo@google.com\u003e\n"
    },
    {
      "commit": "749a3ba629e7ae2f1bcd823241e15c6fc8b97659",
      "tree": "6ec179f2b1c91a76d30174823752f1ff46b8aae8",
      "parents": [
        "bcde0f80fba8357cbac0b73a6d1c82390d826833"
      ],
      "author": {
        "name": "Junji Watanabe",
        "email": "jwata@google.com",
        "time": "Thu Apr 02 03:57:29 2026"
      },
      "committer": {
        "name": "LUCI CQ",
        "email": "infra-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Thu Apr 02 03:57:29 2026"
      },
      "message": "siso: replace hostname with global location and add configurable namespace for cloud logging resource labels\n\nIncluding hostname and exec root to Cloud logging exposes sensitive\ninformation unnecessarily.\n\nThis CL:\n- Sets \"global\" to location for now.\n- Make namespace configurable with a flag.\n\nChange-Id: I84e829817a56369a7c19cb1016d3b730bb569742\nReviewed-on: https://chromium-review.googlesource.com/c/build/+/7724218\nReviewed-by: Junji Watanabe \u003cjwata@google.com\u003e\nAuto-Submit: Junji Watanabe \u003cjwata@google.com\u003e\nReviewed-by: Alex Ovsienko \u003covsienko@google.com\u003e\nCommit-Queue: Junji Watanabe \u003cjwata@google.com\u003e\n"
    },
    {
      "commit": "bcde0f80fba8357cbac0b73a6d1c82390d826833",
      "tree": "34c201aec1307dd28c1d95efa77c85b75f91de30",
      "parents": [
        "2a4a8d7e7de7e0769108d817337a9cf4701b61a2"
      ],
      "author": {
        "name": "Richard Wang",
        "email": "richardwa@google.com",
        "time": "Wed Apr 01 07:27:57 2026"
      },
      "committer": {
        "name": "LUCI CQ",
        "email": "infra-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Wed Apr 01 07:27:57 2026"
      },
      "message": "gong: Implement initial rspfile support for action()\n\nSee\nhttps://gn.googlesource.com/gn/+/main/docs/reference.md#var_response_file_contents\nfor background.\n\nBug: b/492000541\nChange-Id: I535159964f4a5e8beeb8ac23729939066a6a6964\nReviewed-on: https://chromium-review.googlesource.com/c/build/+/7719882\nReviewed-by: Alex Ovsienko \u003covsienko@google.com\u003e\nCommit-Queue: Richard Wang \u003crichardwa@google.com\u003e\n"
    },
    {
      "commit": "2a4a8d7e7de7e0769108d817337a9cf4701b61a2",
      "tree": "eb1c6149298446f96a4b810eed76d71ad566d55f",
      "parents": [
        "4f5d24131be3784eee3524fd8b9bc98705b661ef"
      ],
      "author": {
        "name": "Junji Watanabe",
        "email": "jwata@google.com",
        "time": "Wed Apr 01 06:06:48 2026"
      },
      "committer": {
        "name": "LUCI CQ",
        "email": "infra-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Wed Apr 01 06:06:48 2026"
      },
      "message": "[siso] Add WorkerTime metric to StepMetric and expose it to logs\n\n`WorkerTime` is different from `RunTime` and `ExecTime`:\n- RunTime is a client side duration including RBE queue time and even retries.\n- ExecTime is only execution time excluding pre/post execution overheads.\n- WorkerTime is useful to calculate RBE cost including all overheads.\n\nThis CL does the following changes:\n- Add `WorkerTime` to `StepMetric` struct to measure RBE worker time for non-cached steps.\n- Expose WorkerTime to siso.step log as worker_secs.\n- Omit run_secs and exec_secs from siso.step log if they are 0 (consistent with siso_metrics.json omitempty).\n\n(This CL was assisted by AI agent.)\n\nBug: 462693384\nChange-Id: I560bf549620d3f0918957981230dd00833150ed7\nReviewed-on: https://chromium-review.googlesource.com/c/build/+/7719714\nCommit-Queue: Junji Watanabe \u003cjwata@google.com\u003e\nReviewed-by: Takuto Ikuta \u003ctikuta@chromium.org\u003e\n"
    },
    {
      "commit": "4f5d24131be3784eee3524fd8b9bc98705b661ef",
      "tree": "929865089b10f16fbb42cb5b3ad8cb5634d0ad82",
      "parents": [
        "9e31f8ab866d056a42caf461d99bfbb736b7c339"
      ],
      "author": {
        "name": "Philipp Wollermann",
        "email": "philwo@google.com",
        "time": "Wed Apr 01 04:55:47 2026"
      },
      "committer": {
        "name": "LUCI CQ",
        "email": "infra-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Wed Apr 01 04:55:47 2026"
      },
      "message": "siso: exit 0 for empty builds with no targets\n\nWhen no explicit targets are requested on the command line and the\nbuild file has no default or root targets (e.g. an empty build.ninja),\nreturn success with \"ninja: no work to do.\" instead of failing with\n\"Schedule Failure: no targets\". This matches Ninja\u0027s behavior.\n\nE2E tests from crrev.com/c/7691709:\n- Fixed: t0015-cli-no-targets-no-default\n\nChange-Id: I355eeee858426e74dd3445a4fc73ea07568727c1\nReviewed-on: https://chromium-review.googlesource.com/c/build/+/7692418\nReviewed-by: Neri Marschik \u003cnerima@google.com\u003e\nCommit-Queue: Philipp Wollermann \u003cphilwo@google.com\u003e\n"
    },
    {
      "commit": "9e31f8ab866d056a42caf461d99bfbb736b7c339",
      "tree": "20d47e173e3eb9c5b4bdd87b8c9fd91333271586",
      "parents": [
        "1599b12a43a39186af5690280a08d75b54af5c34"
      ],
      "author": {
        "name": "Richard Wang",
        "email": "richardwa@google.com",
        "time": "Tue Mar 31 10:49:28 2026"
      },
      "committer": {
        "name": "LUCI CQ",
        "email": "infra-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Tue Mar 31 10:49:28 2026"
      },
      "message": "gong: ninjawriter handle substitutions in action() args\n\nBug: b/492000541\nChange-Id: I6e9241f8c7d29925eb7d480f8f2c89996a6a6964\nReviewed-on: https://chromium-review.googlesource.com/c/build/+/7715019\nCommit-Queue: Richard Wang \u003crichardwa@google.com\u003e\nReviewed-by: Alex Ovsienko \u003covsienko@google.com\u003e\n"
    },
    {
      "commit": "1599b12a43a39186af5690280a08d75b54af5c34",
      "tree": "5bb27dc1f759230536f5428f13d2306b2df6ca39",
      "parents": [
        "743917ec0fc69406b3c2f2f80f70c0f1e4b7a9b0"
      ],
      "author": {
        "name": "Richard Wang",
        "email": "richardwa@google.com",
        "time": "Tue Mar 31 07:22:52 2026"
      },
      "committer": {
        "name": "LUCI CQ",
        "email": "infra-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Tue Mar 31 07:22:52 2026"
      },
      "message": "gong: Use text/template to write action() to ninja\n\nThe unit test isn\u0027t able to test the label right now, but we already\nhave e2etests that test for the correct action rule name so there is at\nleast some coverage.\n\nBug: b/492000541\nChange-Id: I84ab442afdd1d29c063ddf39cca8c5056a6a6964\nReviewed-on: https://chromium-review.googlesource.com/c/build/+/7714020\nCommit-Queue: Richard Wang \u003crichardwa@google.com\u003e\nReviewed-by: Alex Ovsienko \u003covsienko@google.com\u003e\n"
    },
    {
      "commit": "743917ec0fc69406b3c2f2f80f70c0f1e4b7a9b0",
      "tree": "7556c8cee8059aa1a2d4bd1ef6c68e25d6046054",
      "parents": [
        "0d7d07f982a806e642526c466986de0ab17bb0de"
      ],
      "author": {
        "name": "Philipp Wollermann",
        "email": "philwo@google.com",
        "time": "Tue Mar 31 05:50:40 2026"
      },
      "committer": {
        "name": "LUCI CQ",
        "email": "infra-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Tue Mar 31 05:50:40 2026"
      },
      "message": "siso: assign include positions before setup for correct scoping\n\nWhen processing an `include`, the included file\u0027s statements were\nassigned their final positions (via includeChunks) after setup had\nalready stored variables into the shared scope. This meant included\nvariables got temporary positions from the child\u0027s alloc (starting\nat 0), instead of their correct positions in the combined file.\n\nVariable lookup (shardBindings.get) resolves same-name bindings by\nreturning the entry with the largest pos. With the child\u0027s override\nstuck at pos\u003d0, the parent\u0027s definition always won:\n\n  # parent: foobar (pos\u003d0), myvar (pos\u003d1), include child.ninja\n  # child:  myvar (pos\u003d0, should be pos\u003d2)\n  #\n  # Lookup for \"myvar\" with pos\u003d-1 returns the entry with the\n  # largest pos → parent\u0027s myvar at pos\u003d1 wins, child\u0027s override\n  # at pos\u003d0 is invisible.\n\nEven in the degenerate case where the parent\u0027s myvar was also at\npos\u003d0 (no preceding statements), the parent still won due to list\niteration order in get().\n\nFix by calling includeChunks before fp.setup, so that the included\nfile\u0027s statements have their correct final positions when variables\nare stored in the shared scope.\n\nE2E tests from crrev.com/c/7691709:\n- Fixed: t0031-syntax-subninja\n\nBUG\u003d428883433\n\nChange-Id: Icff0f7d6985430ed537a7e2e9b31efae657d3a1e\nReviewed-on: https://chromium-review.googlesource.com/c/build/+/7692417\nReviewed-by: Fumitoshi Ukai \u003cukai@google.com\u003e\nCommit-Queue: Philipp Wollermann \u003cphilwo@google.com\u003e\n"
    },
    {
      "commit": "0d7d07f982a806e642526c466986de0ab17bb0de",
      "tree": "7709f3e0c6f79b133048fc961506f4d963494430",
      "parents": [
        "8ae1ccf31d0f2b55de2dd8d768f67a56b28a73d2"
      ],
      "author": {
        "name": "Philipp Wollermann",
        "email": "philwo@google.com",
        "time": "Tue Mar 31 05:50:16 2026"
      },
      "committer": {
        "name": "LUCI CQ",
        "email": "infra-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Tue Mar 31 05:50:16 2026"
      },
      "message": "siso: collect edges from included files in finalize\n\nWhen a build.ninja uses `include` to bring in files that define build\nedges, those edges are allocated in the included fileParser\u0027s arena,\nnot the parent\u0027s. Since finalize() only iterated over the parent\u0027s\nedgeArena, edges from included files were silently dropped, resulting\nin \"no targets\" errors for builds that split their manifest across\nmultiple files.\n\nFix by also iterating over each chunk\u0027s included chunks\u0027 edge arenas\nwhen collecting edges.\n\nE2E tests from crrev.com/c/7691709:\n- Fixed: t0030-syntax-include\n\nBUG\u003d428883433\n\nChange-Id: I626d80d436c56fb6d0ec205a2d7e5c1d1388c501\nReviewed-on: https://chromium-review.googlesource.com/c/build/+/7692416\nReviewed-by: Fumitoshi Ukai \u003cukai@google.com\u003e\nCommit-Queue: Philipp Wollermann \u003cphilwo@google.com\u003e\n"
    },
    {
      "commit": "8ae1ccf31d0f2b55de2dd8d768f67a56b28a73d2",
      "tree": "e2cadc40de30032dc6ba2cae2610d94c0db37938",
      "parents": [
        "26792544167bfff558b58aeb4d24bc235d2d0cc0"
      ],
      "author": {
        "name": "Philipp Wollermann",
        "email": "philwo@google.com",
        "time": "Tue Mar 31 05:50:03 2026"
      },
      "committer": {
        "name": "LUCI CQ",
        "email": "infra-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Tue Mar 31 05:50:03 2026"
      },
      "message": "siso: preserve parent scope when allocating for included files\n\nWhen processing an `include` directive, alloc() was called with the\nparent\u0027s scope, causing it to overwrite the parent\u0027s rules and\nbindings maps with fresh empty ones. This destroyed all variables\nand rules already defined in the parent file, so variable references in\nincluded rules would silently expand to empty strings.\n\nFix by only initializing scope maps when they are nil, preserving\nthe parent\u0027s existing rules and bindings for reused scopes.\n\nE2E tests from crrev.com/c/7691709:\n- Fixed: t0030a-syntax-include-scope-survives\n\nBUG\u003d428883433\n\nChange-Id: Iad502213bbe49ce698c9b964c50958ad949e7de1\nReviewed-on: https://chromium-review.googlesource.com/c/build/+/7692415\nCommit-Queue: Philipp Wollermann \u003cphilwo@google.com\u003e\nReviewed-by: Fumitoshi Ukai \u003cukai@google.com\u003e\n"
    },
    {
      "commit": "26792544167bfff558b58aeb4d24bc235d2d0cc0",
      "tree": "f0d39b67bf7dd22d39c2772b3f1b1c8b3d701ebd",
      "parents": [
        "b7f9a4830ee1605c15adfd87e816b392caeabd2a"
      ],
      "author": {
        "name": "Philipp Wollermann",
        "email": "philwo@google.com",
        "time": "Tue Mar 31 05:47:14 2026"
      },
      "committer": {
        "name": "LUCI CQ",
        "email": "infra-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Tue Mar 31 05:47:14 2026"
      },
      "message": "siso: detect include cycles to prevent infinite recursion\n\nWhen a build.ninja file contains a circular include chain (e.g.,\na.ninja includes b.ninja which includes a.ninja), the parser would\nrecurse infinitely, consuming all memory until killed by the OOM\nkiller.\n\nFix by tracking include ancestors per include chain. Each chunk\ncarries an includeAncestors map recording the files in its include\nancestry. When processing an include directive, the parser checks\nthis map for cycles and propagates a copy (extended with the new\nfile) to the included file\u0027s parser.\n\nAdditionally, absolute paths in include/subninja statements are now\ncorrectly rejected with a helpful error message (they didn\u0027t work before\neither, but due to a bug, so the overall behavior doesn\u0027t change).\n\nBUG\u003d428883433\n\nChange-Id: Iccce23118abab16e6243aa8a7e3cb4d95b9bb807\nReviewed-on: https://chromium-review.googlesource.com/c/build/+/7692412\nCommit-Queue: Philipp Wollermann \u003cphilwo@google.com\u003e\nReviewed-by: Neri Marschik \u003cnerima@google.com\u003e\nReviewed-by: Yuke Liao \u003cliaoyuke@google.com\u003e\n"
    },
    {
      "commit": "b7f9a4830ee1605c15adfd87e816b392caeabd2a",
      "tree": "1c74ee38fa88db396e94419be216e60a29bc182b",
      "parents": [
        "e98eee2e833a3be1192e46acab2ac89cd450e290"
      ],
      "author": {
        "name": "Richard Wang",
        "email": "richardwa@google.com",
        "time": "Tue Mar 31 04:37:43 2026"
      },
      "committer": {
        "name": "LUCI CQ",
        "email": "infra-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Tue Mar 31 04:37:43 2026"
      },
      "message": "gong: Use text/template to write tools into ninja\n\nBug: b/492000541\nChange-Id: I72cfd9b1d044ea3b7deb325017254a046a6a6964\nReviewed-on: https://chromium-review.googlesource.com/c/build/+/7707167\nReviewed-by: Alex Ovsienko \u003covsienko@google.com\u003e\nCommit-Queue: Richard Wang \u003crichardwa@google.com\u003e\n"
    },
    {
      "commit": "e98eee2e833a3be1192e46acab2ac89cd450e290",
      "tree": "51858904d65a3824d3c9090eb2e3dc0e52c9b6de",
      "parents": [
        "ef6529457d3211a8176333360be608215bc565e5"
      ],
      "author": {
        "name": "Richard Wang",
        "email": "richardwa@google.com",
        "time": "Fri Mar 27 07:02:05 2026"
      },
      "committer": {
        "name": "LUCI CQ",
        "email": "infra-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Fri Mar 27 07:02:05 2026"
      },
      "message": "gong: ninjawriter initial action() target support\n\nBug: b/492000541\nChange-Id: I36d91b3a69ba83cc9c26badbec0327ea6a6a6964\nReviewed-on: https://chromium-review.googlesource.com/c/build/+/7703272\nReviewed-by: Alex Ovsienko \u003covsienko@google.com\u003e\nCommit-Queue: Richard Wang \u003crichardwa@google.com\u003e\n"
    },
    {
      "commit": "ef6529457d3211a8176333360be608215bc565e5",
      "tree": "598565f5bcc3b6da44cbbb3510b86f1744f70f55",
      "parents": [
        "bd583cd5ff16bebfa7d9e3f7d49ab2f75213df7f"
      ],
      "author": {
        "name": "Takuto Ikuta",
        "email": "tikuta@chromium.org",
        "time": "Fri Mar 27 06:26:28 2026"
      },
      "committer": {
        "name": "LUCI CQ",
        "email": "infra-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Fri Mar 27 06:26:28 2026"
      },
      "message": "siso: execute ts.Token() in goroutine to handle context cancellation\n\nThis is derived from https://crrev.com/c/7703368/2..3/siso/auth/cred/cred.go#b185\n\nBug: 496388587\nChange-Id: I060eaa6738d3aa3df531d352d47d751fad28417e\nReviewed-on: https://chromium-review.googlesource.com/c/build/+/7704676\nReviewed-by: Fumitoshi Ukai \u003cukai@google.com\u003e\nCommit-Queue: Takuto Ikuta \u003ctikuta@chromium.org\u003e\nAuto-Submit: Takuto Ikuta \u003ctikuta@chromium.org\u003e\n"
    },
    {
      "commit": "bd583cd5ff16bebfa7d9e3f7d49ab2f75213df7f",
      "tree": "99531a51d1a27e849c0920fdd7b71e1d3a5d4bd3",
      "parents": [
        "33a0d828a9b6ca1a2b97206730d40458a486c415"
      ],
      "author": {
        "name": "Fumitoshi Ukai",
        "email": "ukai@google.com",
        "time": "Fri Mar 27 05:48:54 2026"
      },
      "committer": {
        "name": "LUCI CQ",
        "email": "infra-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Fri Mar 27 05:48:54 2026"
      },
      "message": "siso: record fallback-on-output-error\n\nif it failed to flush outputs to local,\nit was reported as fallback-on-other\ne.g.\nhttps://pantheon.corp.google.com/errors/detail/CNb78NT5v9COAg;time\u003dP1D;locations\u003dglobal?project\u003drbe-chrome-untrusted\n\nuse fallback-on-output-error for such fallback\n\nBug: b/495260684\nChange-Id: Iae15a1f6dcffea974da9bc9eab735c44e0bc1199\nReviewed-on: https://chromium-review.googlesource.com/c/build/+/7704675\nAuto-Submit: Fumitoshi Ukai \u003cukai@google.com\u003e\nReviewed-by: Yuke Liao \u003cliaoyuke@google.com\u003e\nCommit-Queue: Yuke Liao \u003cliaoyuke@google.com\u003e\n"
    },
    {
      "commit": "33a0d828a9b6ca1a2b97206730d40458a486c415",
      "tree": "52375d0e16867d8159a384d505fa589f4fad0c05",
      "parents": [
        "77702276e5518d42455f8c7e92fa229ba9e9e4f7"
      ],
      "author": {
        "name": "Fumitoshi Ukai",
        "email": "ukai@google.com",
        "time": "Fri Mar 27 05:42:48 2026"
      },
      "committer": {
        "name": "LUCI CQ",
        "email": "infra-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Fri Mar 27 05:42:48 2026"
      },
      "message": "siso: set stderrthreshold to FATAL by default\n\nlog.Error may distrupt console output\nwhen cloud logging is not used and glog is used,\nso set stderrthreshold to FATAL and don\u0027t print error log to stderr,\n\nChange-Id: Iac6899d887db87c02cbecc5d89443926c6c767d4\nReviewed-on: https://chromium-review.googlesource.com/c/build/+/7702956\nCommit-Queue: Fumitoshi Ukai \u003cukai@google.com\u003e\nCommit-Queue: Takuto Ikuta \u003ctikuta@chromium.org\u003e\nReviewed-by: Takuto Ikuta \u003ctikuta@chromium.org\u003e\nAuto-Submit: Fumitoshi Ukai \u003cukai@google.com\u003e\n"
    },
    {
      "commit": "77702276e5518d42455f8c7e92fa229ba9e9e4f7",
      "tree": "8131b11329d59448f9b7aa2bccda151e65844a75",
      "parents": [
        "4315b811b049fb7b427a8a45c499767b52697235"
      ],
      "author": {
        "name": "Takuto Ikuta",
        "email": "tikuta@chromium.org",
        "time": "Fri Mar 27 05:42:41 2026"
      },
      "committer": {
        "name": "LUCI CQ",
        "email": "infra-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Fri Mar 27 05:42:41 2026"
      },
      "message": "siso: pass context to init in lazyCredWrapper\n\nThis is for\nhttps://chromium-review.googlesource.com/c/build/+/7703368/comment/033d54f0_29f13352?usp\u003demail\n\nAlso pass context as-is so that cancellation is propagated to init.\n\nBug: 496388587\nChange-Id: I2c938357bee21d03ed854a658611587a31600ba6\nReviewed-on: https://chromium-review.googlesource.com/c/build/+/7707332\nAuto-Submit: Takuto Ikuta \u003ctikuta@chromium.org\u003e\nCommit-Queue: Takuto Ikuta \u003ctikuta@chromium.org\u003e\nReviewed-by: Fumitoshi Ukai \u003cukai@google.com\u003e\n"
    },
    {
      "commit": "4315b811b049fb7b427a8a45c499767b52697235",
      "tree": "02067f85f458bca6f2468d539fb5bad20168df7c",
      "parents": [
        "a074ab297373b0f12a8bc9812bdb25d08a79fc7b"
      ],
      "author": {
        "name": "Neri Marschik",
        "email": "nerima@google.com",
        "time": "Fri Mar 27 02:46:01 2026"
      },
      "committer": {
        "name": "LUCI CQ",
        "email": "infra-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Fri Mar 27 02:46:01 2026"
      },
      "message": "Reland \"siso: parallelize filegroup updates\"\n\nThis reverts commit 0709df89b4226e0ead10ba6eb48cae9a4c292e05.\n\nReason for revert: race condition expected to be fixed by http://crrev.com/c/7666541\n\nOriginal change\u0027s description:\n\u003e Revert \"siso: parallelize filegroup updates\"\n\u003e\n\u003e This reverts commit f448bd687c069ef05a154384621cfb325bbdaef3.\n\u003e\n\u003e Reason for revert: \n\u003e store resolve next dir failing\n\u003e http://b/492014037 regression in v1.5.6? sub build/linux/debian_bullseye_arm64-sysroot/usr/lib: stat build/linux/debian_bullseye_arm64-sysroot/usr/lib: store resolve next dir debian_bullseye_arm64-sysroot failed\n\u003e\n\u003e Original change\u0027s description:\n\u003e \u003e siso: parallelize filegroup updates\n\u003e \u003e\n\u003e \u003e On Chrome build:\n\u003e \u003e Sync: ~1.95s\n\u003e \u003e Parallel: 880ms\n\u003e \u003e\n\u003e \u003e Bug: b/439716134\n\u003e \u003e Change-Id: I549051a659e238bbcd9b8be77721cd928780dc5f\n\u003e \u003e Reviewed-on: https://chromium-review.googlesource.com/c/build/+/7656403\n\u003e \u003e Reviewed-by: Takuto Ikuta \u003ctikuta@chromium.org\u003e\n\u003e \u003e Reviewed-by: Fumitoshi Ukai \u003cukai@google.com\u003e\n\u003e \u003e Commit-Queue: Neri Marschik \u003cnerima@google.com\u003e\n\u003e\n\u003e Bug: b/439716134, b/492014037\n\u003e No-Presubmit: true\n\u003e No-Tree-Checks: true\n\u003e No-Try: true\n\u003e Bug: b/439716134\n\u003e Change-Id: I3671e7b1809fc33cb97917d63f9331462671d7e6\n\u003e Reviewed-on: https://chromium-review.googlesource.com/c/build/+/7659465\n\u003e Reviewed-by: Takuto Ikuta \u003ctikuta@chromium.org\u003e\n\u003e Auto-Submit: Fumitoshi Ukai \u003cukai@google.com\u003e\n\u003e Commit-Queue: Takuto Ikuta \u003ctikuta@chromium.org\u003e\n\nBug: b/439716134, b/492014037\nBug: b/439716134\nChange-Id: I932344ea0ca46bd261bfc88d2e7e38c172cddd76\nReviewed-on: https://chromium-review.googlesource.com/c/build/+/7707333\nAuto-Submit: Neri Marschik \u003cnerima@google.com\u003e\nReviewed-by: Takuto Ikuta \u003ctikuta@chromium.org\u003e\nReviewed-by: Fumitoshi Ukai \u003cukai@google.com\u003e\nCommit-Queue: Neri Marschik \u003cnerima@google.com\u003e\n"
    },
    {
      "commit": "a074ab297373b0f12a8bc9812bdb25d08a79fc7b",
      "tree": "a6e13af67ffecb1a23914822b534bebc2d1a5e33",
      "parents": [
        "342ffcda73fb0acb5666792b95c00efc32b47318"
      ],
      "author": {
        "name": "Takuto Ikuta",
        "email": "tikuta@chromium.org",
        "time": "Fri Mar 27 01:21:52 2026"
      },
      "committer": {
        "name": "LUCI CQ",
        "email": "infra-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Fri Mar 27 01:21:52 2026"
      },
      "message": "siso: wait for credential initialization in collector command\n\nIntroduced credential.Wait() to ensure credentials are fully initialized\nbefore continuing. Used select to handle both the credential\ninitialization and the collector execution. If credential.Wait() returns\nan error, the command now returns ExitFailure immediately. Otherwise, it\nwaits for the collector to finish and returns its status.\n\nBug: 496388587\nChange-Id: I53d1c9e0efc611a361249f84a9a269d6dea75d05\nReviewed-on: https://chromium-review.googlesource.com/c/build/+/7702395\nCommit-Queue: Takuto Ikuta \u003ctikuta@chromium.org\u003e\nAuto-Submit: Takuto Ikuta \u003ctikuta@chromium.org\u003e\nReviewed-by: Fumitoshi Ukai \u003cukai@google.com\u003e\n"
    },
    {
      "commit": "342ffcda73fb0acb5666792b95c00efc32b47318",
      "tree": "d120418270c7f3ed1003e742bd95498a005dae23",
      "parents": [
        "ad21db6dda3c82ad27ddf873ca3c8742391d104a"
      ],
      "author": {
        "name": "Fumitoshi Ukai",
        "email": "ukai@google.com",
        "time": "Fri Mar 27 00:14:19 2026"
      },
      "committer": {
        "name": "LUCI CQ",
        "email": "infra-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Fri Mar 27 00:14:19 2026"
      },
      "message": "Revert \"siso: don\u0027t create intermediate dir for fs.ErrNotExist leaf\"\n\nThis reverts commit b44593f9e69d63d77e4e04c78decab5e404a1e8e.\n\nReason for revert: \nsuspect time out in android build b/496478676\n\nOriginal change\u0027s description:\n\u003e siso: don\u0027t create intermediate dir for fs.ErrNotExist leaf\n\u003e\n\u003e When new file is checked and it doesn\u0027t exist locally (fs.ErrNotExist),\n\u003e no need to store an intermediate dir as existing directory\n\u003e if the intermediate dir doesn\u0027t exist, but store the intermediate dir\n\u003e as not existing entry, so it might have race to construct\n\u003e different input tree, observed like b/455446876\n\u003e\n\u003e Fix RetrieveUpdateEntriesFromLocal for this change to invalidate\n\u003e non existing intermediate directory, so it can detect new files\n\u003e created locally. Otherwise, TestUpdate_FromLocal_Dir will fail.\n\u003e\n\u003e Change-Id: I0cb44f225bfa14f3740495fc330e6ecc3769ceca\n\u003e Reviewed-on: https://chromium-review.googlesource.com/c/build/+/7695575\n\u003e Reviewed-by: Yuke Liao \u003cliaoyuke@google.com\u003e\n\u003e Auto-Submit: Fumitoshi Ukai \u003cukai@google.com\u003e\n\u003e Reviewed-by: Junji Watanabe \u003cjwata@google.com\u003e\n\u003e Commit-Queue: Fumitoshi Ukai \u003cukai@google.com\u003e\n\nChange-Id: I3cc0aada8d8445115c7ce2fec4505c096de0bfbb\nReviewed-on: https://chromium-review.googlesource.com/c/build/+/7707012\nCommit-Queue: Fumitoshi Ukai \u003cukai@google.com\u003e\nBot-Commit: Rubber Stamper \u003crubber-stamper@appspot.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "ad21db6dda3c82ad27ddf873ca3c8742391d104a",
      "tree": "fc75a5fe386ac34ddad8b885241476b7d8c1af39",
      "parents": [
        "06afef2390221cd6446313a611243916afde9500"
      ],
      "author": {
        "name": "Fumitoshi Ukai",
        "email": "ukai@google.com",
        "time": "Thu Mar 26 07:34:34 2026"
      },
      "committer": {
        "name": "LUCI CQ",
        "email": "infra-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Thu Mar 26 07:34:34 2026"
      },
      "message": "siso: add metricsLabels in error reporting stack trace\n\nTo make it easy to see which builder reported the error,\nadd metricsLabels in error reporting stack trace.\n\nBug: b/495260684\nChange-Id: I888c7a437eb0fe5c7d11c08dfcf8ffa3aa55f689\nReviewed-on: https://chromium-review.googlesource.com/c/build/+/7702955\nAuto-Submit: Fumitoshi Ukai \u003cukai@google.com\u003e\nCommit-Queue: Fumitoshi Ukai \u003cukai@google.com\u003e\nReviewed-by: Junji Watanabe \u003cjwata@google.com\u003e\n"
    },
    {
      "commit": "06afef2390221cd6446313a611243916afde9500",
      "tree": "fc99bff1dd489501e50a7f2e9a897361bb3a599a",
      "parents": [
        "4ffb1e42146e4b03669dc0b91769e37763e054eb"
      ],
      "author": {
        "name": "Takuto Ikuta",
        "email": "tikuta@chromium.org",
        "time": "Thu Mar 26 06:26:23 2026"
      },
      "committer": {
        "name": "LUCI CQ",
        "email": "infra-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Thu Mar 26 06:26:23 2026"
      },
      "message": "siso: Fix indent in collector config\n\nref: https://opentelemetry.io/docs/collector/configuration/#receivers\n\nBug: 496388587\nChange-Id: I3822f3c465bbb2abe278d66147a203a3fd9dca3e\nReviewed-on: https://chromium-review.googlesource.com/c/build/+/7703474\nAuto-Submit: Takuto Ikuta \u003ctikuta@chromium.org\u003e\nCommit-Queue: Alex Ovsienko \u003covsienko@google.com\u003e\nReviewed-by: Alex Ovsienko \u003covsienko@google.com\u003e\n"
    },
    {
      "commit": "4ffb1e42146e4b03669dc0b91769e37763e054eb",
      "tree": "0bbadc1aa2c95211a1ca53478b4e113c1dc92232",
      "parents": [
        "b4452d1aeb7a652833701106bb748bc4b7294e10"
      ],
      "author": {
        "name": "Takuto Ikuta",
        "email": "tikuta@chromium.org",
        "time": "Thu Mar 26 06:16:40 2026"
      },
      "committer": {
        "name": "LUCI CQ",
        "email": "infra-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Thu Mar 26 06:16:40 2026"
      },
      "message": "Update go.chromium.org/build/kajiya and fix reapitest build\n\nChange-Id: I9569455a6d9a8afde6dbf65db8be027d5bef16f0\nReviewed-on: https://chromium-review.googlesource.com/c/build/+/7703281\nReviewed-by: Fumitoshi Ukai \u003cukai@google.com\u003e\nAuto-Submit: Takuto Ikuta \u003ctikuta@chromium.org\u003e\nCommit-Queue: Takuto Ikuta \u003ctikuta@chromium.org\u003e\n"
    },
    {
      "commit": "b4452d1aeb7a652833701106bb748bc4b7294e10",
      "tree": "d8b99f675c97faec7cd319e6619cf3037326bf8d",
      "parents": [
        "0a31351b255b163ec6ef150170443bf7836e695c"
      ],
      "author": {
        "name": "Takuto Ikuta",
        "email": "tikuta@chromium.org",
        "time": "Thu Mar 26 06:11:50 2026"
      },
      "committer": {
        "name": "LUCI CQ",
        "email": "infra-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Thu Mar 26 06:11:50 2026"
      },
      "message": "siso: Add link to collector config doc in config file\n\nThis is to help understanding config file more easily.\n\nBug: 496388587\nChange-Id: Ic498a42ff87b8c5fb9621e975177162bc7dc2ee8\nReviewed-on: https://chromium-review.googlesource.com/c/build/+/7702856\nAuto-Submit: Takuto Ikuta \u003ctikuta@chromium.org\u003e\nCommit-Queue: Takuto Ikuta \u003ctikuta@chromium.org\u003e\nReviewed-by: Fumitoshi Ukai \u003cukai@google.com\u003e\n"
    },
    {
      "commit": "0a31351b255b163ec6ef150170443bf7836e695c",
      "tree": "62904a096921929fe7b4b2ec247ca2a9a5cfe542",
      "parents": [
        "c768048404de64f9b54592dea33732723f59bdef"
      ],
      "author": {
        "name": "Takuto Ikuta",
        "email": "tikuta@chromium.org",
        "time": "Thu Mar 26 06:10:45 2026"
      },
      "committer": {
        "name": "LUCI CQ",
        "email": "infra-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Thu Mar 26 06:10:45 2026"
      },
      "message": "siso: Add link to healtcheckv2 extension doc in collector config\n\nBug: 496388587\nChange-Id: I98638a4935bf070af30eb4564cad2fe4c450ce97\nReviewed-on: https://chromium-review.googlesource.com/c/build/+/7703473\nAuto-Submit: Takuto Ikuta \u003ctikuta@chromium.org\u003e\nReviewed-by: Fumitoshi Ukai \u003cukai@google.com\u003e\nCommit-Queue: Takuto Ikuta \u003ctikuta@chromium.org\u003e\n"
    },
    {
      "commit": "c768048404de64f9b54592dea33732723f59bdef",
      "tree": "82cc7feccc8a297bef74b8e402dafb49968e33c6",
      "parents": [
        "1de052ebb1bbe32102fa794b92f146f6b2f1680e"
      ],
      "author": {
        "name": "Takuto Ikuta",
        "email": "tikuta@chromium.org",
        "time": "Thu Mar 26 04:56:40 2026"
      },
      "committer": {
        "name": "LUCI CQ",
        "email": "infra-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Thu Mar 26 04:56:40 2026"
      },
      "message": "siso: Lazy initialize credentials to reduce startup delay\n\nOAuth token fetching in cred.New can take a few seconds when fallback\ncache misses (e.g. running credhelper Google auth). This naturally\ndelays the setup of ninja.go build graph execution.\n\nThis change refactors cred.New into lazyCredWrapper to delay token\nfetching into a background goroutine, unblocking fast paths. Initial\nevaluation returns immediately, and it safely blocks only when gRPC dial\noptions or clients actually invoke Token() or GetRequestMetadata().\n\nFurthermore, if Siso terminates lightning-fast before credential\nfetching completes (e.g., during fastNop cache-hit operations), the\nclosing sequence may forcibly tear down in-flight gRPC streams. This\ncommit correctly downgrades the resulting \u0027canceled\u0027 or \u0027client\nconnection is closing\u0027 errors to info level, preventing startling error\nmessages.\n\nBenchmark results (Nothing-to-do with touch BUILD.gn, including\nregeneration):\n  main: 14.420 s ± 1.565 s\n  lazy-delayed: 9.466 s ± 0.186 s (1.52x faster)\n\nIn a typical case with no cache for credhelper, main blocks for about\n3.8s, whereas lazy-delayed starts other tasks in parallel and only\nblocks when needed. The benchmark was performed with hyperfine --prepare\n\"touch BUILD.gn \u0026\u0026 rm -f ~/.bazel_credhelper_cache\".\n\nBug: 495633823\nChange-Id: I8729923060ea86b974e80bd02ee3107d896dc927\nReviewed-on: https://chromium-review.googlesource.com/c/build/+/7694247\nCommit-Queue: Takuto Ikuta \u003ctikuta@chromium.org\u003e\nReviewed-by: Fumitoshi Ukai \u003cukai@google.com\u003e\n"
    },
    {
      "commit": "1de052ebb1bbe32102fa794b92f146f6b2f1680e",
      "tree": "748142540f51fc59f9ff2f1b526c2b8816160917",
      "parents": [
        "30215ed9c271f53462afd8aafb7a2fdaf4c8fd18"
      ],
      "author": {
        "name": "Fumitoshi Ukai",
        "email": "ukai@google.com",
        "time": "Thu Mar 26 04:51:02 2026"
      },
      "committer": {
        "name": "LUCI CQ",
        "email": "infra-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Thu Mar 26 04:51:02 2026"
      },
      "message": "siso: no error for dir.name\u003d\"/\" and name\u003d\"/\"\n\nrecorded error log like \"dir:/ name:/ entries:\u0026directory{m:0x1a8090970748}\"\nbut we can safely ignore this case for /.\n\nChange-Id: I8d9ff3a65bf9405aa311c8ae8c7c4aa2163a3768\nReviewed-on: https://chromium-review.googlesource.com/c/build/+/7699208\nAuto-Submit: Fumitoshi Ukai \u003cukai@google.com\u003e\nReviewed-by: Neri Marschik \u003cnerima@google.com\u003e\nCommit-Queue: Fumitoshi Ukai \u003cukai@google.com\u003e\n"
    },
    {
      "commit": "30215ed9c271f53462afd8aafb7a2fdaf4c8fd18",
      "tree": "de072aa0e978af7e1fcdef37a3f8abe323cd66a0",
      "parents": [
        "c19ab496ab241cb3b15c7d047057b5b5addc530e"
      ],
      "author": {
        "name": "Fumitoshi Ukai",
        "email": "ukai@google.com",
        "time": "Thu Mar 26 04:50:34 2026"
      },
      "committer": {
        "name": "LUCI CQ",
        "email": "infra-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Thu Mar 26 04:50:34 2026"
      },
      "message": "siso: error report via cloud logging\n\nadd ErrorReport in clog, which will send log entry\nwith @type\u003d\"type.googleapis.com/google.devtools.clouderrorreporting.v1beta1.ReportedErrorEvent\"\nso errorreporting will automatically captures the error event.\n\nInstrument error report for\n - clog.Errorf, Fatalf, Exitf\n - local fallback\n - large pressure stall\n\nBug: b/495260684\nChange-Id: I4e386030a159d544204728fd3f7c66b1cfd196dc\nReviewed-on: https://chromium-review.googlesource.com/c/build/+/7696313\nCommit-Queue: Junji Watanabe \u003cjwata@google.com\u003e\nReviewed-by: Junji Watanabe \u003cjwata@google.com\u003e\nAuto-Submit: Fumitoshi Ukai \u003cukai@google.com\u003e\n"
    },
    {
      "commit": "c19ab496ab241cb3b15c7d047057b5b5addc530e",
      "tree": "4b94c80763128a2f9c9b8c6e929c5ace91536aad",
      "parents": [
        "40af0b3335c0df3ef0e524c1ba6790a91c1791d2"
      ],
      "author": {
        "name": "Philipp Wollermann",
        "email": "philwo@google.com",
        "time": "Thu Mar 26 03:46:49 2026"
      },
      "committer": {
        "name": "LUCI CQ",
        "email": "infra-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Thu Mar 26 03:46:49 2026"
      },
      "message": "siso: resolve include directives relative to SetWd\n\nInclude directives in ninja manifests were resolved relative to the\nprocess working directory instead of the directory set via SetWd.\nPropagate the working directory through ManifestParser -\u003e fileParser -\u003e\nchunk so that setupInChunk joins it with the include path.\n\nNow we can use p.SetWd in the manifest parser tests that use include\ndirectives instead of t.Chdir, too.\n\nBUG\u003d428883433\n\nChange-Id: I5ca6a1c60c3bdf96cd20917712193e14b2023430\nReviewed-on: https://chromium-review.googlesource.com/c/build/+/7692380\nCommit-Queue: Philipp Wollermann \u003cphilwo@google.com\u003e\nReviewed-by: Takuto Ikuta \u003ctikuta@chromium.org\u003e\n"
    },
    {
      "commit": "40af0b3335c0df3ef0e524c1ba6790a91c1791d2",
      "tree": "a588b887eeca5da18c11b8ee9a48d9853985fae7",
      "parents": [
        "3b658f0582745005c068cdac3c4c9d982f61bf85"
      ],
      "author": {
        "name": "Philipp Wollermann",
        "email": "philwo@google.com",
        "time": "Thu Mar 26 03:46:02 2026"
      },
      "committer": {
        "name": "LUCI CQ",
        "email": "infra-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Thu Mar 26 03:46:02 2026"
      },
      "message": "siso: fix index out of range panic in chunk_parser\n\nIn includeChunks(), the inner loop was setting positions on\nch.statements[j] (the parent chunk\u0027s statements) instead of\ncch.statements[j] (the included chunk\u0027s statements). This caused\nan out-of-bounds panic when the included file had more statements\nthan the parent chunk had remaining.\n\nE2E tests from crrev.com/c/7691709:\n- Progress towards fixing: t0030-syntax-include\n- Progress towards fixing: t0031-syntax-subninja\n\nThey now no longer crash with a panic, but only fail due to genuine\nlogic errors in the handling of included files.\n\nBUG\u003d428883433\n\nChange-Id: I22bcffbcc5fd21b5f9e10fd70c212254680bea86\nReviewed-on: https://chromium-review.googlesource.com/c/build/+/7692414\nReviewed-by: Takuto Ikuta \u003ctikuta@chromium.org\u003e\nCommit-Queue: Philipp Wollermann \u003cphilwo@google.com\u003e\n"
    },
    {
      "commit": "3b658f0582745005c068cdac3c4c9d982f61bf85",
      "tree": "01c4fcfde4d44d88135f30fc88ce0a4a5ae41fd9",
      "parents": [
        "19b709b5390f62cc830bbae56bc241bab66fd69c"
      ],
      "author": {
        "name": "Philipp Wollermann",
        "email": "philwo@google.com",
        "time": "Thu Mar 26 03:44:15 2026"
      },
      "committer": {
        "name": "LUCI CQ",
        "email": "infra-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Thu Mar 26 03:44:15 2026"
      },
      "message": "siso: fix data race in file_parser setup\n\nIn setup(), the position adjustment code read ch.statements[].pos in\nthe main goroutine concurrently with includeChunks() writing to the\nsame fields in the errgroup goroutine. eg.SetLimit(1) only serializes\nerrgroup goroutines with each other, not with the main loop.\n\nMove the position adjustment inside the goroutine so it runs after\nsetupInChunk() returns, eliminating the race.\n\nChange-Id: I0eedc1c9a9c3eddcc9ec167f0e3b198b4fb33e80\nReviewed-on: https://chromium-review.googlesource.com/c/build/+/7699209\nCommit-Queue: Philipp Wollermann \u003cphilwo@google.com\u003e\nReviewed-by: Fumitoshi Ukai \u003cukai@google.com\u003e\nReviewed-by: Yuke Liao \u003cliaoyuke@google.com\u003e\n"
    },
    {
      "commit": "19b709b5390f62cc830bbae56bc241bab66fd69c",
      "tree": "ce0ce8c201c1e573d1685dfc4dd329c2107b524e",
      "parents": [
        "b6d5ad97d30bd7bfe9ad969505a0717804591e91"
      ],
      "author": {
        "name": "Fumitoshi Ukai",
        "email": "ukai@google.com",
        "time": "Thu Mar 26 00:03:29 2026"
      },
      "committer": {
        "name": "LUCI CQ",
        "email": "infra-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Thu Mar 26 00:03:29 2026"
      },
      "message": "siso: make error-\u003ewarning for close datasource failure\n\nChange-Id: Id6ce5c49e2c0b5e60f7f9fb9f3d70b70b68b0c05\nReviewed-on: https://chromium-review.googlesource.com/c/build/+/7698886\nCommit-Queue: Fumitoshi Ukai \u003cukai@google.com\u003e\nReviewed-by: Junji Watanabe \u003cjwata@google.com\u003e\nReviewed-by: Philipp Wollermann \u003cphilwo@google.com\u003e\nAuto-Submit: Fumitoshi Ukai \u003cukai@google.com\u003e\n"
    },
    {
      "commit": "b6d5ad97d30bd7bfe9ad969505a0717804591e91",
      "tree": "04a013162506bb803b14194694b3335dac6b5670",
      "parents": [
        "bdd085489bcc1b0fbf62b9397e2dfb0402a4eb6d"
      ],
      "author": {
        "name": "Fumitoshi Ukai",
        "email": "ukai@google.com",
        "time": "Wed Mar 25 23:48:04 2026"
      },
      "committer": {
        "name": "LUCI CQ",
        "email": "infra-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Wed Mar 25 23:48:04 2026"
      },
      "message": "siso: make error-\u003ewarning for hashfs wait ready canceled\n\nChange-Id: I27e8c64e37c2e4129a8f612f3ad35d4988ce622b\nReviewed-on: https://chromium-review.googlesource.com/c/build/+/7698884\nAuto-Submit: Fumitoshi Ukai \u003cukai@google.com\u003e\nCommit-Queue: Fumitoshi Ukai \u003cukai@google.com\u003e\nReviewed-by: Junji Watanabe \u003cjwata@google.com\u003e\n"
    },
    {
      "commit": "bdd085489bcc1b0fbf62b9397e2dfb0402a4eb6d",
      "tree": "c478cb946e6569aa3685dd1ac7fc163efe660949",
      "parents": [
        "6f7a4bfe5800272fbc4b523fa50bf8cc402ff1f9"
      ],
      "author": {
        "name": "Junji Watanabe",
        "email": "jwata@google.com",
        "time": "Wed Mar 25 15:13:41 2026"
      },
      "committer": {
        "name": "LUCI CQ",
        "email": "infra-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Wed Mar 25 15:13:41 2026"
      },
      "message": "siso: Write Reclient metrics to log dir\n\nTo keep the compatibility of the RBE metrics pipeline for Android\nplatform builds. This CL writes `rbe_metrics.{pb, txt}` under log dir.\n\nIt\u0027s not clear how much Siso can/should provide RBE metrics. So this CL\nimplements the basic ones. Other metrics will be provided as requested.\n\nThis feature switches on/off with `-write_reclient_metrics_logs` flag\n(default false).\n\nChange-Id: Ie305fa23adac923b856c982e70b8341079b0d646\nReviewed-on: https://chromium-review.googlesource.com/c/build/+/7699207\nAuto-Submit: Junji Watanabe \u003cjwata@google.com\u003e\nReviewed-by: LaMont Jones \u003clamontjones@chromium.org\u003e\nCommit-Queue: LaMont Jones \u003clamontjones@chromium.org\u003e\n"
    },
    {
      "commit": "6f7a4bfe5800272fbc4b523fa50bf8cc402ff1f9",
      "tree": "225d2e5bab32f723382275671d25b4481154ee07",
      "parents": [
        "d377d391ecda2328e7ab67888c4566a94a6376fe"
      ],
      "author": {
        "name": "Philipp Wollermann",
        "email": "philwo@google.com",
        "time": "Wed Mar 25 10:47:43 2026"
      },
      "committer": {
        "name": "LUCI CQ",
        "email": "infra-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Wed Mar 25 10:47:43 2026"
      },
      "message": "siso: reject tab indentation in build files\n\nNinja only accepts spaces for indentation in rule, build, and pool\nblocks. Siso\u0027s chunk parser previously accepted both spaces and tabs.\n\nSplit the `case \u0027 \u0027, \u0027\\t\u0027:` branch in parseChunk into separate cases:\ntabs now produce a clear \"tabs are not allowed, use spaces\" error.\nTabs within variable values (e.g. after $\\n line continuations) are\nunaffected since findNextLine folds those into the preceding line.\n\nE2E tests from crrev.com/c/7691709:\n- Fixed: t0040-error-tabs\n\nChange-Id: Iedda9cbf4e3f81a17184c56ca2b8074c0c6def7e\nReviewed-on: https://chromium-review.googlesource.com/c/build/+/7692419\nReviewed-by: Fumitoshi Ukai \u003cukai@google.com\u003e\nCommit-Queue: Philipp Wollermann \u003cphilwo@google.com\u003e\n"
    },
    {
      "commit": "d377d391ecda2328e7ab67888c4566a94a6376fe",
      "tree": "d1eeb5f0841e53b73fba44be5bd9117ca46a1ada",
      "parents": [
        "56cd5bbe104a949252e643693fffd041b8ee45c3"
      ],
      "author": {
        "name": "Philipp Wollermann",
        "email": "philwo@google.com",
        "time": "Wed Mar 25 08:49:35 2026"
      },
      "committer": {
        "name": "LUCI CQ",
        "email": "infra-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Wed Mar 25 08:49:35 2026"
      },
      "message": "siso: fix index out of range panic in file_parser\n\nThe condition `if i \u003c len(p.chunks)` should be `if i+1 \u003c len(p.chunks)`\nsince the body accesses `p.chunks[i+1]`. When any chunk contained an\ninclude statement and the loop reached the last chunk, this caused a\nslice index out-of-bounds panic in file_parser.go:280.\n\nE2E tests from crrev.com/c/7691709:\n- Progress towards fixing: t0030-syntax-include\n- Progress towards fixing: t0031-syntax-subninja\n- Fixed: t0045-error-include-cycle\n- Fixed: t0047-error-duplicate-edge-include\n\nBUG\u003d428883433\n\nChange-Id: I8972fd44581a2939bdca1789e6ef1ba757c5af69\nReviewed-on: https://chromium-review.googlesource.com/c/build/+/7692413\nReviewed-by: Takuto Ikuta \u003ctikuta@chromium.org\u003e\nCommit-Queue: Philipp Wollermann \u003cphilwo@google.com\u003e\nReviewed-by: Fumitoshi Ukai \u003cukai@google.com\u003e\nReviewed-by: Yuke Liao \u003cliaoyuke@google.com\u003e\n"
    },
    {
      "commit": "56cd5bbe104a949252e643693fffd041b8ee45c3",
      "tree": "0daf2fb3c48f258066532da09a7050ab85aacef3",
      "parents": [
        "b44593f9e69d63d77e4e04c78decab5e404a1e8e"
      ],
      "author": {
        "name": "Philipp Wollermann",
        "email": "philwo@google.com",
        "time": "Wed Mar 25 08:26:32 2026"
      },
      "committer": {
        "name": "LUCI CQ",
        "email": "infra-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Wed Mar 25 08:26:32 2026"
      },
      "message": "siso: save valid state after build with corrupted fs state file\n\nWhen .siso_fs_state is corrupted (garbage data, truncated, etc.),\nsiso correctly falls back to a full non-incremental rebuild. However,\nit never saves a new valid state file afterward, because SetState()\nwas only called when loadErr was nil — leaving the `loaded` flag\nfalse and causing Close() to skip the save. This means the corrupted\nfile persists forever, and every subsequent build is a full rebuild.\n\nFix this by always calling SetState(), not just when the state file\nloaded successfully. Journal reconciliation is still skipped when the\nstate was corrupted (no valid base state to apply it to), but now\nSetState() runs unconditionally so Close() can save a fresh state\nfile after a successful build. The next build can then proceed\nincrementally as expected.\n\nE2E tests from crrev.com/c/7691709:\n- Fixed: t0185-state-corrupt-fs-state-garbage\n- Fixed: t0186-state-corrupt-fs-state-truncated\n\nChange-Id: I359e5126b2d58423137ce5a622b20a6f57d7bd5a\nReviewed-on: https://chromium-review.googlesource.com/c/build/+/7691711\nReviewed-by: Junji Watanabe \u003cjwata@google.com\u003e\nReviewed-by: Yuke Liao \u003cliaoyuke@google.com\u003e\nCommit-Queue: Philipp Wollermann \u003cphilwo@google.com\u003e\n"
    },
    {
      "commit": "b44593f9e69d63d77e4e04c78decab5e404a1e8e",
      "tree": "5531c6c882c6e26a9e7e6407d5889fe3c9ddbc0b",
      "parents": [
        "45570b7cc0587c7d14b95119171ef236e40dcd7c"
      ],
      "author": {
        "name": "Fumitoshi Ukai",
        "email": "ukai@google.com",
        "time": "Wed Mar 25 07:51:19 2026"
      },
      "committer": {
        "name": "LUCI CQ",
        "email": "infra-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Wed Mar 25 07:51:19 2026"
      },
      "message": "siso: don\u0027t create intermediate dir for fs.ErrNotExist leaf\n\nWhen new file is checked and it doesn\u0027t exist locally (fs.ErrNotExist),\nno need to store an intermediate dir as existing directory\nif the intermediate dir doesn\u0027t exist, but store the intermediate dir\nas not existing entry, so it might have race to construct\ndifferent input tree, observed like b/455446876\n\nFix RetrieveUpdateEntriesFromLocal for this change to invalidate\nnon existing intermediate directory, so it can detect new files\ncreated locally. Otherwise, TestUpdate_FromLocal_Dir will fail.\n\nChange-Id: I0cb44f225bfa14f3740495fc330e6ecc3769ceca\nReviewed-on: https://chromium-review.googlesource.com/c/build/+/7695575\nReviewed-by: Yuke Liao \u003cliaoyuke@google.com\u003e\nAuto-Submit: Fumitoshi Ukai \u003cukai@google.com\u003e\nReviewed-by: Junji Watanabe \u003cjwata@google.com\u003e\nCommit-Queue: Fumitoshi Ukai \u003cukai@google.com\u003e\n"
    },
    {
      "commit": "45570b7cc0587c7d14b95119171ef236e40dcd7c",
      "tree": "b6719a02fd0cbfa798ea25b9de4f3c4caee65623",
      "parents": [
        "bb09d15a909eb8c8eeaebf9560594125a821a197"
      ],
      "author": {
        "name": "Richard Wang",
        "email": "richardwa@google.com",
        "time": "Wed Mar 25 02:37:48 2026"
      },
      "committer": {
        "name": "LUCI CQ",
        "email": "infra-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Wed Mar 25 02:37:48 2026"
      },
      "message": "gong: Subsume ProgrammaticProvider into scope exec context\n\nConceptually small refactor but large number of changes, because\nresolve.NewScope is heavily used in the codebase\n\nBug: b/491999131\nChange-Id: I6e2443cec6cc952a9d9c61ae8bddf8c96a6a6964\nReviewed-on: https://chromium-review.googlesource.com/c/build/+/7698571\nCommit-Queue: Richard Wang \u003crichardwa@google.com\u003e\nReviewed-by: Alex Ovsienko \u003covsienko@google.com\u003e\n"
    },
    {
      "commit": "bb09d15a909eb8c8eeaebf9560594125a821a197",
      "tree": "f83894aeb8d7a2d1063a87d67b3fd09a508aa6f5",
      "parents": [
        "0be0c8a9b1888f04e1b69d6e3063b39d60e90510"
      ],
      "author": {
        "name": "Richard Wang",
        "email": "richardwa@google.com",
        "time": "Tue Mar 24 10:24:54 2026"
      },
      "committer": {
        "name": "LUCI CQ",
        "email": "infra-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Tue Mar 24 10:24:54 2026"
      },
      "message": "gong: Implement initial template() support\n\nBug: b/491999131\nChange-Id: I29ce586e982b1a0673ef3c39c539ede16a6a6964\nReviewed-on: https://chromium-review.googlesource.com/c/build/+/7695584\nCommit-Queue: Richard Wang \u003crichardwa@google.com\u003e\nReviewed-by: Fumitoshi Ukai \u003cukai@google.com\u003e\n"
    },
    {
      "commit": "0be0c8a9b1888f04e1b69d6e3063b39d60e90510",
      "tree": "66b3fd34fe962bf068b5d5ccc40982ddfb6a7d54",
      "parents": [
        "30a3dd6125b89aeb44a60c4fcaf83d92ef38508d"
      ],
      "author": {
        "name": "Philipp Wollermann",
        "email": "philwo@google.com",
        "time": "Tue Mar 24 07:06:31 2026"
      },
      "committer": {
        "name": "LUCI CQ",
        "email": "infra-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Tue Mar 24 07:06:31 2026"
      },
      "message": "siso: fix panic in UpdateFilegroups with nil InputDeps\n\nUpdateFilegroups calls maps.Copy into sc.InputDeps, which panics\nwhen InputDeps is nil. This happens when the Starlark config defines\nfilegroups but the step_config JSON has no \"input_deps\" key, since\njson.Unmarshal leaves the map nil with `omitempty`.\n\nFix by initializing the map if nil, and change the receiver from\nvalue to pointer so the initialization is visible to the caller.\n\nE2E tests from crrev.com/c/7691709:\n- Fixed: t0183-state-delete-filegroups\n\nChange-Id: I1d65311430f56efd4ebb3c46788f7bfebb093b15\nReviewed-on: https://chromium-review.googlesource.com/c/build/+/7691710\nReviewed-by: Fumitoshi Ukai \u003cukai@google.com\u003e\nCommit-Queue: Philipp Wollermann \u003cphilwo@google.com\u003e\nReviewed-by: Takuto Ikuta \u003ctikuta@chromium.org\u003e\n"
    },
    {
      "commit": "30a3dd6125b89aeb44a60c4fcaf83d92ef38508d",
      "tree": "5a2fafdf7476e15b851600e723e0305b76c2c353",
      "parents": [
        "b940669196c27d261c9f16906da7aaebff64fe78"
      ],
      "author": {
        "name": "Philipp Wollermann",
        "email": "philwo@google.com",
        "time": "Tue Mar 24 06:00:49 2026"
      },
      "committer": {
        "name": "LUCI CQ",
        "email": "infra-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Tue Mar 24 06:00:49 2026"
      },
      "message": "siso: introduce entry.isSymlink() to encapsulate symlink checks\n\nReplace direct `e.target !\u003d \"\"` comparisons with a new isSymlink()\nmethod for better readability and encapsulation.\n\nCredit goes to nerima@ for suggesting this in a recent discussion,\nthanks!\n\nChange-Id: I512e48aa9206a5b16f6e541a4545b0df38ef3fda\nReviewed-on: https://chromium-review.googlesource.com/c/build/+/7691708\nCommit-Queue: Philipp Wollermann \u003cphilwo@google.com\u003e\nReviewed-by: Fumitoshi Ukai \u003cukai@google.com\u003e\n"
    },
    {
      "commit": "b940669196c27d261c9f16906da7aaebff64fe78",
      "tree": "62e28c4f54f4718b10239b1b5b804dd3940b76ed",
      "parents": [
        "dc6932fd65ce0b4ffbd5836c41910f56389a1dd2"
      ],
      "author": {
        "name": "Fumitoshi Ukai",
        "email": "ukai@google.com",
        "time": "Tue Mar 24 00:55:54 2026"
      },
      "committer": {
        "name": "LUCI CQ",
        "email": "infra-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Tue Mar 24 00:55:54 2026"
      },
      "message": "siso: don\u0027t create intermediate dir for notExist entry\n\nIntermediate dir will be created only when storing new entry.\nBut for notExist entry, no need to create intermediate dir\nif the intermediate dir is already known to not exist.\nwhen lookup, if intermediate dir has ErrNotExist, entry\nshould be ErrNotExist too.\n\nBug: b/455446876\nChange-Id: I6a127888aee49f3b46c6929dd3364418346811d1\nReviewed-on: https://chromium-review.googlesource.com/c/build/+/7678130\nReviewed-by: Yuke Liao \u003cliaoyuke@google.com\u003e\nAuto-Submit: Fumitoshi Ukai \u003cukai@google.com\u003e\nCommit-Queue: Fumitoshi Ukai \u003cukai@google.com\u003e\nReviewed-by: Philipp Wollermann \u003cphilwo@google.com\u003e\n"
    },
    {
      "commit": "dc6932fd65ce0b4ffbd5836c41910f56389a1dd2",
      "tree": "93a708c738bec1674050d34b66f3e3df45d6bc0c",
      "parents": [
        "7c5859ba6e7e040a8f92f9941a28b69f9c457e51"
      ],
      "author": {
        "name": "Fumitoshi Ukai",
        "email": "ukai@google.com",
        "time": "Mon Mar 23 04:46:48 2026"
      },
      "committer": {
        "name": "LUCI CQ",
        "email": "infra-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Mon Mar 23 04:46:48 2026"
      },
      "message": "siso: recall print timestamp in execution metadata\n\nit would be useful to show timestamp in execution metadata,\nand gap between stages on worker.\ne.g.\nhttps://buganizer.corp.google.com/issues/494101980#comment14\n\nChange-Id: I8cc5bdc742daee98ea1f7b97f32ffabb99201639\nReviewed-on: https://chromium-review.googlesource.com/c/build/+/7691881\nAuto-Submit: Fumitoshi Ukai \u003cukai@google.com\u003e\nReviewed-by: Junji Watanabe \u003cjwata@google.com\u003e\nCommit-Queue: Fumitoshi Ukai \u003cukai@google.com\u003e\n"
    },
    {
      "commit": "7c5859ba6e7e040a8f92f9941a28b69f9c457e51",
      "tree": "07091cc309dfddc125e1cbb1fdb724eb50ac9b65",
      "parents": [
        "4fc44842d84582995d68034d17f3316b313d86f4"
      ],
      "author": {
        "name": "Fumitoshi Ukai",
        "email": "ukai@google.com",
        "time": "Mon Mar 23 03:09:52 2026"
      },
      "committer": {
        "name": "LUCI CQ",
        "email": "infra-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Mon Mar 23 03:09:52 2026"
      },
      "message": "siso: roll protoc from v34.0 to v34.1\n\nhttps://github.com/protocolbuffers/protobuf/releases/tag/v34.1\n\nChange-Id: I52d879dc12d2267486a1e4e4a9c5fa7ea76fa462\nReviewed-on: https://chromium-review.googlesource.com/c/build/+/7691882\nReviewed-by: Yuke Liao \u003cliaoyuke@google.com\u003e\nAuto-Submit: Fumitoshi Ukai \u003cukai@google.com\u003e\nCommit-Queue: Yuke Liao \u003cliaoyuke@google.com\u003e\n"
    },
    {
      "commit": "4fc44842d84582995d68034d17f3316b313d86f4",
      "tree": "37168f587dae564fb8f0e71ea600be80bb2bf5ea",
      "parents": [
        "250fa52888fc4957bdeb6b7643c2817a5ecf6350"
      ],
      "author": {
        "name": "Fumitoshi Ukai",
        "email": "ukai@google.com",
        "time": "Mon Mar 23 03:09:00 2026"
      },
      "committer": {
        "name": "LUCI CQ",
        "email": "infra-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Mon Mar 23 03:09:00 2026"
      },
      "message": "roll github.com/klauspost/compress from v1.18.4 to v1.18.5\n\nhttps://github.com/klauspost/compress/releases/tag/v1.18.5\n\nChange-Id: I94b061744b0c419794aa3ced6d276ec49ee1e522\nReviewed-on: https://chromium-review.googlesource.com/c/build/+/7692515\nCommit-Queue: Yuke Liao \u003cliaoyuke@google.com\u003e\nReviewed-by: Yuke Liao \u003cliaoyuke@google.com\u003e\nAuto-Submit: Fumitoshi Ukai \u003cukai@google.com\u003e\n"
    },
    {
      "commit": "250fa52888fc4957bdeb6b7643c2817a5ecf6350",
      "tree": "bde9da85f819f739da91b5c3a61b8551c633e529",
      "parents": [
        "c556e3466a70cfe14ce7c5bcdfce66709df752e5"
      ],
      "author": {
        "name": "Fumitoshi Ukai",
        "email": "ukai@google.com",
        "time": "Mon Mar 23 02:00:16 2026"
      },
      "committer": {
        "name": "LUCI CQ",
        "email": "infra-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Mon Mar 23 02:00:16 2026"
      },
      "message": "siso: update version string to v1.5.8\n\nv1.5.7 has been rolled out as pinned version at\ngit_revision:87bad442ede1c60700dfabef5862c4a584621734\nhttps://crrev.com/c/7672798\n\nBug: b/493039424\nChange-Id: Ia6b74b02f7aae7bd3628f72e620d3cb09050697d\nReviewed-on: https://chromium-review.googlesource.com/c/build/+/7692297\nReviewed-by: Philipp Wollermann \u003cphilwo@google.com\u003e\nCommit-Queue: Fumitoshi Ukai \u003cukai@google.com\u003e\n"
    },
    {
      "commit": "c556e3466a70cfe14ce7c5bcdfce66709df752e5",
      "tree": "dc17bb3e55b398b947193953270fd3a61edcaba2",
      "parents": [
        "727779015293d29e5ae68a3b1a7445225bfec7c5"
      ],
      "author": {
        "name": "Richard Wang",
        "email": "richardwa@google.com",
        "time": "Thu Mar 19 08:12:24 2026"
      },
      "committer": {
        "name": "LUCI CQ",
        "email": "infra-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Thu Mar 19 08:12:24 2026"
      },
      "message": "gong: Initial implementation of script declarations\n\nWriting ninja is left for a followup\n\nBug: b/492000541\nChange-Id: Ic7ebf2afbf6f3dd665408e2c3bdc625a6a6a6964\nReviewed-on: https://chromium-review.googlesource.com/c/build/+/7683772\nCommit-Queue: Richard Wang \u003crichardwa@google.com\u003e\nReviewed-by: Fumitoshi Ukai \u003cukai@google.com\u003e\n"
    },
    {
      "commit": "727779015293d29e5ae68a3b1a7445225bfec7c5",
      "tree": "61a67b563614769bd842356abe05bbe6f02c2932",
      "parents": [
        "d64eeb94e88131373878b71b0096615b60057893"
      ],
      "author": {
        "name": "Richard Wang",
        "email": "richardwa@google.com",
        "time": "Thu Mar 19 07:55:17 2026"
      },
      "committer": {
        "name": "LUCI CQ",
        "email": "infra-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Thu Mar 19 07:55:17 2026"
      },
      "message": "gong: clean up buildfile function map\n\nChange-Id: I5b05675ddee643f023a0e141ed6dc7266a6a6964\nReviewed-on: https://chromium-review.googlesource.com/c/build/+/7683650\nReviewed-by: Fumitoshi Ukai \u003cukai@google.com\u003e\nCommit-Queue: Richard Wang \u003crichardwa@google.com\u003e\n"
    },
    {
      "commit": "d64eeb94e88131373878b71b0096615b60057893",
      "tree": "73aee9e5e57667c8b071f9ee3b12f9b202f355c2",
      "parents": [
        "3fe615207923890acff948ce78ab671f764279f2"
      ],
      "author": {
        "name": "Richard Wang",
        "email": "richardwa@google.com",
        "time": "Thu Mar 19 07:05:07 2026"
      },
      "committer": {
        "name": "LUCI CQ",
        "email": "infra-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Thu Mar 19 07:05:07 2026"
      },
      "message": "gong: Target resolvers need to be able to access lists of strings\n\naction() uses this, though its actual implementation is left for a\nfollowup.\n\nBug: b/492000541\nChange-Id: Ic73524a1f0a26e6658da9659216d241a6a6a6964\nReviewed-on: https://chromium-review.googlesource.com/c/build/+/7683651\nCommit-Queue: Richard Wang \u003crichardwa@google.com\u003e\nReviewed-by: Alex Ovsienko \u003covsienko@google.com\u003e\n"
    },
    {
      "commit": "3fe615207923890acff948ce78ab671f764279f2",
      "tree": "7a8fcdf1c96c5f8e24cc8523f8b9d81dc7ac4421",
      "parents": [
        "2d83193f5742e2c4281f59bc9a8c7c61f68da6d1"
      ],
      "author": {
        "name": "Richard Wang",
        "email": "richardwa@google.com",
        "time": "Thu Mar 19 06:18:06 2026"
      },
      "committer": {
        "name": "LUCI CQ",
        "email": "infra-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Thu Mar 19 06:18:06 2026"
      },
      "message": "gong: add support for bool vars to implement output_prefix_override\n\nNormally library targets will prefix \"lib\" e.g. foo -\u003e libfoo for their\nartifacts, but this can be disabled with output_prefix_override\n\nBug: b/492000541\nChange-Id: Ieb918503e4478954c98659a3ce93e22e6a6a6964\nReviewed-on: https://chromium-review.googlesource.com/c/build/+/7683771\nReviewed-by: Alex Ovsienko \u003covsienko@google.com\u003e\nCommit-Queue: Richard Wang \u003crichardwa@google.com\u003e\n"
    },
    {
      "commit": "2d83193f5742e2c4281f59bc9a8c7c61f68da6d1",
      "tree": "3257dbbb94fb272dc9cb3b63133a7a6259afded5",
      "parents": [
        "87bad442ede1c60700dfabef5862c4a584621734"
      ],
      "author": {
        "name": "Richard Wang",
        "email": "richardwa@google.com",
        "time": "Thu Mar 19 05:13:19 2026"
      },
      "committer": {
        "name": "LUCI CQ",
        "email": "infra-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Thu Mar 19 05:13:19 2026"
      },
      "message": "gong: clean up obsolete warning in rebase_path and add another test\n\nBug: b/491999131, b/492000541\nChange-Id: I95e164bfa8c3aa879aee3d9285210f816a6a6964\nReviewed-on: https://chromium-review.googlesource.com/c/build/+/7665833\nCommit-Queue: Alex Ovsienko \u003covsienko@google.com\u003e\nReviewed-by: Alex Ovsienko \u003covsienko@google.com\u003e\n"
    },
    {
      "commit": "87bad442ede1c60700dfabef5862c4a584621734",
      "tree": "e4f169c78e965b15866a627ae0cd1c846df0a163",
      "parents": [
        "0d4de2a5c43c6f5fd2b22604648ca3cdfcb75d51"
      ],
      "author": {
        "name": "Neri Marschik",
        "email": "nerima@google.com",
        "time": "Thu Mar 19 00:39:15 2026"
      },
      "committer": {
        "name": "LUCI CQ",
        "email": "infra-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Thu Mar 19 00:39:15 2026"
      },
      "message": "siso: fix race resolving intermediate directories in hashfs\n\nWhen traversing paths concurrently, if one goroutine caches a\nfs.ErrNotExist for an intermediate path, another goroutine trying to\nlazily create that path as a virtual directory could receive the error\nentry from LoadOrStore and fail with \u0027store resolve next dir ... failed\u0027.\n\nThis wraps the LoadOrStore for directory creation in nextDir with a loop\nthat replaces concurrently inserted error entries, ensuring the virtual\ndirectory creation can safely succeed.\n\nBug: 492014037\nChange-Id: Ic8a76bca295291b9033d9ce31e4eb96f1bf67a07\nReviewed-on: https://chromium-review.googlesource.com/c/build/+/7666541\nReviewed-by: Fumitoshi Ukai \u003cukai@google.com\u003e\nAuto-Submit: Neri Marschik \u003cnerima@google.com\u003e\nCommit-Queue: Neri Marschik \u003cnerima@google.com\u003e\n"
    },
    {
      "commit": "0d4de2a5c43c6f5fd2b22604648ca3cdfcb75d51",
      "tree": "be549e7d8223f35094b221803998164985748872",
      "parents": [
        "42b36cfe8b50cc3510b6ad1159885877bebf2bd9"
      ],
      "author": {
        "name": "Richard Wang",
        "email": "richardwa@google.com",
        "time": "Wed Mar 18 07:56:37 2026"
      },
      "committer": {
        "name": "LUCI CQ",
        "email": "infra-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Wed Mar 18 07:56:37 2026"
      },
      "message": "gong: Implement filter_include and filter_exclude\n\nBug: b/491999131\nChange-Id: I9b3fe3881524c0a7d5f6d24c09e6c9a06a6a6964\nReviewed-on: https://chromium-review.googlesource.com/c/build/+/7675227\nReviewed-by: Fumitoshi Ukai \u003cukai@google.com\u003e\nCommit-Queue: Richard Wang \u003crichardwa@google.com\u003e\n"
    },
    {
      "commit": "42b36cfe8b50cc3510b6ad1159885877bebf2bd9",
      "tree": "dd9e8bd5ed124571b0fc36ad9ae53e0f22198f35",
      "parents": [
        "2bf371e5696fe76d846b4c83ee915280d5011774"
      ],
      "author": {
        "name": "Yuke Liao",
        "email": "liaoyuke@google.com",
        "time": "Wed Mar 18 07:52:12 2026"
      },
      "committer": {
        "name": "LUCI CQ",
        "email": "infra-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Wed Mar 18 07:52:12 2026"
      },
      "message": "siso: parallelize HashFS initialization with config and ninja parsing\n\nMoved `hashFS.WaitReady()` from `NewStepConfig` into `Run` to allow\nStarlark and Ninja manifest parsing to execute concurrently with the\nbackground directory scan. To avoid race conditions or blocking during\nparsing, `NewStepConfig` now uses a temporary, isolated `hashfs.HashFS`\nspecifically for reading CPU-bound configuration inputs and updating\nfilegroups.\n\nDiscarding this temporary HashFS after completion keeps the solution\nsafe and efficient.\n\nBug: b/254182269\nChange-Id: I6f68e245963cd5e0114c6a986e03101c8d034eab\nReviewed-on: https://chromium-review.googlesource.com/c/build/+/7665401\nReviewed-by: Fumitoshi Ukai \u003cukai@google.com\u003e\nCommit-Queue: Yuke Liao \u003cliaoyuke@google.com\u003e\n"
    },
    {
      "commit": "2bf371e5696fe76d846b4c83ee915280d5011774",
      "tree": "122b5fe2e36dc1fa024cc3013fffec2e4747be36",
      "parents": [
        "94d491ed4c6784f61dbbfe91141dda55c2b69557"
      ],
      "author": {
        "name": "Richard Wang",
        "email": "richardwa@google.com",
        "time": "Wed Mar 18 07:49:06 2026"
      },
      "committer": {
        "name": "LUCI CQ",
        "email": "infra-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Wed Mar 18 07:49:06 2026"
      },
      "message": "gong: File patterns\n\nTest cases ported from\nhttps://source.chromium.org/gn/gn/+/main:src/gn/pattern_unittest.cc;l\u003d24-63;drc\u003d85999e373ecd67856f283cdb79052697bca694a3\n\nBug: b/491999131\nChange-Id: I97eb5289c7ebd141a2c5e9a2624139336a6a6964\nReviewed-on: https://chromium-review.googlesource.com/c/build/+/7674142\nReviewed-by: Fumitoshi Ukai \u003cukai@google.com\u003e\nCommit-Queue: Richard Wang \u003crichardwa@google.com\u003e\n"
    },
    {
      "commit": "94d491ed4c6784f61dbbfe91141dda55c2b69557",
      "tree": "775bab55a13d18987d9d6a0bd141a1b4102792c5",
      "parents": [
        "a44ae99c83bccdc940907549d7bf42fa23fdf7d1"
      ],
      "author": {
        "name": "Richard Wang",
        "email": "richardwa@google.com",
        "time": "Wed Mar 18 07:23:41 2026"
      },
      "committer": {
        "name": "LUCI CQ",
        "email": "infra-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Wed Mar 18 07:23:41 2026"
      },
      "message": "gong: Implement len\n\nBug: b/491999131\nChange-Id: Id976af2e9140361ee46b874a1d7866c36a6a6964\nReviewed-on: https://chromium-review.googlesource.com/c/build/+/7675226\nReviewed-by: Alex Ovsienko \u003covsienko@google.com\u003e\nCommit-Queue: Richard Wang \u003crichardwa@google.com\u003e\n"
    },
    {
      "commit": "a44ae99c83bccdc940907549d7bf42fa23fdf7d1",
      "tree": "86a30378ba338719ffd96231b8090ec8c647b335",
      "parents": [
        "8a0460d150aaa8305075410b44992e5c0c401aa7"
      ],
      "author": {
        "name": "Fumitoshi Ukai",
        "email": "ukai@google.com",
        "time": "Wed Mar 18 05:35:47 2026"
      },
      "committer": {
        "name": "LUCI CQ",
        "email": "infra-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Wed Mar 18 05:35:47 2026"
      },
      "message": "siso: fix for stepConfig.Scandeps migration\n\nregression in commit 9e43230d94f6f55d3fc18d6c53bcfe635f12b5a6\n\nneed to use stepConfig.Scandeps for InputsRequiringClang and ClangScandeps\n\nBug: b/490906618\nChange-Id: I6e92b83748fd274c5e46afa47294e38c7b49cc7c\nReviewed-on: https://chromium-review.googlesource.com/c/build/+/7677458\nCommit-Queue: Neri Marschik \u003cnerima@google.com\u003e\nReviewed-by: Neri Marschik \u003cnerima@google.com\u003e\nAuto-Submit: Fumitoshi Ukai \u003cukai@google.com\u003e\n"
    },
    {
      "commit": "8a0460d150aaa8305075410b44992e5c0c401aa7",
      "tree": "d5fe471080c17f310b28d770607fdbb2f723fbca",
      "parents": [
        "055270443e927a572de13099bf98f0cbb28923c0"
      ],
      "author": {
        "name": "Takuto Ikuta",
        "email": "tikuta@google.com",
        "time": "Wed Mar 18 05:22:30 2026"
      },
      "committer": {
        "name": "LUCI CQ",
        "email": "infra-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Wed Mar 18 05:22:30 2026"
      },
      "message": "test: isolate e2etests to subprocesses for parallel execution\n\nThis CL injects a \u0027runInSubProcess\u0027 wrapper into all ninja e2etests. By\nspawning a subprocess per test via t.Parallel(), tests can safely call\nos.Chdir without polluting other tests. This reduces execution time from\n~16s to ~6.2s locally.\n\nIt also safely isolates test output files (like -test.cpuprofile and\n-test.outputdir) by appending the test name to the specified paths,\npreventing concurrent write corruption.\n\nYou can run tests serially without subprocesses by setting the\n-siso-test-serial flag.\n\nBug: 475385209\nChange-Id: I77d9d5a7ae7a711771c3af057496643b2b6be98f\nReviewed-on: https://chromium-review.googlesource.com/c/build/+/7637957\nReviewed-by: Fumitoshi Ukai \u003cukai@google.com\u003e\nCommit-Queue: Takuto Ikuta \u003ctikuta@chromium.org\u003e\n"
    },
    {
      "commit": "055270443e927a572de13099bf98f0cbb28923c0",
      "tree": "a05f0fcba95007adc289eabddca46365f8504ee7",
      "parents": [
        "9e3112eb58231b3bd0bb2ad44f5e0ce36286ee41"
      ],
      "author": {
        "name": "Richard Wang",
        "email": "richardwa@google.com",
        "time": "Wed Mar 18 04:13:54 2026"
      },
      "committer": {
        "name": "LUCI CQ",
        "email": "infra-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Wed Mar 18 04:13:54 2026"
      },
      "message": "gong: rebase_path needs to preserve whether there was trailing slash\n\nBug: b/491999131, b/492000541\nChange-Id: Ib8b88ce0e0e28a832f2c82dbf3ccef5e6a6a6964\nReviewed-on: https://chromium-review.googlesource.com/c/build/+/7672957\nCommit-Queue: Richard Wang \u003crichardwa@google.com\u003e\nReviewed-by: Alex Ovsienko \u003covsienko@google.com\u003e\n"
    },
    {
      "commit": "9e3112eb58231b3bd0bb2ad44f5e0ce36286ee41",
      "tree": "b7cbbded33fb95c97d2e8fd72ff94d87d1ba51ae",
      "parents": [
        "f79c16b083cae7837139a67ea9725e3d8d7c4304"
      ],
      "author": {
        "name": "Fumitoshi Ukai",
        "email": "ukai@google.com",
        "time": "Wed Mar 18 02:20:47 2026"
      },
      "committer": {
        "name": "LUCI CQ",
        "email": "infra-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Wed Mar 18 02:20:47 2026"
      },
      "message": "runmc: drop CPUAccounting\u003dyes\n\nD-Bus property CPUAccounting is deprecated, ignoring assignment: CPUAccounting\u003dyes\n\nCPUAccounting is always enabled on cgroup v2,\nso it is no longer needed.\n\nChange-Id: I0c62f9b6f0fb3ef9d27ff03a129572a949e1df67\nReviewed-on: https://chromium-review.googlesource.com/c/build/+/7672924\nReviewed-by: Philipp Wollermann \u003cphilwo@google.com\u003e\nCommit-Queue: Philipp Wollermann \u003cphilwo@google.com\u003e\nAuto-Submit: Fumitoshi Ukai \u003cukai@google.com\u003e\nReviewed-by: Junji Watanabe \u003cjwata@google.com\u003e\n"
    },
    {
      "commit": "f79c16b083cae7837139a67ea9725e3d8d7c4304",
      "tree": "60bcb26883bf8231cc1b668d86d462bc0bb06917",
      "parents": [
        "e0857df084f378dba8a40de540cd5c18a2fea08d"
      ],
      "author": {
        "name": "Fumitoshi Ukai",
        "email": "ukai@google.com",
        "time": "Wed Mar 18 01:11:03 2026"
      },
      "committer": {
        "name": "LUCI CQ",
        "email": "infra-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Wed Mar 18 01:11:03 2026"
      },
      "message": "siso: stepConfig.Init before writing .step_config\n\nstepConfig.Init may fix stepConfig for scandeps.\nbetter to Init before writing .step_config to see\nactual stepConfig that siso uses.\n\nBug: b/490906618\nChange-Id: Ie9591c62815ab82b20066e6572e6db43d1aa864e\nReviewed-on: https://chromium-review.googlesource.com/c/build/+/7673159\nAuto-Submit: Fumitoshi Ukai \u003cukai@google.com\u003e\nReviewed-by: Yuke Liao \u003cliaoyuke@google.com\u003e\nCommit-Queue: Fumitoshi Ukai \u003cukai@google.com\u003e\nCommit-Queue: Yuke Liao \u003cliaoyuke@google.com\u003e\n"
    },
    {
      "commit": "e0857df084f378dba8a40de540cd5c18a2fea08d",
      "tree": "41fecb4568e99e250cdaeff3d12ab5fef4b7d33d",
      "parents": [
        "a21db617051373522662c305a9d9c423d2a581f2"
      ],
      "author": {
        "name": "Fumitoshi Ukai",
        "email": "ukai@google.com",
        "time": "Wed Mar 18 00:59:01 2026"
      },
      "committer": {
        "name": "LUCI CQ",
        "email": "infra-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Wed Mar 18 00:59:01 2026"
      },
      "message": "roll google.golang.org/grpc from v1.79.2 to v1.79.3\n\nhttps://github.com/grpc/grpc-go/releases/tag/v1.79.3\n\nChange-Id: I387ffc9063a9700c8dad311ad8aff2537db21183\nReviewed-on: https://chromium-review.googlesource.com/c/build/+/7672923\nReviewed-by: Yuke Liao \u003cliaoyuke@google.com\u003e\nAuto-Submit: Fumitoshi Ukai \u003cukai@google.com\u003e\nCommit-Queue: Yuke Liao \u003cliaoyuke@google.com\u003e\n"
    },
    {
      "commit": "a21db617051373522662c305a9d9c423d2a581f2",
      "tree": "124a1285ac9f4ecd08ccb894f4df876395e98b82",
      "parents": [
        "9e43230d94f6f55d3fc18d6c53bcfe635f12b5a6"
      ],
      "author": {
        "name": "Richard Wang",
        "email": "richardwa@google.com",
        "time": "Tue Mar 17 08:50:06 2026"
      },
      "committer": {
        "name": "LUCI CQ",
        "email": "infra-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Tue Mar 17 08:50:06 2026"
      },
      "message": "gong: ninjawriter phony targets for default toolchain\n\nBug: b/492000541\nChange-Id: I9e123fecccf1dc76a85c3957370527406a6a6964\nReviewed-on: https://chromium-review.googlesource.com/c/build/+/7666006\nReviewed-by: Fumitoshi Ukai \u003cukai@google.com\u003e\nCommit-Queue: Richard Wang \u003crichardwa@google.com\u003e\n"
    },
    {
      "commit": "9e43230d94f6f55d3fc18d6c53bcfe635f12b5a6",
      "tree": "e6e04fa51625d66f851444c1db5a32b410758dee",
      "parents": [
        "f8401e34f80b7cf53cae706d7186f109b8176bc0"
      ],
      "author": {
        "name": "Fumitoshi Ukai",
        "email": "ukai@google.com",
        "time": "Tue Mar 17 08:09:22 2026"
      },
      "committer": {
        "name": "LUCI CQ",
        "email": "infra-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Tue Mar 17 08:09:22 2026"
      },
      "message": "siso: Introduce scandeps struct in step_config\n\nThis change introduces a scandeps struct in the step configuration to\ngroup settings related to dependency scanning. This improves\nconfiguration clarity by moving related fields into a single, dedicated\nstruct.\n\nThe new scandeps object includes:\n\n- inputs_requiring_clang (replaces inputs_requiring_clang_scandeps)\n- use_clang (replaces clang_scandeps)\n- step_inputs: A new path filter for step inputs to be used with\n  scandeps.\n\nFor backward compatibility, the top-level\ninputs_requiring_clang_scandeps and clang_scandeps fields are migrated\nto the new scandeps object during initialization. Using both the old and\nnew fields will result in an error.\n\nThe logic for determining the base inputs for dependency scanning is now\ncentralized in a new DepsBaseInputs method, which uses the new\nstep_inputs filter.\n\nBug: b/490906618\nChange-Id: Ib75a24617022722b5c23f6873184a3f88bc0ac7b\nReviewed-on: https://chromium-review.googlesource.com/c/build/+/7637345\nCommit-Queue: Junji Watanabe \u003cjwata@google.com\u003e\nAuto-Submit: Fumitoshi Ukai \u003cukai@google.com\u003e\nReviewed-by: Junji Watanabe \u003cjwata@google.com\u003e\nReviewed-by: Matt Stark \u003cmsta@google.com\u003e\n"
    },
    {
      "commit": "f8401e34f80b7cf53cae706d7186f109b8176bc0",
      "tree": "12ba639c99ddb831e07dc1c6145169e52a92fa33",
      "parents": [
        "25ea5f9fb3d0e415ee122487556c1f06e1a429ac"
      ],
      "author": {
        "name": "Richard Wang",
        "email": "richardwa@google.com",
        "time": "Tue Mar 17 07:45:42 2026"
      },
      "committer": {
        "name": "LUCI CQ",
        "email": "infra-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Tue Mar 17 07:45:42 2026"
      },
      "message": "gong: Implement .gni import logic, import error display\n\nBug: b/491999131, b/491999796\nChange-Id: Ic1f6ab7ed4800be6db55732fef53b2da6a6a6964\nReviewed-on: https://chromium-review.googlesource.com/c/build/+/7652276\nReviewed-by: Fumitoshi Ukai \u003cukai@google.com\u003e\nCommit-Queue: Richard Wang \u003crichardwa@google.com\u003e\n"
    },
    {
      "commit": "25ea5f9fb3d0e415ee122487556c1f06e1a429ac",
      "tree": "1c0490a46f24bdf57ec5f03bb256d95cd25ec03b",
      "parents": [
        "09a11e7dbc3414a2061fdc5423c6a5de5c9a944c"
      ],
      "author": {
        "name": "Richard Wang",
        "email": "richardwa@google.com",
        "time": "Tue Mar 17 03:24:58 2026"
      },
      "committer": {
        "name": "LUCI CQ",
        "email": "infra-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Tue Mar 17 03:24:58 2026"
      },
      "message": "gong: Support overriding current dir in rebase_path\n\nThis is the third arg in rebase_path which was not supported previously,\ni.e.\n\n    rebase_path(in, \"\", \"//\")   # rebase as if we were at //\n    rebase_path(in, \"\", \"foo/\") # rebase as if we were at ./foo/\n\nBug: b/491999131, b/492000541\nChange-Id: I45d71019f9f153b3d3193a4b2ff862e86a6a6964\nReviewed-on: https://chromium-review.googlesource.com/c/build/+/7666005\nReviewed-by: Alex Ovsienko \u003covsienko@google.com\u003e\nCommit-Queue: Richard Wang \u003crichardwa@google.com\u003e\n"
    },
    {
      "commit": "09a11e7dbc3414a2061fdc5423c6a5de5c9a944c",
      "tree": "05f75b5ae2a9239e1ebe45df2eb1784a750a1f12",
      "parents": [
        "15b8d96e3ed1f4e72d7ebf39660bf7cf55187e13"
      ],
      "author": {
        "name": "Fumitoshi Ukai",
        "email": "ukai@google.com",
        "time": "Mon Mar 16 11:40:14 2026"
      },
      "committer": {
        "name": "LUCI CQ",
        "email": "infra-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Mon Mar 16 11:40:14 2026"
      },
      "message": "siso: refactor IndirectInputs as PathFilter\n\nPathFilter will be used for scandeps.step_inputs too.\nadd Exclude in PathFilter.\n\nBug: b/490906618\nChange-Id: I9d4f425a31830bf2803a61fb40c928610ac4ca7a\nReviewed-on: https://chromium-review.googlesource.com/c/build/+/7665098\nAuto-Submit: Fumitoshi Ukai \u003cukai@google.com\u003e\nCommit-Queue: Yuke Liao \u003cliaoyuke@google.com\u003e\nReviewed-by: Junji Watanabe \u003cjwata@google.com\u003e\nReviewed-by: Yuke Liao \u003cliaoyuke@google.com\u003e\n"
    },
    {
      "commit": "15b8d96e3ed1f4e72d7ebf39660bf7cf55187e13",
      "tree": "e78ad5d7adb6d066206f75f22d381851b0264651",
      "parents": [
        "fafac2d433d90d540b888eab8225f8c7124413cf"
      ],
      "author": {
        "name": "Richard Wang",
        "email": "richardwa@google.com",
        "time": "Mon Mar 16 09:12:19 2026"
      },
      "committer": {
        "name": "LUCI CQ",
        "email": "infra-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Mon Mar 16 09:12:19 2026"
      },
      "message": "gong: Support system-absolute rebase_path\n\nThis is triggered if the second arg in rebase_path is blank, i.e.\n\n    rebase_path(input)            # input is rel to ctx.sourceDir\n    rebase_path(input, \"\", \"//\")  # input is rel to // (not implemented)\n\nIt\u0027s different logic from the normal rebase path flow, so don\u0027t try and\ncontort it all into one function\n\nBug: b/491999131, b/492000541\nChange-Id: Iaedb9a8954102777d9f54529cb53b18c6a6a6964\nReviewed-on: https://chromium-review.googlesource.com/c/build/+/7665181\nReviewed-by: Alex Ovsienko \u003covsienko@google.com\u003e\nCommit-Queue: Richard Wang \u003crichardwa@google.com\u003e\n"
    },
    {
      "commit": "fafac2d433d90d540b888eab8225f8c7124413cf",
      "tree": "e7b2d73a6697e96b04339efc18b8fddfe7375bfc",
      "parents": [
        "7831ab92bdcdc6f26172de4678e9bf74832cfc0a"
      ],
      "author": {
        "name": "Richard Wang",
        "email": "richardwa@google.com",
        "time": "Mon Mar 16 08:55:32 2026"
      },
      "committer": {
        "name": "LUCI CQ",
        "email": "infra-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Mon Mar 16 08:55:32 2026"
      },
      "message": "gong: ninjawriter escape\n\nBug: b/492000541\nChange-Id: Ia691cf19d19ef6d1b5491fbfbd15734e6a6a6964\nReviewed-on: https://chromium-review.googlesource.com/c/build/+/7665125\nReviewed-by: Alex Ovsienko \u003covsienko@google.com\u003e\nCommit-Queue: Richard Wang \u003crichardwa@google.com\u003e\n"
    },
    {
      "commit": "7831ab92bdcdc6f26172de4678e9bf74832cfc0a",
      "tree": "1929ed436ac9671f343a74fc0cfce26966241782",
      "parents": [
        "ed2169e9c74ff17303c86283bf1d4c6b418e6e55"
      ],
      "author": {
        "name": "Richard Wang",
        "email": "richardwa@google.com",
        "time": "Mon Mar 16 08:41:23 2026"
      },
      "committer": {
        "name": "LUCI CQ",
        "email": "infra-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Mon Mar 16 08:41:23 2026"
      },
      "message": "gong: use mustSourceDir instead of ignoring err deliberately\n\nChange-Id: Ide7f45ad0434547f6ac72610dd1f77556a6a6964\nReviewed-on: https://chromium-review.googlesource.com/c/build/+/7666003\nReviewed-by: Fumitoshi Ukai \u003cukai@google.com\u003e\nCommit-Queue: Richard Wang \u003crichardwa@google.com\u003e\n"
    },
    {
      "commit": "ed2169e9c74ff17303c86283bf1d4c6b418e6e55",
      "tree": "c65e5762882da0af9fe67b5b0f878a0a4ce28fa1",
      "parents": [
        "6d5fb5c416cd09f708ebb2ca47b287b3845d1eab"
      ],
      "author": {
        "name": "Richard Wang",
        "email": "richardwa@google.com",
        "time": "Mon Mar 16 07:22:58 2026"
      },
      "committer": {
        "name": "LUCI CQ",
        "email": "infra-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Mon Mar 16 07:22:58 2026"
      },
      "message": "gong: extract helper for string_replace and string_split tests\n\nBug: b/491999131\nChange-Id: I666674e7fc553b1ac61f2e58f08128166a6a6964\nReviewed-on: https://chromium-review.googlesource.com/c/build/+/7665124\nReviewed-by: Fumitoshi Ukai \u003cukai@google.com\u003e\nCommit-Queue: Richard Wang \u003crichardwa@google.com\u003e\n"
    },
    {
      "commit": "6d5fb5c416cd09f708ebb2ca47b287b3845d1eab",
      "tree": "ebd934c276cb525554d06003c46b57dec2492839",
      "parents": [
        "21b10774b0b8f488831646cd91b37d7c02fede3a"
      ],
      "author": {
        "name": "Richard Wang",
        "email": "richardwa@google.com",
        "time": "Mon Mar 16 06:45:06 2026"
      },
      "committer": {
        "name": "LUCI CQ",
        "email": "infra-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Mon Mar 16 06:45:06 2026"
      },
      "message": "gong: Support list inputs to rebase_path\n\nBug: b/491999131\nChange-Id: Ib8b944e4509b05c4714a894c497142866a6a6964\nReviewed-on: https://chromium-review.googlesource.com/c/build/+/7665126\nCommit-Queue: Richard Wang \u003crichardwa@google.com\u003e\nReviewed-by: Alex Ovsienko \u003covsienko@google.com\u003e\n"
    },
    {
      "commit": "21b10774b0b8f488831646cd91b37d7c02fede3a",
      "tree": "d0773e3b0924f71065c49b97db7deb25a2197fcf",
      "parents": [
        "db47981588fca538aa211a2299f6138e8123b7a1"
      ],
      "author": {
        "name": "Richard Wang",
        "email": "richardwa@google.com",
        "time": "Mon Mar 16 06:32:39 2026"
      },
      "committer": {
        "name": "LUCI CQ",
        "email": "infra-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Mon Mar 16 06:32:39 2026"
      },
      "message": "gong: rebase_path follow C++ GN\u0027s logic for whether an arg is a dir\n\nBug: b/491999131, b/492000541\nChange-Id: Ic9ef266124c3f22e695fa77708a399106a6a6964\nReviewed-on: https://chromium-review.googlesource.com/c/build/+/7665834\nReviewed-by: Alex Ovsienko \u003covsienko@google.com\u003e\nCommit-Queue: Richard Wang \u003crichardwa@google.com\u003e\n"
    },
    {
      "commit": "db47981588fca538aa211a2299f6138e8123b7a1",
      "tree": "0057348ea418c343eaa6e96c70903be755793b26",
      "parents": [
        "95d646a6ca647cdab397ee9ea05efb23d2a87edb"
      ],
      "author": {
        "name": "Richard Wang",
        "email": "richardwa@google.com",
        "time": "Mon Mar 16 04:55:05 2026"
      },
      "committer": {
        "name": "LUCI CQ",
        "email": "infra-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Mon Mar 16 04:55:05 2026"
      },
      "message": "gong: ninjawriter e2etests\n\nBug: b/492000541\nChange-Id: I51ff3072ca9a75c613b63aae9ca81ab56a6a6964\nReviewed-on: https://chromium-review.googlesource.com/c/build/+/7659466\nReviewed-by: Fumitoshi Ukai \u003cukai@google.com\u003e\nCommit-Queue: Richard Wang \u003crichardwa@google.com\u003e\n"
    },
    {
      "commit": "95d646a6ca647cdab397ee9ea05efb23d2a87edb",
      "tree": "5170ff3fbe43d199e362ef787b40b49da0cb186c",
      "parents": [
        "a39f16bf45074f4fe2ade11f7405a957b037bc9d"
      ],
      "author": {
        "name": "Richard Wang",
        "email": "richardwa@google.com",
        "time": "Mon Mar 16 04:49:31 2026"
      },
      "committer": {
        "name": "LUCI CQ",
        "email": "infra-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Mon Mar 16 04:49:31 2026"
      },
      "message": "gong: Implement string_replace\n\nBug: b/491999131\nChange-Id: I05b9fb2d6284b895807221212422a18d6a6a6964\nReviewed-on: https://chromium-review.googlesource.com/c/build/+/7665400\nReviewed-by: Fumitoshi Ukai \u003cukai@google.com\u003e\nCommit-Queue: Richard Wang \u003crichardwa@google.com\u003e\n"
    },
    {
      "commit": "a39f16bf45074f4fe2ade11f7405a957b037bc9d",
      "tree": "cce79ee17c5d360a8aa2c8999ec1380b26be9bb6",
      "parents": [
        "a723c9c9a54b4ac2b942c7eb50bb7ecea948fe7f"
      ],
      "author": {
        "name": "Richard Wang",
        "email": "richardwa@google.com",
        "time": "Mon Mar 16 03:22:12 2026"
      },
      "committer": {
        "name": "LUCI CQ",
        "email": "infra-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Mon Mar 16 03:22:12 2026"
      },
      "message": "gong: Implement string_split\n\nBug: b/491999131\nChange-Id: I6dfc861d42164408f98dc8b1738b86ce6a6a6964\nReviewed-on: https://chromium-review.googlesource.com/c/build/+/7659467\nReviewed-by: Fumitoshi Ukai \u003cukai@google.com\u003e\nCommit-Queue: Richard Wang \u003crichardwa@google.com\u003e\n"
    },
    {
      "commit": "a723c9c9a54b4ac2b942c7eb50bb7ecea948fe7f",
      "tree": "af66cd5f3de5440094ddabae307b0fcbc6418af7",
      "parents": [
        "c7dcf419b19a4a7377fa8e3e3f5fad5dffe10cf2"
      ],
      "author": {
        "name": "Fumitoshi Ukai",
        "email": "ukai@google.com",
        "time": "Mon Mar 16 02:24:06 2026"
      },
      "committer": {
        "name": "LUCI CQ",
        "email": "infra-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Mon Mar 16 02:24:06 2026"
      },
      "message": "siso: update version string to v1.5.7\n\nv1.5.6 has been rolled out as pinned version at\ngit_revision:c7dcf419b19a4a7377fa8e3e3f5fad5dffe10cf2\nhttps://crrev.com/c/7665558\n\nBug: b/490923043\nChange-Id: Ic70965b4663e4328d5a8290f80cd3045a5eb43fe\nReviewed-on: https://chromium-review.googlesource.com/c/build/+/7668098\nAuto-Submit: Fumitoshi Ukai \u003cukai@google.com\u003e\nCommit-Queue: Fumitoshi Ukai \u003cukai@google.com\u003e\nReviewed-by: Takuto Ikuta \u003ctikuta@chromium.org\u003e\n"
    },
    {
      "commit": "c7dcf419b19a4a7377fa8e3e3f5fad5dffe10cf2",
      "tree": "44fab0ebb60f0817b69c47b670f01478e49e2e2b",
      "parents": [
        "0709df89b4226e0ead10ba6eb48cae9a4c292e05"
      ],
      "author": {
        "name": "Neri Marschik",
        "email": "nerima@google.com",
        "time": "Fri Mar 13 00:30:06 2026"
      },
      "committer": {
        "name": "LUCI CQ",
        "email": "infra-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Fri Mar 13 00:30:06 2026"
      },
      "message": "siso: make REAPI client initialization async for faster startup\n\nThis extracts the blocking GetCapabilities call out of the reapi.New()\nconstructor into an explicit Init() method. For the main ninja build\npath, Init() and CheckWritable() are now performed concurrently with\nlocal filesystem state loading, bypassing network latency on no-op\nbuilds and reducing overall startup time.\n\nThis saves almost 2 seconds of startup time for no-op builds:\nreapiClient.Init took 1.01139125s\nreapiClient.CheckWritable took 804.37675ms\n\nBug: b/439716134\nChange-Id: I6646e2135d0c697b8611ab03a8af2532132d2169\nReviewed-on: https://chromium-review.googlesource.com/c/build/+/7652136\nReviewed-by: Yuke Liao \u003cliaoyuke@google.com\u003e\nReviewed-by: Fumitoshi Ukai \u003cukai@google.com\u003e\nCommit-Queue: Neri Marschik \u003cnerima@google.com\u003e\n"
    },
    {
      "commit": "0709df89b4226e0ead10ba6eb48cae9a4c292e05",
      "tree": "4fc38c51fa90499a8f1f8c3eed3a7c1002620693",
      "parents": [
        "f448bd687c069ef05a154384621cfb325bbdaef3"
      ],
      "author": {
        "name": "Fumitoshi Ukai",
        "email": "ukai@google.com",
        "time": "Thu Mar 12 07:03:59 2026"
      },
      "committer": {
        "name": "LUCI CQ",
        "email": "infra-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Thu Mar 12 07:03:59 2026"
      },
      "message": "Revert \"siso: parallelize filegroup updates\"\n\nThis reverts commit f448bd687c069ef05a154384621cfb325bbdaef3.\n\nReason for revert: \nstore resolve next dir failing\nhttp://b/492014037 regression in v1.5.6? sub build/linux/debian_bullseye_arm64-sysroot/usr/lib: stat build/linux/debian_bullseye_arm64-sysroot/usr/lib: store resolve next dir debian_bullseye_arm64-sysroot failed\n\nOriginal change\u0027s description:\n\u003e siso: parallelize filegroup updates\n\u003e\n\u003e On Chrome build:\n\u003e Sync: ~1.95s\n\u003e Parallel: 880ms\n\u003e\n\u003e Bug: b/439716134\n\u003e Change-Id: I549051a659e238bbcd9b8be77721cd928780dc5f\n\u003e Reviewed-on: https://chromium-review.googlesource.com/c/build/+/7656403\n\u003e Reviewed-by: Takuto Ikuta \u003ctikuta@chromium.org\u003e\n\u003e Reviewed-by: Fumitoshi Ukai \u003cukai@google.com\u003e\n\u003e Commit-Queue: Neri Marschik \u003cnerima@google.com\u003e\n\nBug: b/439716134, b/492014037\nNo-Presubmit: true\nNo-Tree-Checks: true\nNo-Try: true\nBug: b/439716134\nChange-Id: I3671e7b1809fc33cb97917d63f9331462671d7e6\nReviewed-on: https://chromium-review.googlesource.com/c/build/+/7659465\nReviewed-by: Takuto Ikuta \u003ctikuta@chromium.org\u003e\nAuto-Submit: Fumitoshi Ukai \u003cukai@google.com\u003e\nCommit-Queue: Takuto Ikuta \u003ctikuta@chromium.org\u003e\n"
    },
    {
      "commit": "f448bd687c069ef05a154384621cfb325bbdaef3",
      "tree": "0aabf58da172972d5066d005099d25ba43f4a19d",
      "parents": [
        "dc017307f53473f3c2cc2dcf589802b5ca79acf3"
      ],
      "author": {
        "name": "Neri Marschik",
        "email": "nerima@google.com",
        "time": "Thu Mar 12 06:16:18 2026"
      },
      "committer": {
        "name": "LUCI CQ",
        "email": "infra-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Thu Mar 12 06:16:18 2026"
      },
      "message": "siso: parallelize filegroup updates\n\nOn Chrome build:\nSync: ~1.95s\nParallel: 880ms\n\nBug: b/439716134\nChange-Id: I549051a659e238bbcd9b8be77721cd928780dc5f\nReviewed-on: https://chromium-review.googlesource.com/c/build/+/7656403\nReviewed-by: Takuto Ikuta \u003ctikuta@chromium.org\u003e\nReviewed-by: Fumitoshi Ukai \u003cukai@google.com\u003e\nCommit-Queue: Neri Marschik \u003cnerima@google.com\u003e\n"
    },
    {
      "commit": "dc017307f53473f3c2cc2dcf589802b5ca79acf3",
      "tree": "4fc38c51fa90499a8f1f8c3eed3a7c1002620693",
      "parents": [
        "4b7c7654582f38fbc4d61c17dd0d8d23aa65f454"
      ],
      "author": {
        "name": "Neri Marschik",
        "email": "nerima@google.com",
        "time": "Wed Mar 11 22:58:53 2026"
      },
      "committer": {
        "name": "LUCI CQ",
        "email": "infra-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Wed Mar 11 22:58:53 2026"
      },
      "message": "siso: fix digester losing items\n\nWorkers add queue[0] to q but delete queue[len-1].\n\nBug: b/439716134\nChange-Id: I561ef379f0f2cb2aa1f113e68527757b19a52f5e\nReviewed-on: https://chromium-review.googlesource.com/c/build/+/7655586\nReviewed-by: Fumitoshi Ukai \u003cukai@google.com\u003e\nCommit-Queue: Neri Marschik \u003cnerima@google.com\u003e\n"
    },
    {
      "commit": "4b7c7654582f38fbc4d61c17dd0d8d23aa65f454",
      "tree": "33ca6ca0f467d50a58bb4a38f115aa98411ab2f4",
      "parents": [
        "536f725b834b60f13c3afb038478a5bf41dc3b38"
      ],
      "author": {
        "name": "Takuto Ikuta",
        "email": "tikuta@google.com",
        "time": "Tue Mar 10 07:17:38 2026"
      },
      "committer": {
        "name": "LUCI CQ",
        "email": "infra-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Tue Mar 10 07:17:38 2026"
      },
      "message": "test: restore hashfs self-referential symlink coverage\n\nThis restores the self-referential symlink test case in TestSymlinkFlush\nthat was recently removed to fix an os.RemoveAll macOS slowness issue.\nIt uses t.Cleanup to dynamically rename the symlink back to a normal\nfile name before the temporary directory is cleaned up by the test\nrunner.\n\nFollow up to https://chromium-review.googlesource.com/c/build/+/7637956\n\nChange-Id: Ibec6b91c26e2fb00a2a24a0ee858abe5cbcf37b1\nReviewed-on: https://chromium-review.googlesource.com/c/build/+/7637958\nCommit-Queue: Takuto Ikuta \u003ctikuta@chromium.org\u003e\nReviewed-by: Fumitoshi Ukai \u003cukai@google.com\u003e\n"
    },
    {
      "commit": "536f725b834b60f13c3afb038478a5bf41dc3b38",
      "tree": "adb6eae88c50b8720cce7201c81572cafa9e2d89",
      "parents": [
        "8ef6996c5e64d58001a62ece14133848e17b0b94"
      ],
      "author": {
        "name": "Takuto Ikuta",
        "email": "tikuta@google.com",
        "time": "Tue Mar 10 00:01:53 2026"
      },
      "committer": {
        "name": "LUCI CQ",
        "email": "infra-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Tue Mar 10 00:01:53 2026"
      },
      "message": "siso: Check GOEXPERIMENT only in ninja subcommand\n\nSo that we can still use other siso\u0027s subcommand.\n\nBug: 485402463\nChange-Id: I3ce255de0a45eafc69370fe4f41490308953d045\nReviewed-on: https://chromium-review.googlesource.com/c/build/+/7637959\nAuto-Submit: Takuto Ikuta \u003ctikuta@chromium.org\u003e\nCommit-Queue: Alex Ovsienko \u003covsienko@google.com\u003e\nReviewed-by: Alex Ovsienko \u003covsienko@google.com\u003e\n"
    },
    {
      "commit": "8ef6996c5e64d58001a62ece14133848e17b0b94",
      "tree": "16509e974e02fe587006b1db83871d0cf3ca73cc",
      "parents": [
        "53dd5693acde1a8b0839d52c558ef7f9068b5f6d"
      ],
      "author": {
        "name": "Takuto Ikuta",
        "email": "tikuta@google.com",
        "time": "Mon Mar 09 08:08:52 2026"
      },
      "committer": {
        "name": "LUCI CQ",
        "email": "infra-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Mon Mar 09 08:08:52 2026"
      },
      "message": "ninja: Fix missing generator step in .ninja_log\n\nWhen siso ninja is run, it performs a fast manifest check\n(CheckManifest) which generates build.ninja if necessary. Previously,\nninjaLogWriter was not initialized during this check, so any log entries\ngenerated by the generator step were quietly discarded (sent to\nio.Discard).\n\nSubsequently, ninjabuild.Run initialized (and truncated) .ninja_log.\nSince the manifest was already regenerated, the main build correctly\nskipped the generator step. As a result, the .ninja_log did not contain\nany record of the regeneration step.\n\nThis commit fixes the issue by:\n1. Updating CheckManifest to accept a pointer to build.Options.\n2. Introducing a helper function `ensureNinjaLogWriter` which initializes ninjaLogWriter using the builddir retrieved from the parsed\nmanifest.\n3. Passing the initialized NinjaLogWriter inside build.Options to\nninjabuild.Run so that Run does not redundantly truncate the log.\n4. Ensuring Close() is properly deferred at the end of Run.\n\nBug: 364145875\nChange-Id: I096c8a23679cf6170c37bc9694f5284fe82d2f1d\nReviewed-on: https://chromium-review.googlesource.com/c/build/+/7637180\nReviewed-by: Junji Watanabe \u003cjwata@google.com\u003e\nAuto-Submit: Takuto Ikuta \u003ctikuta@chromium.org\u003e\nCommit-Queue: Junji Watanabe \u003cjwata@google.com\u003e\n"
    },
    {
      "commit": "53dd5693acde1a8b0839d52c558ef7f9068b5f6d",
      "tree": "7dd4b03c78761155dcbeaa864b2cf975e7c833c1",
      "parents": [
        "1cdbc5146d00a5a2bf178ee9eabceac9ca02e907"
      ],
      "author": {
        "name": "Fumitoshi Ukai",
        "email": "ukai@google.com",
        "time": "Mon Mar 09 05:20:51 2026"
      },
      "committer": {
        "name": "LUCI CQ",
        "email": "infra-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Mon Mar 09 05:20:51 2026"
      },
      "message": "siso: handle clang `--warning_suppression_mappings\u003d`\n\n`--warning_suppression_mappings\u003d` specifies the additional input.\nhttps://clang.llvm.org/docs/WarningSuppressionMappings.html\n\nBug: b/490906618\nChange-Id: I609741670d64f2d0b1a6c5a616a97bc45a69dafa\nReviewed-on: https://chromium-review.googlesource.com/c/build/+/7647469\nCommit-Queue: Neri Marschik \u003cnerima@google.com\u003e\nAuto-Submit: Fumitoshi Ukai \u003cukai@google.com\u003e\nCommit-Queue: Fumitoshi Ukai \u003cukai@google.com\u003e\nReviewed-by: Neri Marschik \u003cnerima@google.com\u003e\n"
    },
    {
      "commit": "1cdbc5146d00a5a2bf178ee9eabceac9ca02e907",
      "tree": "94f2863692079d33195d7b5c55bee494e430c715",
      "parents": [
        "a1ab88300e60a6c251fe9e046c41f6e3e0f1e1f5"
      ],
      "author": {
        "name": "Fumitoshi Ukai",
        "email": "ukai@google.com",
        "time": "Mon Mar 09 02:04:21 2026"
      },
      "committer": {
        "name": "LUCI CQ",
        "email": "infra-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Mon Mar 09 02:04:21 2026"
      },
      "message": "siso: update version string to v1.5.6\n\nv1.5.5 has been rolled out as pinned version at\ngit_revision:bea0f245b6973702ddcb457090706d03145855f8\nhttps://crrev.com/c/7638411\n\nBug: b/489870962\nChange-Id: I7bbf93e86647e9712f94ce5f456902aa18d6c94a\nReviewed-on: https://chromium-review.googlesource.com/c/build/+/7637375\nAuto-Submit: Fumitoshi Ukai \u003cukai@google.com\u003e\nCommit-Queue: Fumitoshi Ukai \u003cukai@google.com\u003e\nReviewed-by: Takuto Ikuta \u003ctikuta@chromium.org\u003e\n"
    },
    {
      "commit": "a1ab88300e60a6c251fe9e046c41f6e3e0f1e1f5",
      "tree": "647f4560bf8063f1ab5792752653308f83eb2b5e",
      "parents": [
        "bea0f245b6973702ddcb457090706d03145855f8"
      ],
      "author": {
        "name": "Takuto Ikuta",
        "email": "tikuta@google.com",
        "time": "Mon Mar 09 01:25:36 2026"
      },
      "committer": {
        "name": "LUCI CQ",
        "email": "infra-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Mon Mar 09 01:25:36 2026"
      },
      "message": "hashfs: Fix slow TestSymlinkFlush\n\nTestSymlinkFlush had a bug where it created a symlink pointing to itself\nwhen the simulated name was \u0027subdir/some-file\u0027. On macOS, removing a\nself-referential symlink loop with os.RemoveAll takes ~4.7 seconds.\n\nThis CL fixes the bug by setting the symlink target to a different file\nname (\u0027target-file\u0027), which reduces the test execution time from ~9.4s\nto ~0.04s.\n\nChange-Id: I6cbf737aca49c713c995803f8f6855a498d53fb0\nReviewed-on: https://chromium-review.googlesource.com/c/build/+/7637956\nCommit-Queue: Takuto Ikuta \u003ctikuta@chromium.org\u003e\nAuto-Submit: Takuto Ikuta \u003ctikuta@chromium.org\u003e\nReviewed-by: Matt Stark \u003cmsta@google.com\u003e\n"
    },
    {
      "commit": "bea0f245b6973702ddcb457090706d03145855f8",
      "tree": "c24e203cedbf297f948747373470f597ca984314",
      "parents": [
        "95b6b3a7af07121c36a1659f89f351d45ffce667"
      ],
      "author": {
        "name": "Fumitoshi Ukai",
        "email": "ukai@google.com",
        "time": "Fri Mar 06 07:57:30 2026"
      },
      "committer": {
        "name": "LUCI CQ",
        "email": "infra-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Fri Mar 06 07:57:30 2026"
      },
      "message": "siso: check stat after forget\n\nflaky failure in TestForget_UnexpectedRemoveRspFileUnderSymlinkDir.\nmake sure Forget actually forget from hashfs, and check Stat\nthat it detects fs.ErrNotExist from disk.\n\nBug: b/490256424\nChange-Id: Ib2838f9d2ba499cd42ba4d5814a1c9a9be32cdb3\nReviewed-on: https://chromium-review.googlesource.com/c/build/+/7640672\nAuto-Submit: Fumitoshi Ukai \u003cukai@google.com\u003e\nCommit-Queue: Yuke Liao \u003cliaoyuke@google.com\u003e\nReviewed-by: Yuke Liao \u003cliaoyuke@google.com\u003e\n"
    },
    {
      "commit": "95b6b3a7af07121c36a1659f89f351d45ffce667",
      "tree": "44b13c47ae9f982fa2ab124345046760338aab88",
      "parents": [
        "8794ff1889f3f396c041c9fc54137a2aaed07fa5"
      ],
      "author": {
        "name": "Takuto Ikuta",
        "email": "tikuta@google.com",
        "time": "Fri Mar 06 07:48:43 2026"
      },
      "committer": {
        "name": "LUCI CQ",
        "email": "infra-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Fri Mar 06 07:48:43 2026"
      },
      "message": "build: replace runtime.ReadMemStats with runtime/metrics.Read\n\nThis follows a suggestion from http://b/485402463#comment27.\n\nruntime.ReadMemStats requires a Stop-The-World (STW) pause to calculate\nstatistics. Since trace event sampling runs frequently (e.g., every 1\nsecond), this introduces unnecessary GC STW latency spikes during a\nbuild.\n\nThis CL replaces runtime.ReadMemStats(\u0026te.memstats) with\nruntime/metrics.Read(...) which avoids STW.\n\nMetric mappings used to retain trace event functionality:\n- Alloc -\u003e /memory/classes/heap/objects:bytes\n- TotalAlloc -\u003e /gc/heap/allocs:bytes\n- Sys -\u003e /memory/classes/total:bytes\n- NumGC -\u003e /gc/cycles/total:gc-cycles\n- PauseTotalNs -\u003e Approximated using the Float64Histogram\n  /sched/pauses/total/gc:seconds, as there is no exact cumulative\n  nanosecond scalar value directly exported via runtime/metrics.\n\nBug: 485402463, 301193451\nChange-Id: Idb9d3c00efeae0deb15cfe3b74efd4fef9ab9e6e\nReviewed-on: https://chromium-review.googlesource.com/c/build/+/7636785\nReviewed-by: Fumitoshi Ukai \u003cukai@google.com\u003e\nCommit-Queue: Takuto Ikuta \u003ctikuta@chromium.org\u003e\nAuto-Submit: Takuto Ikuta \u003ctikuta@chromium.org\u003e\n"
    },
    {
      "commit": "8794ff1889f3f396c041c9fc54137a2aaed07fa5",
      "tree": "c81afa850da417c18e87ba20095f056786e4a0e0",
      "parents": [
        "a4dde963d7a17cb421363e586a311d68e8046898"
      ],
      "author": {
        "name": "Fumitoshi Ukai",
        "email": "ukai@google.com",
        "time": "Fri Mar 06 07:20:30 2026"
      },
      "committer": {
        "name": "LUCI CQ",
        "email": "infra-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Fri Mar 06 07:20:30 2026"
      },
      "message": "roll google.golang.org/grpc from v1.79.1 to v1.79.2\n\nhttps://github.com/grpc/grpc-go/releases/tag/v1.79.2\n\nChange-Id: I3c1db248ec2e17b8bdcdcd016cb4c85cc69289d1\nReviewed-on: https://chromium-review.googlesource.com/c/build/+/7636783\nReviewed-by: Neri Marschik \u003cnerima@google.com\u003e\nAuto-Submit: Fumitoshi Ukai \u003cukai@google.com\u003e\nCommit-Queue: Neri Marschik \u003cnerima@google.com\u003e\n"
    },
    {
      "commit": "a4dde963d7a17cb421363e586a311d68e8046898",
      "tree": "10d6daa457495692354df58bda79dc2fcd47eb2b",
      "parents": [
        "2884840a82e076fa702f1d1c066920c95d38564f"
      ],
      "author": {
        "name": "Richard Wang",
        "email": "richardwa@google.com",
        "time": "Fri Mar 06 06:57:37 2026"
      },
      "committer": {
        "name": "LUCI CQ",
        "email": "infra-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Fri Mar 06 06:57:37 2026"
      },
      "message": "gong: show input file count at end of build\n\nBug: b/388723392\nChange-Id: I1dd7b461f01dc461407d3d6e31e4f80b6a6a6964\nReviewed-on: https://chromium-review.googlesource.com/c/build/+/7637490\nReviewed-by: Fumitoshi Ukai \u003cukai@google.com\u003e\nReviewed-by: Junji Watanabe \u003cjwata@google.com\u003e\nCommit-Queue: Richard Wang \u003crichardwa@google.com\u003e\n"
    },
    {
      "commit": "2884840a82e076fa702f1d1c066920c95d38564f",
      "tree": "9af07c040f27b91abb0fcc630acd94c04b6f87b3",
      "parents": [
        "19f1d0ea7f606d506789503c975d89b8e46c42e5"
      ],
      "author": {
        "name": "Richard Wang",
        "email": "richardwa@google.com",
        "time": "Fri Mar 06 06:44:51 2026"
      },
      "committer": {
        "name": "LUCI CQ",
        "email": "infra-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Fri Mar 06 06:44:51 2026"
      },
      "message": "gong: make sourcedir equal more comprehensible\n\nfollowup to https://crrev.com/c/7593777/comment/bbc1a607_c97c48f0/\n\nBug: b/388723392\nChange-Id: Id71338914d3a5897e26ba36a2a6ad9ab6a6a6964\nReviewed-on: https://chromium-review.googlesource.com/c/build/+/7636784\nReviewed-by: Alex Ovsienko \u003covsienko@google.com\u003e\nCommit-Queue: Richard Wang \u003crichardwa@google.com\u003e\n"
    },
    {
      "commit": "19f1d0ea7f606d506789503c975d89b8e46c42e5",
      "tree": "051ed47a72678db92a2738e7e3782000dbaa6956",
      "parents": [
        "fdee56a3248084a06aacfda6c2b457f30369c3b1"
      ],
      "author": {
        "name": "Richard Wang",
        "email": "richardwa@google.com",
        "time": "Fri Mar 06 06:35:29 2026"
      },
      "committer": {
        "name": "LUCI CQ",
        "email": "infra-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Fri Mar 06 06:35:29 2026"
      },
      "message": "gong: need more target-level ninja substitutions for binary targets\n\nBug: b/388723392\nChange-Id: I2031c38a04d4e875ceff0c8b1b7a2a4f6a6a6964\nReviewed-on: https://chromium-review.googlesource.com/c/build/+/7640671\nCommit-Queue: Richard Wang \u003crichardwa@google.com\u003e\nReviewed-by: Fumitoshi Ukai \u003cukai@google.com\u003e\n"
    },
    {
      "commit": "fdee56a3248084a06aacfda6c2b457f30369c3b1",
      "tree": "470a24262a06d91ee1f8e75a60bb87f0dff73249",
      "parents": [
        "e8b510c35a764fa9ccee9c0f0e2911cb69b71c82"
      ],
      "author": {
        "name": "Richard Wang",
        "email": "richardwa@google.com",
        "time": "Fri Mar 06 06:27:59 2026"
      },
      "committer": {
        "name": "LUCI CQ",
        "email": "infra-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Fri Mar 06 06:27:59 2026"
      },
      "message": "gong: fix position of colon in error display\n\nBefore:\n\nERROR at : //BUILD.gn:24:13Expected comma between items.\nexit status 1\n\nAfter:\n\nERROR at //BUILD.gn:24:13: Expected comma between items.\nexit status 1\n\nBug: b/388723392\nChange-Id: I510a74a0db4debaefc8acedab86993456a6a6964\nReviewed-on: https://chromium-review.googlesource.com/c/build/+/7638410\nCommit-Queue: Richard Wang \u003crichardwa@google.com\u003e\nReviewed-by: Fumitoshi Ukai \u003cukai@google.com\u003e\n"
    },
    {
      "commit": "e8b510c35a764fa9ccee9c0f0e2911cb69b71c82",
      "tree": "5f89487b977793817119749fc598b82c7f5ba32e",
      "parents": [
        "cb7b76b933cf61fba29d307b4b3e9e7a4f672013"
      ],
      "author": {
        "name": "Richard Wang",
        "email": "richardwa@google.com",
        "time": "Fri Mar 06 06:23:14 2026"
      },
      "committer": {
        "name": "LUCI CQ",
        "email": "infra-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Fri Mar 06 06:23:14 2026"
      },
      "message": "gong: port OutputFile to simplify output path resolution\n\nRather than constantly pass around fs.SourceFile to represent output and\nneed to rebase it to builddir, instead create an fs.OutputPath that is\nsimilar to C++ GN\u0027s OutputFile (which is used for both output files and\noutput dirs, so maybe that should be renamed?)\n\nMost importantly this lets us fix Rust extern resolution paths easily,\nit used to be something like `//out/foo/bar.rlib` which couldn\u0027t be\nimmediately fixed because resolver func doesn\u0027t have access to build\nsettings.\n\nBug: b/388723392\nChange-Id: I93ebb732d06dee204589a212d49e3d0c6a6a6964\nReviewed-on: https://chromium-review.googlesource.com/c/build/+/7593777\nCommit-Queue: Richard Wang \u003crichardwa@google.com\u003e\nReviewed-by: Fumitoshi Ukai \u003cukai@google.com\u003e\n"
    },
    {
      "commit": "cb7b76b933cf61fba29d307b4b3e9e7a4f672013",
      "tree": "e3fa4bff2426fc00afdf3f9753e41c8b76446b99",
      "parents": [
        "5da8461ce9252c728a8c881492be6f1ab10229a8"
      ],
      "author": {
        "name": "Fumitoshi Ukai",
        "email": "ukai@google.com",
        "time": "Fri Mar 06 06:16:54 2026"
      },
      "committer": {
        "name": "LUCI CQ",
        "email": "infra-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Fri Mar 06 06:16:54 2026"
      },
      "message": "siso: protect localCache for thread exhaustion\n\nlocal cache calls many file I/O syscalls, which may\nneed thread for go scheduling.\nlimit by semaphore to protect from thread exhaustion.\n\nBug: b/490029722\nChange-Id: I81cffe22452729dd4d1f4fd5ce64ed6d368c9058\nReviewed-on: https://chromium-review.googlesource.com/c/build/+/7632526\nCommit-Queue: Fumitoshi Ukai \u003cukai@google.com\u003e\nAuto-Submit: Fumitoshi Ukai \u003cukai@google.com\u003e\nReviewed-by: Yuke Liao \u003cliaoyuke@google.com\u003e\n"
    },
    {
      "commit": "5da8461ce9252c728a8c881492be6f1ab10229a8",
      "tree": "b8799b967cebbe44b0fb2cb5c2844cc5092024e3",
      "parents": [
        "93ff9fba57992ceac21694ff53f46a994d1e98bd"
      ],
      "author": {
        "name": "Fumitoshi Ukai",
        "email": "ukai@google.com",
        "time": "Fri Mar 06 06:15:03 2026"
      },
      "committer": {
        "name": "LUCI CQ",
        "email": "infra-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Fri Mar 06 06:15:03 2026"
      },
      "message": "siso: record digest in deps log if new deps log format is used\n\nRecord digest in deps log if new deps log format is used.\nNew deps log format is not used by default.\n\nNote: new deps log is not used yet by default.\nTo try new deps log,\n```\n $ echo \"# siso_deps\" \u003e out/Default/.siso_deps\n```\n\nBug: b/374196367\nChange-Id: I0130d42ed451d0a6642a519e245cf3def7ddba4f\nReviewed-on: https://chromium-review.googlesource.com/c/build/+/7632115\nReviewed-by: Yuke Liao \u003cliaoyuke@google.com\u003e\nCommit-Queue: Fumitoshi Ukai \u003cukai@google.com\u003e\nAuto-Submit: Fumitoshi Ukai \u003cukai@google.com\u003e\n"
    },
    {
      "commit": "93ff9fba57992ceac21694ff53f46a994d1e98bd",
      "tree": "5e2979b7eb9d1c4cad608d874293548b4d8f9e67",
      "parents": [
        "59326b86a3efeb06d0e65424d978efb1f9ac47e8"
      ],
      "author": {
        "name": "Richard Wang",
        "email": "richardwa@google.com",
        "time": "Fri Mar 06 05:47:55 2026"
      },
      "committer": {
        "name": "LUCI CQ",
        "email": "infra-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Fri Mar 06 05:47:55 2026"
      },
      "message": "gong: initial termui\n\nBug: b/388723392\nChange-Id: I11467def0159f16abf315372464bb88b6a6a6964\nReviewed-on: https://chromium-review.googlesource.com/c/build/+/7640673\nCommit-Queue: Richard Wang \u003crichardwa@google.com\u003e\nReviewed-by: Fumitoshi Ukai \u003cukai@google.com\u003e\n"
    }
  ],
  "next": "59326b86a3efeb06d0e65424d978efb1f9ac47e8"
}
