)]}'
{
  "log": [
    {
      "commit": "1500c39646167347d2511afba86892b1d1b5bf4a",
      "tree": "695df5dd104f6902f603455c519d1f9e7aa28651",
      "parents": [
        "c73887fd579f4f29b35686152392b65cc6d18662"
      ],
      "author": {
        "name": "recipe-roller",
        "email": "global-integration-roller@fuchsia-infra.iam.gserviceaccount.com",
        "time": "Wed Sep 23 21:35:14 2026 -0700"
      },
      "committer": {
        "name": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Wed Sep 23 21:35:14 2026 -0700"
      },
      "message": "Roll recipe dependencies (trivial).\n\nThis is an automated CL created by the recipe roller. This CL rolls\nrecipe changes from upstream projects (recipe_engine) into this repository.\n\nThe build that created this CL was\nhttps://ci.chromium.org/b/8669815387229282033\n\nrecipe_engine:\nhttps://chromium.googlesource.com/infra/luci/recipes-py/+log/88c6fe0597ccf795ffcf8ac26f1ce344273106fd~..0ce07975621ad791bde37f9e17d38719cebcbd9e\n  88c6fe0 (mohrr@google.com)\n      [annotations] Replace Optional and capitalized generics\n  08dea35 (mohrr@google.com)\n      [buildbucket] Add type annotations\n  0ce0797 (mohrr@google.com)\n      [cas] Add type annotations\n\nPlease check the following references for more information:\n- autoroller, https://chromium.googlesource.com/infra/luci/recipes-py/+/main/doc/workflow.md#autoroller\n- rollback, https://chromium.googlesource.com/infra/luci/recipes-py/+/main/doc/workflow.md#rollback\n- cross-repo dependencies, https://chromium.googlesource.com/infra/luci/recipes-py/+/main/doc/cross_repo.md\n\nUse https://goo.gl/noib3a to file a bug.\n\nRecipe-Tryjob-Bypass-Reason: Autoroller\nIgnore-Freeze: Autoroller\nBugdroid-Send-Email: False\nChange-Id: I94869a85403f3f1886e9253e008b7b4be899cd1e\nReviewed-on: https://fuchsia-review.googlesource.com/c/infra/recipes/+/1842575\nCommit-Queue: global-integration-roller@fuchsia-infra.iam.gserviceaccount.com \u003cglobal-integration-roller@fuchsia-infra.iam.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "c73887fd579f4f29b35686152392b65cc6d18662",
      "tree": "a19a942847f07016d4901e14816059e1b6990e30",
      "parents": [
        "bb062fa32a2ac69766ccbaf32121c2a7327894c0"
      ],
      "author": {
        "name": "global-integration-roller",
        "email": "global-integration-roller@fuchsia-infra.iam.gserviceaccount.com",
        "time": "Wed Sep 23 21:20:54 2026 -0700"
      },
      "committer": {
        "name": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Wed Sep 23 21:20:54 2026 -0700"
      },
      "message": "[roll] Update pinned tools\n\n- fuchsia/tools/jiri/${platform}\n\nRoller-URL: https://cr-buildbucket.appspot.com/build/8669815814008301873\nCQ-Do-Not-Cancel-Tryjobs: true\nChange-Id: I19ea74d7fad85eb51d78a980fb7f47d583e9ccac\nReviewed-on: https://fuchsia-review.googlesource.com/c/infra/recipes/+/1842253\nCommit-Queue: global-integration-roller@fuchsia-infra.iam.gserviceaccount.com \u003cglobal-integration-roller@fuchsia-infra.iam.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "bb062fa32a2ac69766ccbaf32121c2a7327894c0",
      "tree": "244242ec3c658c2718ab647d6eb1225fdcf72c54",
      "parents": [
        "2a510d9a0b373cfa0372f63a67d91a67b464093e"
      ],
      "author": {
        "name": "Carver Forbes",
        "email": "carverforbes@google.com",
        "time": "Wed Sep 23 16:51:42 2026 -0700"
      },
      "committer": {
        "name": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Wed Sep 23 16:51:42 2026 -0700"
      },
      "message": "[gce_disk_manager] Increase mount timeout and add CI fallback\n\nIncrease DEFAULT_MOUNT_TIMEOUT_SECS from 300s to 600s so forced\ne2fsck -p -f runs inside mount_disk on warm shared cache disks do\nnot time out prematurely.\n\nAdditionally, if mounting existing snapshot generations fails or\ntimes out on a postsubmit (CI) build, clean up the failed mount and\nfall back to provisioning a fresh blank shared cache disk (by\npassing --cache-key clean to mount-cache). This keeps\nuse_shared_cache enabled on CI so save_cache_entry still runs at\nthe end of the build under the real builder_name/cache_key and\nrotates out any stuck zonal snapshots.\n\nBug: b/482892823\nChange-Id: I2c9552b7e98b1260f74ec484f1e00a93468536c6\nReviewed-on: https://fuchsia-review.googlesource.com/c/infra/recipes/+/1843246\nReviewed-by: Zijun Wan \u003czijunwan@google.com\u003e\nFuchsia-Auto-Submit: Carver Forbes \u003ccarverforbes@google.com\u003e\nCommit-Queue: Carver Forbes \u003ccarverforbes@google.com\u003e\n"
    },
    {
      "commit": "2a510d9a0b373cfa0372f63a67d91a67b464093e",
      "tree": "d4cd5b90763b7c90706003891c2f4d2199c61a06",
      "parents": [
        "484826064b064bb7855010f3f790ed31333a1c3b"
      ],
      "author": {
        "name": "Erick Tryzelaar",
        "email": "etryzelaar@google.com",
        "time": "Wed Sep 23 15:36:20 2026 -0700"
      },
      "committer": {
        "name": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Wed Sep 23 15:36:20 2026 -0700"
      },
      "message": "[crubit] Switch crubit to use `integration` builds\n\nNow that we\u0027ve rolled rust, we should now have a correctly built\n`rustc-dev` component. That should let us use `integration` instead of\n`latest`. Note that we need to fetch packages by the `git_revisions`\ntag, since `rustc-dev` isn\u0027t tracked in the Fuchsia\n`manifests/toolchain`, so it isn\u0027t tagged with `integration`.\n\nBug: 564883441\nChange-Id: I7ecf1241b73822a4c34e780b852a7ebdd0eff9b6\nReviewed-on: https://fuchsia-review.googlesource.com/c/infra/recipes/+/1842306\nReviewed-by: Haowei Wu \u003chaowei@google.com\u003e\nCommit-Queue: Erick Tryzelaar \u003cetryzelaar@google.com\u003e\n"
    },
    {
      "commit": "484826064b064bb7855010f3f790ed31333a1c3b",
      "tree": "e2b577c412a07e92d3fd8714b1f2d117fac57d97",
      "parents": [
        "493a72cc1fdb385aff857865b793f7e4d48fbece"
      ],
      "author": {
        "name": "Betram Lalusha",
        "email": "betramlalusha@google.com",
        "time": "Wed Sep 23 13:58:05 2026 -0700"
      },
      "committer": {
        "name": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Wed Sep 23 13:58:05 2026 -0700"
      },
      "message": "[recipes] Adds fastboot and adb binaries as CAS inputs\n\nThis makes the binaries available in the container to allow users to\nexecute adb and fastboot commands if they choose to ssh into the\ncontainer.\n\nBug: 559846399\nChange-Id: I9fde3fa93011e7e97d9dca829149548381d0f41d\nReviewed-on: https://fuchsia-review.googlesource.com/c/infra/recipes/+/1843247\nCommit-Queue: Betram Lalusha \u003cbetramlalusha@google.com\u003e\nReviewed-by: Carver Forbes \u003ccarverforbes@google.com\u003e\n"
    },
    {
      "commit": "493a72cc1fdb385aff857865b793f7e4d48fbece",
      "tree": "9b1e7bc8cbc9eab6bae7a75bf05d3ab7f5976806",
      "parents": [
        "7080f2fab9f1a54250c4e3c4a1235b1f5b0c5322"
      ],
      "author": {
        "name": "Erick Tryzelaar",
        "email": "etryzelaar@google.com",
        "time": "Wed Sep 23 12:19:34 2026 -0700"
      },
      "committer": {
        "name": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Wed Sep 23 12:19:34 2026 -0700"
      },
      "message": "[auto-roller] Add property to add footers to commits\n\nSometimes we need extra changes to fuchsia along side a roll, such as\nwhen we needed to update to bindgen along side clang due to a libc++\nissues (https://fxrev.dev/1740489). We have to manually cherry pick\nthose changes into each dry run to get them to work. That means the\nautomatic dry-runs will fail by default, which wastes effort, and might\nobscure other failures that might occur.\n\nThis patch tries to fix it by adding a `include_commit_footers` property\nto the `auto_roller` module, which allows to check in a change to the\nintegration repository that will add commit footers like `Depends-On:\n...` to each dry run commit message. Our luci bots then will cherry pick\nthose commits when running the tests. However, when we get a working\ndry-run we\u0027ll still need to manually squash the dependent commits into\nthe roll attempt.\n\nBug: 559286090\nChange-Id: Ife247ed7ea481217b09bc108cda68a8955be27ad\nReviewed-on: https://fuchsia-review.googlesource.com/c/infra/recipes/+/1818889\nReviewed-by: Haowei Wu \u003chaowei@google.com\u003e\nReviewed-by: Ina Huh \u003cihuh@google.com\u003e\nFuchsia-Auto-Submit: Erick Tryzelaar \u003cetryzelaar@google.com\u003e\nCommit-Queue: Erick Tryzelaar \u003cetryzelaar@google.com\u003e\nPresubmit-Verified: fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com \u003cfuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "7080f2fab9f1a54250c4e3c4a1235b1f5b0c5322",
      "tree": "bd2a5ea2b577dcb4c198293e2788d58955ae5028",
      "parents": [
        "096618373f273bc2132acb2ff96be40fb0f87556"
      ],
      "author": {
        "name": "Erick Tryzelaar",
        "email": "etryzelaar@google.com",
        "time": "Wed Sep 23 11:22:15 2026 -0700"
      },
      "committer": {
        "name": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Wed Sep 23 11:22:15 2026 -0700"
      },
      "message": "[crubit] Toolchain owns the crubit recipes\n\nChange-Id: I71a7b41bf95bd583914107f00a0635f57c8427fa\nReviewed-on: https://fuchsia-review.googlesource.com/c/infra/recipes/+/1842251\nReviewed-by: Ina Huh \u003cihuh@google.com\u003e\nCommit-Queue: Erick Tryzelaar \u003cetryzelaar@google.com\u003e\nPresubmit-Verified: fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com \u003cfuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com\u003e\nFuchsia-Auto-Submit: Erick Tryzelaar \u003cetryzelaar@google.com\u003e\n"
    },
    {
      "commit": "096618373f273bc2132acb2ff96be40fb0f87556",
      "tree": "f7e1fc0d88910a745c9628501f9faea58fcd9075",
      "parents": [
        "1a88f7cac9c77d6e0c9d672182496ca8d4f71cbf"
      ],
      "author": {
        "name": "eakammer",
        "email": "eakammer@google.com",
        "time": "Wed Sep 23 09:03:07 2026 -0700"
      },
      "committer": {
        "name": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Wed Sep 23 09:03:07 2026 -0700"
      },
      "message": "[gerrit_dependency_satisfy] Wait for cross-repo dependencies to roll\n\nWhen a CL depends on a change in another repository, checking that the\ndependency is merged is not sufficient: if the dependency has not yet\nrolled into a common repository, landing the dependent CL can break the\nbuild.\n\nTrace `autogenerated:roll-complete:` message tags across the roller\ngraph to verify that dependencies have rolled into the minimal common\ndestination repository (or into the dependent repository itself) before\ngranting Dependencies-Satisfied +1.\n\nIf no common destination exists between the repositories, post a comment\nadvising the author not to use Auto-Submit and block\nDependencies-Satisfied +1 while Auto-Submit is active, allowing manual\nsubmission once the dependency is merged.\n\nBased on earlier work in https://fuchsia-review.git.corp.google.com/c/infra/recipes/+/1415674.\n\nCo-authored-by: Ina Huh \u003cihuh@google.com\u003e\nBug: 456620033\nChange-Id: Iec1c8ae4660a506260e3d39189c8f7f16a6a6964\nReviewed-on: https://fuchsia-review.googlesource.com/c/infra/recipes/+/1820009\nReviewed-by: Ina Huh \u003cihuh@google.com\u003e\nCommit-Queue: Liz Kammer \u003ceakammer@google.com\u003e\n"
    },
    {
      "commit": "1a88f7cac9c77d6e0c9d672182496ca8d4f71cbf",
      "tree": "7ffa915ba51447e0372aba85dc95faa75df2b60b",
      "parents": [
        "973d9bc6c2702449e2f46f7b7520f27038b78e13"
      ],
      "author": {
        "name": "recipe-roller",
        "email": "global-integration-roller@fuchsia-infra.iam.gserviceaccount.com",
        "time": "Wed Sep 23 05:46:24 2026 -0700"
      },
      "committer": {
        "name": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Wed Sep 23 05:46:24 2026 -0700"
      },
      "message": "Roll recipe dependencies (trivial).\n\nThis is an automated CL created by the recipe roller. This CL rolls\nrecipe changes from upstream projects (recipe_engine) into this repository.\n\nThe build that created this CL was\nhttps://ci.chromium.org/b/8669872447322065857\n\nrecipe_engine:\nhttps://chromium.googlesource.com/infra/luci/recipes-py/+/e9fbd61536cafa2cb0f2fd47807c5bf81d8a7991\n  e9fbd61 (chromium-autoroll@skia-public.iam.gserviceaccount.com)\n      Roll CAS Client from 17aa2034a0c4 to b5ab8c6e7688\n\nPlease check the following references for more information:\n- autoroller, https://chromium.googlesource.com/infra/luci/recipes-py/+/main/doc/workflow.md#autoroller\n- rollback, https://chromium.googlesource.com/infra/luci/recipes-py/+/main/doc/workflow.md#rollback\n- cross-repo dependencies, https://chromium.googlesource.com/infra/luci/recipes-py/+/main/doc/cross_repo.md\n\nUse https://goo.gl/noib3a to file a bug.\n\nRecipe-Tryjob-Bypass-Reason: Autoroller\nIgnore-Freeze: Autoroller\nBugdroid-Send-Email: False\nChange-Id: I380f4684e9372e9831222834950786bc8e67756e\nReviewed-on: https://fuchsia-review.googlesource.com/c/infra/recipes/+/1842242\nCommit-Queue: global-integration-roller@fuchsia-infra.iam.gserviceaccount.com \u003cglobal-integration-roller@fuchsia-infra.iam.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "973d9bc6c2702449e2f46f7b7520f27038b78e13",
      "tree": "92e45f942078f95b03724a8a9bd64541d81ba7f4",
      "parents": [
        "f87c8b9dfbe64a3f2913871ac6e19cb4eb3bd7ab"
      ],
      "author": {
        "name": "recipe-roller",
        "email": "global-integration-roller@fuchsia-infra.iam.gserviceaccount.com",
        "time": "Wed Sep 23 00:02:14 2026 -0700"
      },
      "committer": {
        "name": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Wed Sep 23 00:02:14 2026 -0700"
      },
      "message": "Roll recipe dependencies (trivial).\n\nThis is an automated CL created by the recipe roller. This CL rolls\nrecipe changes from upstream projects (recipe_engine) into this repository.\n\nThe build that created this CL was\nhttps://ci.chromium.org/b/8669895272931832001\n\nrecipe_engine:\nhttps://chromium.googlesource.com/infra/luci/recipes-py/+log/81178b29a773f3fb19e9665f6e3c0ecb74ac17b0~..4f9a5dfd33a889b5535b2b53f503a06571df2e6b\n  81178b2 (mohrr@google.com)\n      GEMINI.md: Clarify \u0027pragma: no cover\u0027 guidance\n  2fba5ac (mohrr@google.com)\n      Add \u0027from __future__ import annotations\u0027\n  4f9a5df (mohrr@google.com)\n      [annotations] Update collection annotations\n\nPlease check the following references for more information:\n- autoroller, https://chromium.googlesource.com/infra/luci/recipes-py/+/main/doc/workflow.md#autoroller\n- rollback, https://chromium.googlesource.com/infra/luci/recipes-py/+/main/doc/workflow.md#rollback\n- cross-repo dependencies, https://chromium.googlesource.com/infra/luci/recipes-py/+/main/doc/cross_repo.md\n\nUse https://goo.gl/noib3a to file a bug.\n\nRecipe-Tryjob-Bypass-Reason: Autoroller\nIgnore-Freeze: Autoroller\nBugdroid-Send-Email: False\nChange-Id: Iaec7d173ae291c705f010b1fa6d88cd6a5fc17cd\nReviewed-on: https://fuchsia-review.googlesource.com/c/infra/recipes/+/1838011\nCommit-Queue: global-integration-roller@fuchsia-infra.iam.gserviceaccount.com \u003cglobal-integration-roller@fuchsia-infra.iam.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "f87c8b9dfbe64a3f2913871ac6e19cb4eb3bd7ab",
      "tree": "ab095347d014f2717035c7ced2223acf6e33ba3a",
      "parents": [
        "91443845328cfc267e801fc248bff9aa25769d6a"
      ],
      "author": {
        "name": "global-integration-roller",
        "email": "global-integration-roller@fuchsia-infra.iam.gserviceaccount.com",
        "time": "Tue Sep 22 20:17:11 2026 -0700"
      },
      "committer": {
        "name": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Tue Sep 22 20:17:11 2026 -0700"
      },
      "message": "[roll] Update pinned tools\n\n- infra/tools/luci/gerrit/${platform}\n- infra/tools/luci/gitiles/${platform}\n- fuchsia/tools/jiri/${platform}\n- infra/tools/luci-auth/${platform}\n- infra/tools/luci-auth/${platform}\n\nRoller-URL: https://cr-buildbucket.appspot.com/build/8669919239811989521\nCQ-Do-Not-Cancel-Tryjobs: true\nChange-Id: I31bc37616da90cb8ee0ea80933e1c98cfe9320e8\nReviewed-on: https://fuchsia-review.googlesource.com/c/infra/recipes/+/1841194\nCommit-Queue: global-integration-roller@fuchsia-infra.iam.gserviceaccount.com \u003cglobal-integration-roller@fuchsia-infra.iam.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "91443845328cfc267e801fc248bff9aa25769d6a",
      "tree": "db789bcb402ebb060809b3f148d4029bd5792b60",
      "parents": [
        "d7c43a1a20be3dade03fce498c6ddf1257a1189b"
      ],
      "author": {
        "name": "David Fang",
        "email": "fangism@google.com",
        "time": "Tue Sep 22 18:34:41 2026 -0700"
      },
      "committer": {
        "name": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Tue Sep 22 18:34:41 2026 -0700"
      },
      "message": "Revert \"[build] Re-land: Migrate build recipe to main_build.py orchestration\"\n\nThis reverts commit 1ca8e65272c6918f9ce05d2e82f5fdd495e99ed8.\n\nReason for revert: broke builder\n\nFailure Link: https://ci.chromium.org/ui/p/turquoise/builders/global.ci/core.sherlock-debug-build_only/b8669929271088024273/overview\n\nOriginal change\u0027s description:\n\u003e [build] Re-land: Migrate build recipe to main_build.py orchestration\n\u003e\n\u003e Reland of commit e7f308288511d216108103c42b127373f4721435\n\u003e\n\u003e This change removes much logic around remote service setup for\n\u003e driving Fuchsia builds, now relying on main_build.py as the\n\u003e singular entry point shared by infra and developer (fx) builds.\n\u003e\n\u003e recipe_modules/build/api.py:\n\u003e - Resolves main_build dynamically from tool_paths.json.\n\u003e - fint-build wrapping is now an internal detail of main_build.py,\n\u003e   but we use output_metadata.json to get paths to important build\n\u003e   artifacts and logs.  No longer use the (Go) \u0027fint build\u0027.\n\u003e   - Adds parsing of output-metadata-json to resolve open logs,\n\u003e     RBE diagnostics, and detailed rrpl action logs for CAS uploading.\n\u003e - Streamlines recipe-side authentication by passing\n\u003e   main_build.py --auth-mode\u003dmachine, delegating credentials handling\n\u003e   to main_build.py.\n\u003e - Eliminates redundant RBE and ResultStore environment overrides on\n\u003e   the recipe side, now passing key service sockets as main_build.py\n\u003e   --remote-proxy-socket and --resultstore-proxy-socket (for\n\u003e   ResultStore).\n\u003e - Wraps sandbox execution in a Path-casted context manager\n\u003e   (cwd\u003dcontext.checkout_dir) to ensure robust relative path resolution\n\u003e   inside nsjail.\n\u003e - Factored out _read_output_metadata, _process_rbe_metadata, and\n\u003e   _nsjail_sandbox_cmd helpers.\n\u003e\n\u003e Follow-ups:\n\u003e - Delete resultstore recipe_module.\n\u003e - We cannot delete the rbe module because some non-Fuchsia builders\n\u003e   require it for reproxy setup/teardown.\n\u003e\n\u003e Bug: 450234102, 481021388\n\u003e Depends-On: Iccbcc464bb1672ab05f1c37724d56421e3d19670\n\u003e Change-Id: I8b1e8f32210d5443fc0124eb8021f4495bfc68d9\n\u003e Reviewed-on: https://fuchsia-review.googlesource.com/c/infra/recipes/+/1837632\n\u003e Dependencies-Satisfied: cl-deps-checker@fuchsia-internal-service-accts.iam.gserviceaccount.com \u003ccl-deps-checker@fuchsia-internal-service-accts.iam.gserviceaccount.com\u003e\n\u003e Fuchsia-Auto-Submit: David Fang \u003cfangism@google.com\u003e\n\u003e Presubmit-Verified: fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com \u003cfuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com\u003e\n\u003e Commit-Queue: David Fang \u003cfangism@google.com\u003e\n\u003e Reviewed-by: Ina Huh \u003cihuh@google.com\u003e\n\nBug: 450234102, 481021388\nNo-Presubmit: true\nNo-Tree-Checks: true\nNo-Try: true\nChange-Id: Idc9989bd3de12592ed85d74287bebe092442b2ce\nReviewed-on: https://fuchsia-review.googlesource.com/c/infra/recipes/+/1839807\nExempt: android-build-ayeaye@system.gserviceaccount.com \u003candroid-build-ayeaye@system.gserviceaccount.com\u003e\nCommit-Queue: Aaron Wood \u003caaronwood@google.com\u003e\n"
    },
    {
      "commit": "d7c43a1a20be3dade03fce498c6ddf1257a1189b",
      "tree": "3b798e463f8110902da16f0c2d88b4106fc4f492",
      "parents": [
        "fd96c6eca3713733160e1b51c2005039c18c862a"
      ],
      "author": {
        "name": "Carver Forbes",
        "email": "carverforbes@google.com",
        "time": "Tue Sep 22 17:55:06 2026 -0700"
      },
      "committer": {
        "name": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Tue Sep 22 17:55:06 2026 -0700"
      },
      "message": "[gce_disk_manager] Ignore `cleanup_shared_cache` failures.\n\nCurrently, if the `cleanup leftover shared cache` step fails due to a\ntransient GCE API polling timeout or unmount glitch, it aggressively\nfails the entire `mount shared cache` execution and stubbornly forces\na 100% cache miss.\n\nThe cleanup phase is primarily a quota housekeeping mechanism to prevent\nlong term disk accumulations on Swarming environments; it is not a\nstrict prerequisite to dynamically mounting a brand new cache volume.\nAdditionally, the GCE disk manager dynamically spins up explicitly\nidentified disks using unique instance paths, heavily mitigating risks\nof generic pathing collisions.\n\nTherefore, this explicitly catches `StepFailure` in the sequence and\nrenders the step as a WARNING so the cache partition can successfully\nbe attached to salvage the massive build speedup.\n\nBug: b/482892823\nChange-Id: Iffb70f2b2f856287e7a7516be9244925aca5652a\nReviewed-on: https://fuchsia-review.googlesource.com/c/infra/recipes/+/1840772\nReviewed-by: Zijun Wan \u003czijunwan@google.com\u003e\nCommit-Queue: Carver Forbes \u003ccarverforbes@google.com\u003e\n"
    },
    {
      "commit": "fd96c6eca3713733160e1b51c2005039c18c862a",
      "tree": "a3d7e34a22ceddeed98d6c4d32ccc5784a15153b",
      "parents": [
        "44627e363704d38960129a4bb708a0faee26dc72"
      ],
      "author": {
        "name": "Haowei Wu",
        "email": "haowei@google.com",
        "time": "Tue Sep 22 16:39:03 2026 -0700"
      },
      "committer": {
        "name": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Tue Sep 22 16:39:03 2026 -0700"
      },
      "message": "[git] Address git cache issue on Windows\n\nOn Windows, the default line separator is CRLF. When the recipe\ncreates a local checkout and write git alternatives config, on\nwindows, it used the CRLF separator and it cannot be parsed correctly\nby git as it reads the file in binary mode. This change mitigate this\nissue by writing a LF separator using write_raw function.\n\nBug: 565043794\nChange-Id: Ic3a1d8685e98dc3f2ca6dd0fb8325bb0fdba9dca\nReviewed-on: https://fuchsia-review.googlesource.com/c/infra/recipes/+/1838389\nFuchsia-Auto-Submit: Haowei Wu \u003chaowei@google.com\u003e\nReviewed-by: Rob Mohr \u003cmohrr@google.com\u003e\nSLSA-Policy-Verified: SLSA Policy Verification Service \u003cdevtools-gerritcodereview-exitgate@google.com\u003e\nCommit-Queue: Haowei Wu \u003chaowei@google.com\u003e\n"
    },
    {
      "commit": "44627e363704d38960129a4bb708a0faee26dc72",
      "tree": "87704f12d6682a4fad64307aa4f3e3a8c5a84442",
      "parents": [
        "1ca8e65272c6918f9ce05d2e82f5fdd495e99ed8"
      ],
      "author": {
        "name": "Rob Mohr",
        "email": "mohrr@google.com",
        "time": "Tue Sep 22 15:32:02 2026 -0700"
      },
      "committer": {
        "name": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Tue Sep 22 15:32:02 2026 -0700"
      },
      "message": "[deps] Add type annotations for self.m in recipe modules\n\nImport DEPS under TYPE_CHECKING in each recipe module\u0027s api.py and\nannotate m: DEPS on RecipeApi subclasses.\n\nChange-Id: I2eb894ac492e8beb42f0c956be4d4db1375b3874\nReviewed-on: https://fuchsia-review.googlesource.com/c/infra/recipes/+/1840450\nPresubmit-Verified: fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com \u003cfuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com\u003e\nCommit-Queue: Rob Mohr \u003cmohrr@google.com\u003e\nFuchsia-Auto-Submit: Rob Mohr \u003cmohrr@google.com\u003e\nReviewed-by: Oliver Newman \u003colivernewman@google.com\u003e\n"
    },
    {
      "commit": "1ca8e65272c6918f9ce05d2e82f5fdd495e99ed8",
      "tree": "4461894f991554ccd05017a22eb16acc35959ced",
      "parents": [
        "2b052f2c9d4d905486009c280e599e4c09c54261"
      ],
      "author": {
        "name": "David Fang",
        "email": "fangism@google.com",
        "time": "Tue Sep 22 13:30:09 2026 -0700"
      },
      "committer": {
        "name": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Tue Sep 22 13:30:09 2026 -0700"
      },
      "message": "[build] Re-land: Migrate build recipe to main_build.py orchestration\n\nReland of commit e7f308288511d216108103c42b127373f4721435\n\nThis change removes much logic around remote service setup for\ndriving Fuchsia builds, now relying on main_build.py as the\nsingular entry point shared by infra and developer (fx) builds.\n\nrecipe_modules/build/api.py:\n- Resolves main_build dynamically from tool_paths.json.\n- fint-build wrapping is now an internal detail of main_build.py,\n  but we use output_metadata.json to get paths to important build\n  artifacts and logs.  No longer use the (Go) \u0027fint build\u0027.\n  - Adds parsing of output-metadata-json to resolve open logs,\n    RBE diagnostics, and detailed rrpl action logs for CAS uploading.\n- Streamlines recipe-side authentication by passing\n  main_build.py --auth-mode\u003dmachine, delegating credentials handling\n  to main_build.py.\n- Eliminates redundant RBE and ResultStore environment overrides on\n  the recipe side, now passing key service sockets as main_build.py\n  --remote-proxy-socket and --resultstore-proxy-socket (for\n  ResultStore).\n- Wraps sandbox execution in a Path-casted context manager\n  (cwd\u003dcontext.checkout_dir) to ensure robust relative path resolution\n  inside nsjail.\n- Factored out _read_output_metadata, _process_rbe_metadata, and\n  _nsjail_sandbox_cmd helpers.\n\nFollow-ups:\n- Delete resultstore recipe_module.\n- We cannot delete the rbe module because some non-Fuchsia builders\n  require it for reproxy setup/teardown.\n\nBug: 450234102, 481021388\nDepends-On: Iccbcc464bb1672ab05f1c37724d56421e3d19670\nChange-Id: I8b1e8f32210d5443fc0124eb8021f4495bfc68d9\nReviewed-on: https://fuchsia-review.googlesource.com/c/infra/recipes/+/1837632\nDependencies-Satisfied: cl-deps-checker@fuchsia-internal-service-accts.iam.gserviceaccount.com \u003ccl-deps-checker@fuchsia-internal-service-accts.iam.gserviceaccount.com\u003e\nFuchsia-Auto-Submit: David Fang \u003cfangism@google.com\u003e\nPresubmit-Verified: fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com \u003cfuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com\u003e\nCommit-Queue: David Fang \u003cfangism@google.com\u003e\nReviewed-by: Ina Huh \u003cihuh@google.com\u003e\n"
    },
    {
      "commit": "2b052f2c9d4d905486009c280e599e4c09c54261",
      "tree": "07dd25631c7c7dbe4c6e5b65cd7726cb3d6851f5",
      "parents": [
        "6a482fa502a358baf4e300770eabac2fb5fb233b"
      ],
      "author": {
        "name": "Betram Lalusha",
        "email": "betramlalusha@google.com",
        "time": "Tue Sep 22 10:54:43 2026 -0700"
      },
      "committer": {
        "name": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Tue Sep 22 10:54:43 2026 -0700"
      },
      "message": "[recipes] Make fuchsia.tests.cell the default pool\n\nThere are no cells in fuchsia.tests currently.\n\nBug: 559846399\nChange-Id: Ie55efa0b0282f1f9df9426193fa121ef928ba92e\nReviewed-on: https://fuchsia-review.googlesource.com/c/infra/recipes/+/1840771\nReviewed-by: Carver Forbes \u003ccarverforbes@google.com\u003e\nCommit-Queue: Betram Lalusha \u003cbetramlalusha@google.com\u003e\n"
    },
    {
      "commit": "6a482fa502a358baf4e300770eabac2fb5fb233b",
      "tree": "a826f9a6106cc2a22086bbbed8ef42ab17c1dc3f",
      "parents": [
        "92f819739ec04e5285573ceb032fef1e07113875"
      ],
      "author": {
        "name": "Betram Lalusha",
        "email": "betramlalusha@google.com",
        "time": "Tue Sep 22 10:06:45 2026 -0700"
      },
      "committer": {
        "name": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Tue Sep 22 10:06:45 2026 -0700"
      },
      "message": "[recipes] Restrict recipe to fuchsia cell testbeds\n\nBug: 559846399\nChange-Id: Ifd2e9477d3e93e246845717ec580b5f31379be17\nReviewed-on: https://fuchsia-review.googlesource.com/c/infra/recipes/+/1840671\nReviewed-by: Carver Forbes \u003ccarverforbes@google.com\u003e\nCommit-Queue: Betram Lalusha \u003cbetramlalusha@google.com\u003e\n"
    },
    {
      "commit": "92f819739ec04e5285573ceb032fef1e07113875",
      "tree": "2de0809bfa1a3e3f5f406a638a4bd17b9f6ebe3a",
      "parents": [
        "d04800a7a23ac3745554c6cb09cf55408b29713d"
      ],
      "author": {
        "name": "Carver Forbes",
        "email": "carverforbes@google.com",
        "time": "Tue Sep 22 09:48:32 2026 -0700"
      },
      "committer": {
        "name": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Tue Sep 22 09:48:32 2026 -0700"
      },
      "message": "[android_artifact_downloader] Use ambient SA on public fuchsia builders\n\nPublic android_artifact_downloader builders in the `fuchsia` LUCI\nproject (such as `artifact-downloader.aosp_kernel-common`) run as\n`android-artifact-*-builder@fuchsia-service-accounts.iam.gserviceaccount.com`\nand cannot impersonate the internal\n`buildbot-atp@fuchsia-hsp.iam.gserviceaccount.com` service account.\n\nSince Android Build API v4 serves public AOSP branches (like\n`aosp_kernel-common-android16-6.12-2025-12`) to any authenticated Google\nCloud principal that provides a valid quota project, omit\n`-act-as-service-account` and pass `-user_project fuchsia-hsp` when\nrunning in the `fuchsia` LUCI project.\n\nBug: b/479530087\nChange-Id: I1e0b2dfacc08f0e9b851978a6100f29eae2e6231\nReviewed-on: https://fuchsia-review.googlesource.com/c/infra/recipes/+/1833850\nReviewed-by: Anthonio Saw \u003canthonio@google.com\u003e\nFuchsia-Auto-Submit: Carver Forbes \u003ccarverforbes@google.com\u003e\nCommit-Queue: Carver Forbes \u003ccarverforbes@google.com\u003e\n"
    },
    {
      "commit": "d04800a7a23ac3745554c6cb09cf55408b29713d",
      "tree": "bc3eec4bcc961e955d9e67b63908861f6102653b",
      "parents": [
        "500e8e398fb8bc85659a7fb6a57f42101f568616"
      ],
      "author": {
        "name": "David Fang",
        "email": "fangism@google.com",
        "time": "Tue Sep 22 08:57:32 2026 -0700"
      },
      "committer": {
        "name": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Tue Sep 22 08:57:32 2026 -0700"
      },
      "message": "[buildproxywrap] Only mount parent socket directory in nsjail\n\nMounting individual UNIX domain socket files inside nsjail fails with\nENXIO because nsjail opens them with O_RDONLY, which fails if there is\nno listener.  Inside the container, this clobbers the active sockets with\nempty regular files, breaking re-client (reproxy) RBE connection and\nforcing all compiles to fallback local.\nThis local fallback instantly OOM-kills memory-constrained 15GB VMs like\nTricium (status 137).\n\nFix by only mounting the parent socket directory itself, allowing sockets\ncreated inside it to be cleanly shared, accessible, and authenticated\ninside the container sandbox.\n\nBug: 450234102, 481021388\nChange-Id: I2bee1a7420cbaaacd4eb119eb675ad3ad5c6197d\nReviewed-on: https://fuchsia-review.googlesource.com/c/infra/recipes/+/1837631\nCommit-Queue: David Fang \u003cfangism@google.com\u003e\nReviewed-by: Oliver Newman \u003colivernewman@google.com\u003e\nPresubmit-Verified: fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com \u003cfuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "500e8e398fb8bc85659a7fb6a57f42101f568616",
      "tree": "a3315360cd8a41cae1020f0646769c8970b4e709",
      "parents": [
        "6da56fabd9ddd3b8de6fe690c656288cd15c8af6"
      ],
      "author": {
        "name": "global-integration-roller",
        "email": "global-integration-roller@fuchsia-infra.iam.gserviceaccount.com",
        "time": "Tue Sep 22 07:25:23 2026 -0700"
      },
      "committer": {
        "name": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Tue Sep 22 07:25:23 2026 -0700"
      },
      "message": "[roll] Update pinned tools\n\n- infra/3pp/tools/gcloud/${platform}\n\nRoller-URL: https://cr-buildbucket.appspot.com/build/8669957729151852737\nCQ-Do-Not-Cancel-Tryjobs: true\nChange-Id: I813ba26ee432c9ebe5fe35dea540c38f596512ce\nReviewed-on: https://fuchsia-review.googlesource.com/c/infra/recipes/+/1839829\nCommit-Queue: global-integration-roller@fuchsia-infra.iam.gserviceaccount.com \u003cglobal-integration-roller@fuchsia-infra.iam.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "6da56fabd9ddd3b8de6fe690c656288cd15c8af6",
      "tree": "daaeafee13672b19dc5d3268b5e5634a3ff435f3",
      "parents": [
        "788178b006b6e0f56f0097123f9df6f1925062c5"
      ],
      "author": {
        "name": "Oliver Newman",
        "email": "olivernewman@google.com",
        "time": "Mon Sep 21 19:20:55 2026 -0700"
      },
      "committer": {
        "name": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Mon Sep 21 19:20:55 2026 -0700"
      },
      "message": "[snap_branch] Support configurable subprojects\n\nPreviously the snap_branch.py recipe hardcoded fuchsia.git as the only\nsubimport of integration.git, but now that vendor/google is a subimport\nas well it makes more sense to configure the subimports centrally in the\nconfigs.\n\nBug: 562055082\nDepends-on: turquoise-internal:I613dee8baaf3d94e6c4d1af7e5c54bd00c16d447\nChange-Id: Ia0b3dade9dfa3dad5c433c3df36c63478db1c82d\nReviewed-on: https://fuchsia-review.googlesource.com/c/infra/recipes/+/1838304\nDependencies-Satisfied: cl-deps-checker@fuchsia-internal-service-accts.iam.gserviceaccount.com \u003ccl-deps-checker@fuchsia-internal-service-accts.iam.gserviceaccount.com\u003e\nPresubmit-Verified: fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com \u003cfuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com\u003e\nReviewed-by: Ina Huh \u003cihuh@google.com\u003e\nFuchsia-Auto-Submit: Oliver Newman \u003colivernewman@google.com\u003e\nCommit-Queue: Oliver Newman \u003colivernewman@google.com\u003e\n"
    },
    {
      "commit": "788178b006b6e0f56f0097123f9df6f1925062c5",
      "tree": "e66fae8414400a20512e16da7a2d443c772a18e5",
      "parents": [
        "e7f308288511d216108103c42b127373f4721435"
      ],
      "author": {
        "name": "David Fang",
        "email": "fangism@google.com",
        "time": "Mon Sep 21 18:40:35 2026 -0700"
      },
      "committer": {
        "name": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Mon Sep 21 18:40:35 2026 -0700"
      },
      "message": "Revert \"[build] Migrate build recipe to main_build.py orchestration\"\n\nThis reverts commit e7f308288511d216108103c42b127373f4721435.\n\nReason for revert: tricium RBE errors\n\nFailure Link: https://chat.google.com/room/AAAA_VdFwBc/UdKck0jLlLY\n\nOriginal change\u0027s description:\n\u003e [build] Migrate build recipe to main_build.py orchestration\n\u003e\n\u003e This change removes much logic around remote service setup for\n\u003e driving Fuchsia builds, now relying on main_build.py as the\n\u003e singular entry point shared by infra and developer (fx) builds.\n\u003e\n\u003e recipe_modules/build/api.py:\n\u003e - Resolves main_build dynamically from tool_paths.json.\n\u003e - fint-build wrapping is now an internal detail of main_build.py,\n\u003e   but we use output_metadata.json to get paths to important build\n\u003e   artifacts and logs.  No longer use the (Go) \u0027fint build\u0027.\n\u003e   - Adds parsing of output-metadata-json to resolve open logs,\n\u003e     RBE diagnostics, and detailed rrpl action logs for CAS uploading.\n\u003e - Streamlines recipe-side authentication by passing\n\u003e   main_build.py --auth-mode\u003dmachine, delegating credentials handling\n\u003e   to main_build.py.\n\u003e - Eliminates redundant RBE and ResultStore environment overrides on\n\u003e   the recipe side, now passing key service sockets as main_build.py\n\u003e   --remote-proxy-socket and --resultstore-proxy-socket (for\n\u003e   ResultStore).\n\u003e - Wraps sandbox execution in a Path-casted context manager\n\u003e   (cwd\u003dcontext.checkout_dir) to ensure robust relative path resolution\n\u003e   inside nsjail.\n\u003e - Factored out _read_output_metadata, _process_rbe_metadata, and\n\u003e   _nsjail_sandbox_cmd helpers.\n\u003e\n\u003e Follow-ups:\n\u003e - Delete resultstore recipe_module.\n\u003e - We cannot delete the rbe module because some non-Fuchsia builders\n\u003e   require it for reproxy setup/teardown.\n\u003e\n\u003e Bug: 450234102, 481021388\n\u003e Depends-On: Idd64843288b5679d34c3906a86e08a2207cd8c38\n\u003e Change-Id: I47b8ec9b26898b6b71622fcdcf3a8caf4b9bd786\n\u003e Reviewed-on: https://fuchsia-review.googlesource.com/c/infra/recipes/+/1805039\n\u003e Reviewed-by: Oliver Newman \u003colivernewman@google.com\u003e\n\u003e Commit-Queue: David Fang \u003cfangism@google.com\u003e\n\u003e Dependencies-Satisfied: cl-deps-checker@fuchsia-internal-service-accts.iam.gserviceaccount.com \u003ccl-deps-checker@fuchsia-internal-service-accts.iam.gserviceaccount.com\u003e\n\u003e Fuchsia-Auto-Submit: David Fang \u003cfangism@google.com\u003e\n\nBug: 450234102, 481021388\nNo-Presubmit: true\nNo-Tree-Checks: true\nNo-Try: true\nChange-Id: I1acf5deafac3780c71bbd6081be39a11fe05acf2\nReviewed-on: https://fuchsia-review.googlesource.com/c/infra/recipes/+/1838705\nExempt: android-build-ayeaye@system.gserviceaccount.com \u003candroid-build-ayeaye@system.gserviceaccount.com\u003e\nReviewed-by: Aaron Wood \u003caaronwood@google.com\u003e\nCommit-Queue: Aaron Wood \u003caaronwood@google.com\u003e\n"
    },
    {
      "commit": "e7f308288511d216108103c42b127373f4721435",
      "tree": "0b939040641a356735fb56d7cc134d5a739ff99e",
      "parents": [
        "ad6e9b7893096d42e269f9d20962f21a24db3e31"
      ],
      "author": {
        "name": "David Fang",
        "email": "fangism@google.com",
        "time": "Mon Sep 21 15:29:41 2026 -0700"
      },
      "committer": {
        "name": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Mon Sep 21 15:29:41 2026 -0700"
      },
      "message": "[build] Migrate build recipe to main_build.py orchestration\n\nThis change removes much logic around remote service setup for\ndriving Fuchsia builds, now relying on main_build.py as the\nsingular entry point shared by infra and developer (fx) builds.\n\nrecipe_modules/build/api.py:\n- Resolves main_build dynamically from tool_paths.json.\n- fint-build wrapping is now an internal detail of main_build.py,\n  but we use output_metadata.json to get paths to important build\n  artifacts and logs.  No longer use the (Go) \u0027fint build\u0027.\n  - Adds parsing of output-metadata-json to resolve open logs,\n    RBE diagnostics, and detailed rrpl action logs for CAS uploading.\n- Streamlines recipe-side authentication by passing\n  main_build.py --auth-mode\u003dmachine, delegating credentials handling\n  to main_build.py.\n- Eliminates redundant RBE and ResultStore environment overrides on\n  the recipe side, now passing key service sockets as main_build.py\n  --remote-proxy-socket and --resultstore-proxy-socket (for\n  ResultStore).\n- Wraps sandbox execution in a Path-casted context manager\n  (cwd\u003dcontext.checkout_dir) to ensure robust relative path resolution\n  inside nsjail.\n- Factored out _read_output_metadata, _process_rbe_metadata, and\n  _nsjail_sandbox_cmd helpers.\n\nFollow-ups:\n- Delete resultstore recipe_module.\n- We cannot delete the rbe module because some non-Fuchsia builders\n  require it for reproxy setup/teardown.\n\nBug: 450234102, 481021388\nDepends-On: Idd64843288b5679d34c3906a86e08a2207cd8c38\nChange-Id: I47b8ec9b26898b6b71622fcdcf3a8caf4b9bd786\nReviewed-on: https://fuchsia-review.googlesource.com/c/infra/recipes/+/1805039\nReviewed-by: Oliver Newman \u003colivernewman@google.com\u003e\nCommit-Queue: David Fang \u003cfangism@google.com\u003e\nDependencies-Satisfied: cl-deps-checker@fuchsia-internal-service-accts.iam.gserviceaccount.com \u003ccl-deps-checker@fuchsia-internal-service-accts.iam.gserviceaccount.com\u003e\nFuchsia-Auto-Submit: David Fang \u003cfangism@google.com\u003e\n"
    },
    {
      "commit": "ad6e9b7893096d42e269f9d20962f21a24db3e31",
      "tree": "e66fae8414400a20512e16da7a2d443c772a18e5",
      "parents": [
        "6146a5b97f2e97e629e8f6b28be8ce49fbcdc195"
      ],
      "author": {
        "name": "global-integration-roller",
        "email": "global-integration-roller@fuchsia-infra.iam.gserviceaccount.com",
        "time": "Mon Sep 21 11:29:33 2026 -0700"
      },
      "committer": {
        "name": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Mon Sep 21 11:29:33 2026 -0700"
      },
      "message": "[roll] Update pinned tools\n\n- fuchsia/shac/${platform}\n\nRoller-URL: https://cr-buildbucket.appspot.com/build/8670026932944334209\nCQ-Do-Not-Cancel-Tryjobs: true\nChange-Id: I72f6ae5ebe4f270b067b1b8836d097098d9803aa\nReviewed-on: https://fuchsia-review.googlesource.com/c/infra/recipes/+/1837825\nCommit-Queue: global-integration-roller@fuchsia-infra.iam.gserviceaccount.com \u003cglobal-integration-roller@fuchsia-infra.iam.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "6146a5b97f2e97e629e8f6b28be8ce49fbcdc195",
      "tree": "8276d6160f79ead8df0ccf52a53665368c91cb54",
      "parents": [
        "158d9155c61a9ce0102b83fd22f47b0a5efafe43"
      ],
      "author": {
        "name": "weijliao",
        "email": "weijliao@google.com",
        "time": "Mon Sep 21 11:17:38 2026 -0700"
      },
      "committer": {
        "name": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Mon Sep 21 11:17:38 2026 -0700"
      },
      "message": "[coverage] Embed sdk_libraries map from sdk_fidl_json.json into api_coverage.json\n\nPreviously, api_coverage.json only recorded file paths and method coverage ranges, forcing downstream ingestion to guess whether a FIDL library belongs to the SDK using a file path prefix heuristic (\"fidling/gen/sdk/\"). However, 223 internal FIDL libraries reside under //sdk/fidl/ without an sdk_category, causing ~1,239 internal methods to be misclassified as SDK methods.\n\nUpdate parse_api_coverage.py to read out/default/sdk_fidl_json.json and embed a top-level \"sdk_libraries\" dictionary (mapping library_name -\u003e sdk_category, such as \"partner\", \"prebuilt\", or \"host_tool\") into api_coverage.json so downstream parsers can accurately identify official SDK libraries and their categories.\n\nChange-Id: Iee6e1d391419f942893a4bbd6785023d602a24a3\nReviewed-on: https://fuchsia-review.googlesource.com/c/infra/recipes/+/1828969\nFuchsia-Auto-Submit: michael liao \u003cweijliao@google.com\u003e\nReviewed-by: Christopher Johnson \u003ccrjohns@google.com\u003e\nCommit-Queue: michael liao \u003cweijliao@google.com\u003e\nUnsafe-Rust-Review: michael liao \u003cweijliao@google.com\u003e\nReviewed-by: Ina Huh \u003cihuh@google.com\u003e\n"
    },
    {
      "commit": "158d9155c61a9ce0102b83fd22f47b0a5efafe43",
      "tree": "373673200a6e523bee0138f5ca4e29b8ec9e393e",
      "parents": [
        "f4d2e9f331550c06442c19718cbe55f23afb401c"
      ],
      "author": {
        "name": "Rob Mohr",
        "email": "mohrr@google.com",
        "time": "Mon Sep 21 10:50:34 2026 -0700"
      },
      "committer": {
        "name": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Mon Sep 21 10:50:34 2026 -0700"
      },
      "message": "[cleanup_deps] Add missing deps back\n\nPreviously the script only removed DEPS entries that were no longer\nused. Now it also adds entries for modules that are used but not\ndeclared, so that adding an `api.buildbucket` reference to a file is\nenough to get\n\n    from RECIPE_MODULES.recipe_engine import buildbucket as buildbucket_module\n\nand\n\n    buildbucket: buildbucket_module.API\n\ninserted automatically.\n\nTo know which repo provides a given module, replace the old\nupstream-only scan with find_modules(), which indexes this repo as well\nas each .recipe_deps repo. Local modules shadow upstream ones of the\nsame name, matching how the engine resolves a bare `api.foo` reference.\n\nImports are inserted as individual statements after the last existing\nimport and then merged into the appropriate parenthesized block by the\nexisting ruff pass.\n\nTwo cases are deliberately left alone rather than guessed at:\n\n* Names that don\u0027t resolve to any known module, which are much more\n  likely to be false positives than real missing deps.\n* Modules with no test_api.py, which can\u0027t be added to TEST_DEPS.\n\nAlso rename DataclassDeps.class_lineno to start_lineno and make it\ndecorator-inclusive, so imports inserted above a DEPS class don\u0027t land\nbetween the @dataclass decorator and the class statement.\n\nTests include a round trip that deletes every dataclass field and\n`_module` import from a file, reruns the script, and asserts the file is\nrestored byte for byte. It runs against both a synthetic recipe and\ncopies of real files, and reuses the real pyproject.toml so the ruff\nimport merging is actually exercised.\n\nChange-Id: Iad771f64bf68f13d869898e5b9a87cec764fa30a\nReviewed-on: https://fuchsia-review.googlesource.com/c/infra/recipes/+/1837604\nReviewed-by: Oliver Newman \u003colivernewman@google.com\u003e\nPresubmit-Verified: fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com \u003cfuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com\u003e\nCommit-Queue: Rob Mohr \u003cmohrr@google.com\u003e\n"
    },
    {
      "commit": "f4d2e9f331550c06442c19718cbe55f23afb401c",
      "tree": "62564cac429a9f4c3a96c8e1f9bb558f6c461afc",
      "parents": [
        "7b4e007330cca165de089c24d6ea84a9e40fad08"
      ],
      "author": {
        "name": "global-integration-roller",
        "email": "global-integration-roller@fuchsia-infra.iam.gserviceaccount.com",
        "time": "Sat Sep 19 00:50:40 2026 -0700"
      },
      "committer": {
        "name": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Sat Sep 19 00:50:40 2026 -0700"
      },
      "message": "[roll] Update coverage pinned tools\n\n- fuchsia/coverage/absolute_uploader/${platform}\n- fuchsia/coverage/incremental_uploader/${platform}\n\nRoller-URL: https://cr-buildbucket.appspot.com/build/8670264180244326225\nCQ-Do-Not-Cancel-Tryjobs: true\nCq-Include-Trybots: luci.fuchsia.try:fuchsia-coverage-absolute\nChange-Id: Id6df0a140c0f92e2817389013c52dc5fbe9e4007\nReviewed-on: https://fuchsia-review.googlesource.com/c/infra/recipes/+/1835984\nCommit-Queue: global-integration-roller@fuchsia-infra.iam.gserviceaccount.com \u003cglobal-integration-roller@fuchsia-infra.iam.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "7b4e007330cca165de089c24d6ea84a9e40fad08",
      "tree": "c55dac86a55270c6292023481cd2059649727ce4",
      "parents": [
        "054136572e502f764671df0eb18bb6f63a8ec081"
      ],
      "author": {
        "name": "global-integration-roller",
        "email": "global-integration-roller@fuchsia-infra.iam.gserviceaccount.com",
        "time": "Fri Sep 18 16:34:03 2026 -0700"
      },
      "committer": {
        "name": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Fri Sep 18 16:34:03 2026 -0700"
      },
      "message": "[roll] Update pinned tools\n\n- fuchsia/shac/${platform}\n\nRoller-URL: https://cr-buildbucket.appspot.com/build/8670279497912746497\nCQ-Do-Not-Cancel-Tryjobs: true\nChange-Id: I54d55d6a219fba55bebe72bd6d270e37606b075a\nReviewed-on: https://fuchsia-review.googlesource.com/c/infra/recipes/+/1835689\nCommit-Queue: global-integration-roller@fuchsia-infra.iam.gserviceaccount.com \u003cglobal-integration-roller@fuchsia-infra.iam.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "054136572e502f764671df0eb18bb6f63a8ec081",
      "tree": "b891daa4d50081d5c9846140ded63998dce6d922",
      "parents": [
        "368f074568d285446defd8db6bd31223ad87a3f7"
      ],
      "author": {
        "name": "Erick Tryzelaar",
        "email": "etryzelaar@google.com",
        "time": "Fri Sep 18 15:55:29 2026 -0700"
      },
      "committer": {
        "name": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Fri Sep 18 15:55:29 2026 -0700"
      },
      "message": "[rust] Avoid name collision in clang wrappers\n\nPreviously, we\u0027d generate wrapper scripts for using `clang++` both as\nthe C++ compiler and our linker, but both wrappers ended up writing to\nthe same file. This change produces independent files for both use\ncases.\n\nChange-Id: I345dafa3351f5856660c2776b570f9e84cbbaa9f\nReviewed-on: https://fuchsia-review.googlesource.com/c/infra/recipes/+/1834555\nPresubmit-Verified: fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com \u003cfuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com\u003e\nCommit-Queue: Erick Tryzelaar \u003cetryzelaar@google.com\u003e\nReviewed-by: Haowei Wu \u003chaowei@google.com\u003e\nFuchsia-Auto-Submit: Erick Tryzelaar \u003cetryzelaar@google.com\u003e\n"
    },
    {
      "commit": "368f074568d285446defd8db6bd31223ad87a3f7",
      "tree": "506233f5a4cc19ecd8360d0f782e25d792d1d95e",
      "parents": [
        "d534ad51684dec55b2cf21612c7ee6495cf7a7c2"
      ],
      "author": {
        "name": "Mark Seaborn",
        "email": "mseaborn@google.com",
        "time": "Fri Sep 18 15:38:45 2026 -0700"
      },
      "committer": {
        "name": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Fri Sep 18 15:38:45 2026 -0700"
      },
      "message": "[perf] Support multi-device builders for running performance tests\n\nAdd the parameter \"perf_publish_multi_device_builder\" to the builder\nparameters.  When this is set, it causes the recipe to set the env var\n\"PERF_PUBLISH_MULTI_DEVICE_BUILDER\" for Swarming tasks, which tells\nthe perf_publish library to encode device type names into the\n\"test_suite\" field for performance results.\n\nBug: 400403380\nChange-Id: Ic10d31ee6b7c144c9498496e9d23e8b9ff74336f\nReviewed-on: https://fuchsia-review.googlesource.com/c/infra/recipes/+/1822731\nCommit-Queue: Mark Seaborn \u003cmseaborn@google.com\u003e\nReviewed-by: Oliver Newman \u003colivernewman@google.com\u003e\nPresubmit-Verified: fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com \u003cfuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "d534ad51684dec55b2cf21612c7ee6495cf7a7c2",
      "tree": "60f3ab8a21789f9f9539d8c7565e00e1ca64dd6b",
      "parents": [
        "531e981e24a900df2ec9f4d5c0287e330c00aa0e"
      ],
      "author": {
        "name": "Rob Mohr",
        "email": "mohrr@google.com",
        "time": "Fri Sep 18 15:37:27 2026 -0700"
      },
      "committer": {
        "name": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Fri Sep 18 15:37:27 2026 -0700"
      },
      "message": "[lease_infra_device] Migrate to dataclass deps\n\nChange-Id: Ib15063a1a10c20cf29b2ab4609897ae89a93c7dc\nReviewed-on: https://fuchsia-review.googlesource.com/c/infra/recipes/+/1834554\nReviewed-by: Advik Sachdeva \u003cadviks@google.com\u003e\nCommit-Queue: Rob Mohr \u003cmohrr@google.com\u003e\nPresubmit-Verified: fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com \u003cfuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com\u003e\nFuchsia-Auto-Submit: Rob Mohr \u003cmohrr@google.com\u003e\n"
    },
    {
      "commit": "531e981e24a900df2ec9f4d5c0287e330c00aa0e",
      "tree": "274b579789f4ba6f61e5f0609d35d19303af9b8a",
      "parents": [
        "e7eeafcd7e3c89672fbce94dd8b9304872f17160"
      ],
      "author": {
        "name": "global-integration-roller",
        "email": "global-integration-roller@fuchsia-infra.iam.gserviceaccount.com",
        "time": "Fri Sep 18 14:50:28 2026 -0700"
      },
      "committer": {
        "name": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Fri Sep 18 14:50:28 2026 -0700"
      },
      "message": "[roll] Update pinned tools\n\n- turquoise_internal/infra/mos-artifact/${platform}\n- fuchsia/infra/gcs-util/${platform}\n- fuchsia/infra/autocorrelator/${platform}\n- fuchsia/infra/bigquery/${platform}\n- fuchsia/infra/size_check/${platform}\n- fuchsia/infra/size_diff/${platform}\n- fuchsia/infra/buildproxywrap/${platform}\n- fuchsia/infra/buildsetlookup/${platform}\n- fuchsia/infra/catapult/${platform}\n- fuchsia/infra/cipd-resolver/${platform}\n- fuchsia/infra/cl-util/${platform}\n- fuchsia/infra/gce_disk_manager/${platform}\n- fuchsia/infra/issuetracker/${platform}\n- fuchsia/infra/lkg/${platform}\n- fuchsia/infra/cl-util/${platform}\n- turquoise_internal/infra/publish/${platform}\n- fuchsia/infra/roller-configurator/${platform}\n- turquoise_internal/infra/android-build-downloader/${platform}\n- fuchsia/infra/multi-repo-roll-resolver/${platform}\n- fuchsia/infra/submodule_update/${platform}\n- fuchsia/infra/autogardener/${platform}\n- fuchsia/infra/update_test_durations/${platform}\n\nRoller-URL: https://cr-buildbucket.appspot.com/build/8670291129019718161\nCQ-Do-Not-Cancel-Tryjobs: true\nChange-Id: I1dd92a6acbfa7e2a9cb3f3e5c143a545b936be7c\nReviewed-on: https://fuchsia-review.googlesource.com/c/infra/recipes/+/1835010\nCommit-Queue: global-integration-roller@fuchsia-infra.iam.gserviceaccount.com \u003cglobal-integration-roller@fuchsia-infra.iam.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "e7eeafcd7e3c89672fbce94dd8b9304872f17160",
      "tree": "2bcaea28be631ac951c28a5f2c731082752ae9fd",
      "parents": [
        "98b29346d231d71c315ae54747156df8075f8f27"
      ],
      "author": {
        "name": "Rob Mohr",
        "email": "mohrr@google.com",
        "time": "Fri Sep 18 13:42:41 2026 -0700"
      },
      "committer": {
        "name": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Fri Sep 18 13:42:41 2026 -0700"
      },
      "message": "[cleanup_deps] Fix end line of DEPS blocks\n\nUpdate so body_end_line stops at the last field annotation\n(ast.AnnAssign or ast.Pass) rather than erasing methods defined on DEPS\n(such as __repr__).\n\nChange-Id: Ie1a5ae333b06b65d5a86a53207bd9328205a5c65\nReviewed-on: https://fuchsia-review.googlesource.com/c/infra/recipes/+/1835329\nFuchsia-Auto-Submit: Rob Mohr \u003cmohrr@google.com\u003e\nReviewed-by: Oliver Newman \u003colivernewman@google.com\u003e\nCommit-Queue: Rob Mohr \u003cmohrr@google.com\u003e\n"
    },
    {
      "commit": "98b29346d231d71c315ae54747156df8075f8f27",
      "tree": "bccdbac8f8aaf69745778ac813a200a8ed3d9496",
      "parents": [
        "c54aeeff9b0b88847d52d7b9e0944c7e9729b84e"
      ],
      "author": {
        "name": "Rob Mohr",
        "email": "mohrr@google.com",
        "time": "Fri Sep 18 13:40:04 2026 -0700"
      },
      "committer": {
        "name": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Fri Sep 18 13:40:04 2026 -0700"
      },
      "message": "[lease_infra_device] Fix non-determinism in test\n\nChange-Id: Ia051aa9648485deb57e77d83805b37ac38e311c4\nReviewed-on: https://fuchsia-review.googlesource.com/c/infra/recipes/+/1834310\nFuchsia-Auto-Submit: Rob Mohr \u003cmohrr@google.com\u003e\nCommit-Queue: Rob Mohr \u003cmohrr@google.com\u003e\nPresubmit-Verified: fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com \u003cfuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com\u003e\nReviewed-by: Rahul Bangar \u003crahulbn@google.com\u003e\n"
    },
    {
      "commit": "c54aeeff9b0b88847d52d7b9e0944c7e9729b84e",
      "tree": "7398aeedde6472ccc06d8a0c1ee5eb39681c1ee6",
      "parents": [
        "122e19df8e49a1f8dff41114c4c2eaa4ca30de03"
      ],
      "author": {
        "name": "Rob Mohr",
        "email": "mohrr@google.com",
        "time": "Fri Sep 18 13:06:09 2026 -0700"
      },
      "committer": {
        "name": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Fri Sep 18 13:06:09 2026 -0700"
      },
      "message": "[cleanup_deps] Support dataclass DEPS\n\nUpdate scripts/cleanup_deps.py to support dataclass DEPS and TEST_DEPS:\n- Parse field annotations in `@dataclass class DEPS` and `TEST_DEPS`.\n- Use call graph reachability from GenTests and RunSteps to separate\n  test-generation dependencies (TEST_DEPS) from runtime execution\n  dependencies (DEPS).\n- Ignore 2-part RECIPE_MODULES imports used solely for type annotations\n  and account for base RecipeScriptApi/RecipeTestApi methods.\n- Automatically remove unused fields from DEPS and TEST_DEPS (falling\n  back to `pass` if empty), and prune newly unused imports with ruff.\n- Add tests for cleanup_deps.py (not run automatically)\n\nRun the updated script across the repository to remove unused deps\nfrom recipes and module test files.\n\nChange-Id: I87049fdb01b7f9d84ad5c1bd753a5bad0aa03bcf\nReviewed-on: https://fuchsia-review.googlesource.com/c/infra/recipes/+/1814970\nReviewed-by: Oliver Newman \u003colivernewman@google.com\u003e\nSLSA-Policy-Verified: SLSA Policy Verification Service \u003cdevtools-gerritcodereview-exitgate@google.com\u003e\nCommit-Queue: Rob Mohr \u003cmohrr@google.com\u003e\nPresubmit-Verified: fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com \u003cfuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "122e19df8e49a1f8dff41114c4c2eaa4ca30de03",
      "tree": "e65d4befd878ba1e1ef9677061cc54fe3f8016d3",
      "parents": [
        "e1f4dd17c837a324e440527dfb4d8278e22090ed"
      ],
      "author": {
        "name": "Betram Lalusha",
        "email": "betramlalusha@google.com",
        "time": "Fri Sep 18 11:53:43 2026 -0700"
      },
      "committer": {
        "name": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Fri Sep 18 11:53:43 2026 -0700"
      },
      "message": "[recipes] Fix typos in device type names\n\nBug: 559846399\nChange-Id: Id56d2d30aebd48598d3ed7e604997b08a0d0335c\nReviewed-on: https://fuchsia-review.googlesource.com/c/infra/recipes/+/1834493\nReviewed-by: Advik Sachdeva \u003cadviks@google.com\u003e\nReviewed-by: Carver Forbes \u003ccarverforbes@google.com\u003e\nCommit-Queue: Betram Lalusha \u003cbetramlalusha@google.com\u003e\nFuchsia-Auto-Submit: Betram Lalusha \u003cbetramlalusha@google.com\u003e\n"
    },
    {
      "commit": "e1f4dd17c837a324e440527dfb4d8278e22090ed",
      "tree": "6f75a20b54d741bd8766bfd430e4aaa4bfe6b9b4",
      "parents": [
        "f8c80fccfa9e86d6b4339c636801cc92ac920b82"
      ],
      "author": {
        "name": "Betram Lalusha",
        "email": "betramlalusha@google.com",
        "time": "Fri Sep 18 11:18:36 2026 -0700"
      },
      "committer": {
        "name": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Fri Sep 18 11:18:36 2026 -0700"
      },
      "message": "[recipes] Add simple command for testing to lease_infra_device recipe\n\nThe build currently fails with `[E2026-09-18T18:04:31.427905Z 5848 0\nannotate.go:55] rpc error: code \u003d InvalidArgument desc \u003d bad request:\ninvalid properties of slice 0: command: required`.\n\nBug: 559846399\nChange-Id: I51ed185b21743ceedf1533058cedf38a42f8b2f0\nReviewed-on: https://fuchsia-review.googlesource.com/c/infra/recipes/+/1834491\nReviewed-by: Carver Forbes \u003ccarverforbes@google.com\u003e\nCommit-Queue: Betram Lalusha \u003cbetramlalusha@google.com\u003e\n"
    },
    {
      "commit": "f8c80fccfa9e86d6b4339c636801cc92ac920b82",
      "tree": "dd387291fb82c59e9652d19de02cba103f7e4e4e",
      "parents": [
        "6b682e01f8d8951ea31dc4313b9e912be9987475"
      ],
      "author": {
        "name": "Rob Mohr",
        "email": "mohrr@google.com",
        "time": "Fri Sep 18 08:33:40 2026 -0700"
      },
      "committer": {
        "name": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Fri Sep 18 08:33:40 2026 -0700"
      },
      "message": "validate_lucicfg: Separate the race condition check\n\nMake the race condition check callable separately so it can be invoked\nby a different builder. This will make it more obvious what the problem\nis from the Gerrit UI.\n\nAlso update some proto comments.\n\nChange-Id: Ia81816100f9196dee91243c39a9d00dd3aa67846\nReviewed-on: https://fuchsia-review.googlesource.com/c/infra/recipes/+/1834529\nFuchsia-Auto-Submit: Rob Mohr \u003cmohrr@google.com\u003e\nReviewed-by: Advik Sachdeva \u003cadviks@google.com\u003e\nCommit-Queue: Rob Mohr \u003cmohrr@google.com\u003e\nPresubmit-Verified: fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com \u003cfuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "6b682e01f8d8951ea31dc4313b9e912be9987475",
      "tree": "fc312aacd3182fdfbc20245a7473c98a23c40457",
      "parents": [
        "4a39326bb0587c32297b3e396e52bd5137c6d049"
      ],
      "author": {
        "name": "Advik Sachdeva",
        "email": "adviks@google.com",
        "time": "Fri Sep 18 08:32:06 2026 -0700"
      },
      "committer": {
        "name": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Fri Sep 18 08:32:06 2026 -0700"
      },
      "message": "[gerrit_auto_submit] Exempt quota takeovers from the retry backoff\n\nAuto-submit\u0027s own on-behalf-of CQ+2 vote already consumes attempt #1, so\nby the time the bot observes that the change is queued behind the\ntriggering user\u0027s CQ quota it is an hour into the exponential backoff.\nThe takeover exists to move the change into the bot\u0027s quota pool, and\nwaiting out a backoff that no failure earned gives back most of the\ndelay the takeover is meant to avoid.\n\nBug: b/556362421\nChange-Id: Ia25d082284a9c4abbfa3d907051421add177d541\nReviewed-on: https://fuchsia-review.googlesource.com/c/infra/recipes/+/1827670\nPresubmit-Verified: fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com \u003cfuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com\u003e\nReviewed-by: Rob Mohr \u003cmohrr@google.com\u003e\nCommit-Queue: Advik Sachdeva \u003cadviks@google.com\u003e\n"
    },
    {
      "commit": "4a39326bb0587c32297b3e396e52bd5137c6d049",
      "tree": "e0bf5fdc9e17263942dffc5fbc09ea42c04fc1e3",
      "parents": [
        "a4f98185346dd1f711e319ee22fa4a67fce4fd2b"
      ],
      "author": {
        "name": "recipe-roller",
        "email": "global-integration-roller@fuchsia-infra.iam.gserviceaccount.com",
        "time": "Fri Sep 18 02:10:24 2026 -0700"
      },
      "committer": {
        "name": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Fri Sep 18 02:10:24 2026 -0700"
      },
      "message": "Roll recipe dependencies (trivial).\n\nThis is an automated CL created by the recipe roller. This CL rolls\nrecipe changes from upstream projects (recipe_engine) into this repository.\n\nThe build that created this CL was\nhttps://ci.chromium.org/b/8670339830424577793\n\nrecipe_engine:\nhttps://chromium.googlesource.com/infra/luci/recipes-py/+/b46cb6da5f16f2ca116f486953d4a6d641579d51\n  b46cb6d (jwata@google.com)\n      [cas] Roll CAS Client to b38049afc44e.\n\nPlease check the following references for more information:\n- autoroller, https://chromium.googlesource.com/infra/luci/recipes-py/+/main/doc/workflow.md#autoroller\n- rollback, https://chromium.googlesource.com/infra/luci/recipes-py/+/main/doc/workflow.md#rollback\n- cross-repo dependencies, https://chromium.googlesource.com/infra/luci/recipes-py/+/main/doc/cross_repo.md\n\nUse https://goo.gl/noib3a to file a bug.\n\nRecipe-Tryjob-Bypass-Reason: Autoroller\nIgnore-Freeze: Autoroller\nBugdroid-Send-Email: False\nChange-Id: Ic0cff80ad31406f3aab550c2491f8da85b2c64fc\nReviewed-on: https://fuchsia-review.googlesource.com/c/infra/recipes/+/1833890\nCommit-Queue: global-integration-roller@fuchsia-infra.iam.gserviceaccount.com \u003cglobal-integration-roller@fuchsia-infra.iam.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "a4f98185346dd1f711e319ee22fa4a67fce4fd2b",
      "tree": "ac7b68c85e477c2ea5a087fc3de9fbe9cd8d685a",
      "parents": [
        "ff3ddc4f93052c0f1457c1a95a9768ec5de7160c"
      ],
      "author": {
        "name": "global-integration-roller",
        "email": "global-integration-roller@fuchsia-infra.iam.gserviceaccount.com",
        "time": "Thu Sep 17 20:31:36 2026 -0700"
      },
      "committer": {
        "name": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Thu Sep 17 20:31:36 2026 -0700"
      },
      "message": "[roll] Update coverage pinned tools\n\n- fuchsia/coverage/absolute_uploader/${platform}\n- fuchsia/coverage/incremental_uploader/${platform}\n\nRoller-URL: https://cr-buildbucket.appspot.com/build/8670370144798190497\nCQ-Do-Not-Cancel-Tryjobs: true\nCq-Include-Trybots: luci.fuchsia.try:fuchsia-coverage-absolute\nChange-Id: I81f6d9f3b173cfede4d8a88e28ace00ddecfcb04\nReviewed-on: https://fuchsia-review.googlesource.com/c/infra/recipes/+/1833170\nCommit-Queue: global-integration-roller@fuchsia-infra.iam.gserviceaccount.com \u003cglobal-integration-roller@fuchsia-infra.iam.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "ff3ddc4f93052c0f1457c1a95a9768ec5de7160c",
      "tree": "f7dcf52881c4cfd1762636eef875788104c42f57",
      "parents": [
        "9c96375c665c5f7abb6bbf1b77f12e96ce3cbfde"
      ],
      "author": {
        "name": "global-integration-roller",
        "email": "global-integration-roller@fuchsia-infra.iam.gserviceaccount.com",
        "time": "Thu Sep 17 16:14:34 2026 -0700"
      },
      "committer": {
        "name": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Thu Sep 17 16:14:34 2026 -0700"
      },
      "message": "[roll] Update pinned tools\n\n- fuchsia/tools/jiri/${platform}\n\nRoller-URL: https://cr-buildbucket.appspot.com/build/8670374636203995713\nCQ-Do-Not-Cancel-Tryjobs: true\nChange-Id: Ibd631e575cf06b9d67a995b1a51d8ae3bc2bd9be\nReviewed-on: https://fuchsia-review.googlesource.com/c/infra/recipes/+/1832409\nCommit-Queue: global-integration-roller@fuchsia-infra.iam.gserviceaccount.com \u003cglobal-integration-roller@fuchsia-infra.iam.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "9c96375c665c5f7abb6bbf1b77f12e96ce3cbfde",
      "tree": "1f1095f04b8c4912963a839207a362bb11cb4fe6",
      "parents": [
        "b75b4846986adf3110a986b150fb577ce0b1770c"
      ],
      "author": {
        "name": "Betram Lalusha",
        "email": "betramlalusha@google.com",
        "time": "Thu Sep 17 12:02:04 2026 -0700"
      },
      "committer": {
        "name": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Thu Sep 17 12:02:04 2026 -0700"
      },
      "message": "[recipes] Adds barebones lease_infra_device recipe\n\nThe recipe will be used to start an ssh server on a fuchsia cell that\nwill allow engineers to lease the lab device for a max duration of 1\nhour. This CL adds the barebones of the recipe that will allow the lease\ninfra device builder to launch a no-op swarming task on a device.\n\nBug: 559846399\nChange-Id: I9e481b53426aae411c81d050db3e479b86420525\nReviewed-on: https://fuchsia-review.googlesource.com/c/infra/recipes/+/1832389\nCommit-Queue: Betram Lalusha \u003cbetramlalusha@google.com\u003e\nReviewed-by: Liz Kammer \u003ceakammer@google.com\u003e\nReviewed-by: Carver Forbes \u003ccarverforbes@google.com\u003e\n"
    },
    {
      "commit": "b75b4846986adf3110a986b150fb577ce0b1770c",
      "tree": "143fbc55d86ba7dde08555f973ecb23bbc525b70",
      "parents": [
        "1d8f384fd80d8d9ea3a41c4e0381f7fd3ffe43cb"
      ],
      "author": {
        "name": "Rob Mohr",
        "email": "mohrr@google.com",
        "time": "Thu Sep 17 09:49:20 2026 -0700"
      },
      "committer": {
        "name": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Thu Sep 17 09:49:20 2026 -0700"
      },
      "message": "[deps] Migrate to dataclass deps\n\nMigrate all recipes, recipe modules, and recipe module tests from the\nlegacy string-list `DEPS \u003d [...]` syntax to dataclass declarations:\n- Declare `@dataclass class DEPS(RecipeScriptApi)` with typed attributes\n  (`\u003cmodule\u003e: \u003cmodule\u003e.API`) imported from `RECIPE_MODULES`.\n- Declare `@dataclass class TEST_DEPS(RecipeTestApi)` with\n  `\u003cmodule\u003e.TEST_API` for modules accessed during test generation in\n  `GenTests`.\n- Add type annotations for `api` across `RunSteps`, `GenTests`, and\n  top-level execution and test helper functions.\n- Update `scripts/cleanup_deps.py` to support 2-part `RECIPE_MODULES`\n  imports and skip files using dataclass `DEPS`.\n\nChange-Id: Ic84b9041a090b14c704ac133b1f7749d37f69e22\nReviewed-on: https://fuchsia-review.googlesource.com/c/infra/recipes/+/1814969\nSLSA-Policy-Verified: SLSA Policy Verification Service \u003cdevtools-gerritcodereview-exitgate@google.com\u003e\nReviewed-by: Liz Kammer \u003ceakammer@google.com\u003e\nCommit-Queue: Rob Mohr \u003cmohrr@google.com\u003e\nPresubmit-Verified: fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com \u003cfuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "1d8f384fd80d8d9ea3a41c4e0381f7fd3ffe43cb",
      "tree": "cea1fe8c5f6a378aac4cd27f30420584d9e85869",
      "parents": [
        "90144beeef518e1997a3cb223128268d49ac6e34"
      ],
      "author": {
        "name": "recipe-roller",
        "email": "global-integration-roller@fuchsia-infra.iam.gserviceaccount.com",
        "time": "Thu Sep 17 07:03:51 2026 -0700"
      },
      "committer": {
        "name": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Thu Sep 17 07:03:51 2026 -0700"
      },
      "message": "Roll recipe dependencies (trivial).\n\nThis is an automated CL created by the recipe roller. This CL rolls\nrecipe changes from upstream projects (recipe_engine) into this repository.\n\nThe build that created this CL was\nhttps://ci.chromium.org/b/8670419650757634641\n\nrecipe_engine:\nhttps://chromium.googlesource.com/infra/luci/recipes-py/+/be9f1543144865f8bd2c2a3ad582bfd311bdba99\n  be9f154 (fancl@chromium.org)\n      [bcid_reporter] Report task stages in path_env()\n\nPlease check the following references for more information:\n- autoroller, https://chromium.googlesource.com/infra/luci/recipes-py/+/main/doc/workflow.md#autoroller\n- rollback, https://chromium.googlesource.com/infra/luci/recipes-py/+/main/doc/workflow.md#rollback\n- cross-repo dependencies, https://chromium.googlesource.com/infra/luci/recipes-py/+/main/doc/cross_repo.md\n\nUse https://goo.gl/noib3a to file a bug.\n\nRecipe-Tryjob-Bypass-Reason: Autoroller\nIgnore-Freeze: Autoroller\nBugdroid-Send-Email: False\nChange-Id: Ie8d9809e98e0289889c989eca6f1d358a6db428a\nReviewed-on: https://fuchsia-review.googlesource.com/c/infra/recipes/+/1831749\nCommit-Queue: global-integration-roller@fuchsia-infra.iam.gserviceaccount.com \u003cglobal-integration-roller@fuchsia-infra.iam.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "90144beeef518e1997a3cb223128268d49ac6e34",
      "tree": "8361f6fd85f8b4264dfe091c351368a5a9fe3ccb",
      "parents": [
        "31ab6a4b2adce82ac7f842a57a26740c877984cd"
      ],
      "author": {
        "name": "recipe-roller",
        "email": "global-integration-roller@fuchsia-infra.iam.gserviceaccount.com",
        "time": "Thu Sep 17 01:26:01 2026 -0700"
      },
      "committer": {
        "name": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Thu Sep 17 01:26:01 2026 -0700"
      },
      "message": "Roll recipe dependencies (trivial).\n\nThis is an automated CL created by the recipe roller. This CL rolls\nrecipe changes from upstream projects (recipe_engine) into this repository.\n\nThe build that created this CL was\nhttps://ci.chromium.org/b/8670442476294126273\n\nrecipe_engine:\nhttps://chromium.googlesource.com/infra/luci/recipes-py/+/ea422e0942817baea082321e0179ff43911dbc8b\n  ea422e0 (fancl@chromium.org)\n      [bcid_reporter] Use cipd.ensure_tool to install snoopy_broker\n\nPlease check the following references for more information:\n- autoroller, https://chromium.googlesource.com/infra/luci/recipes-py/+/main/doc/workflow.md#autoroller\n- rollback, https://chromium.googlesource.com/infra/luci/recipes-py/+/main/doc/workflow.md#rollback\n- cross-repo dependencies, https://chromium.googlesource.com/infra/luci/recipes-py/+/main/doc/cross_repo.md\n\nUse https://goo.gl/noib3a to file a bug.\n\nRecipe-Tryjob-Bypass-Reason: Autoroller\nIgnore-Freeze: Autoroller\nBugdroid-Send-Email: False\nChange-Id: I9f19e48520f5353ef54a6c575bfd35f39335fd18\nReviewed-on: https://fuchsia-review.googlesource.com/c/infra/recipes/+/1831110\nCommit-Queue: global-integration-roller@fuchsia-infra.iam.gserviceaccount.com \u003cglobal-integration-roller@fuchsia-infra.iam.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "31ab6a4b2adce82ac7f842a57a26740c877984cd",
      "tree": "5172617fa8bce4e0ec1c489f8d9a58b0c7b12319",
      "parents": [
        "04117cab8bee343caa88df0571bf3a3f26368a5e"
      ],
      "author": {
        "name": "global-integration-roller",
        "email": "global-integration-roller@fuchsia-infra.iam.gserviceaccount.com",
        "time": "Wed Sep 16 15:35:56 2026 -0700"
      },
      "committer": {
        "name": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Wed Sep 16 15:35:56 2026 -0700"
      },
      "message": "[roll] Update pinned tools\n\n- fuchsia/third_party/clang/${platform}\n\nRoller-URL: https://cr-buildbucket.appspot.com/build/8670464714699017921\nCQ-Do-Not-Cancel-Tryjobs: true\nChange-Id: Ib647b6c65e817245b3ff6c7fb262dfb7f29669c5\nReviewed-on: https://fuchsia-review.googlesource.com/c/infra/recipes/+/1828150\nCommit-Queue: global-integration-roller@fuchsia-infra.iam.gserviceaccount.com \u003cglobal-integration-roller@fuchsia-infra.iam.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "04117cab8bee343caa88df0571bf3a3f26368a5e",
      "tree": "1ca429fe927b3a30f0fd347e8893abd9e5cef334",
      "parents": [
        "b6fa312176980218848ed61ffd7062d49f29c0de"
      ],
      "author": {
        "name": "eakammer",
        "email": "eakammer@google.com",
        "time": "Wed Sep 16 11:57:59 2026 -0700"
      },
      "committer": {
        "name": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Wed Sep 16 11:57:59 2026 -0700"
      },
      "message": "[roller] Integrate GCS baking delay into third_party_repo_roller\n\nIntegrate the GCS-ledger-based baking delay check into third_party_repo_roller\nfor tag-based rollers. Add min_baking_delay_days to input properties\nand add integration tests.\n\nNote: This change does not introduce a baking delay immediately. We will\nneed to update the roller configurations to set min_baking_delay_days \u003e 0\nto enable it.\n\nTAG\u003dagy\nCONV\u003dad6f4ced-6869-4241-83ed-d64998e1a1a2\n\nChange-Id: Ibf991c7bf855d5e445f4e7b947bf7da16a6a6964\nReviewed-on: https://fuchsia-review.googlesource.com/c/infra/recipes/+/1796179\nCommit-Queue: Liz Kammer \u003ceakammer@google.com\u003e\nReviewed-by: Carver Forbes \u003ccarverforbes@google.com\u003e\n"
    },
    {
      "commit": "b6fa312176980218848ed61ffd7062d49f29c0de",
      "tree": "1250529963345035b81a4db4a4fd398f98ee4da9",
      "parents": [
        "6b0504fdd61a3dbccd8d61a2cd95e6a1e9a06afb"
      ],
      "author": {
        "name": "Carver Forbes",
        "email": "carverforbes@google.com",
        "time": "Wed Sep 16 11:57:49 2026 -0700"
      },
      "committer": {
        "name": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Wed Sep 16 11:57:49 2026 -0700"
      },
      "message": "[gce_disk_manager] Bump max retained generations to 2\n\nThe `gce_disk_manager` Go binary currently defaults to a hardcoded\n`DefaultMaxRetainedGenerations \u003d 1`. This aggressive eviction policy\ncauses catastrophic cache misses (forcing full multi-hour block\nrecompilations) on slower Trybots if a postsubmit CI builder publishes\na new snapshot and instantly orphans the older lineage while a CQ job\nis still in queue.\n\nThis change injects a `max_retained_generations` parameter (defaulting\nto 2) directly into the `mount_shared_cache` and `delete_old_cache_entries`\nrecipe orchestration APIs, seamlessly passing the `--max-retained-generations 2`\nCLI flag down to the disk manager.\n\nBy expanding the historical buffer from 1 to 2 generations globally,\nthis fixes the core eviction race condition and will significantly\nslash the fleet-wide Median and Mean build durations by eliminating the\n3-hour catastrophic latency tail.\n\nBug: b/482892823\nChange-Id: I1ec72957a2f1b587921796f9cf5892666c0d6de1\nReviewed-on: https://fuchsia-review.googlesource.com/c/infra/recipes/+/1829609\nReviewed-by: Betram Lalusha \u003cbetramlalusha@google.com\u003e\nReviewed-by: Advik Sachdeva \u003cadviks@google.com\u003e\nCommit-Queue: Carver Forbes \u003ccarverforbes@google.com\u003e\nFuchsia-Auto-Submit: Carver Forbes \u003ccarverforbes@google.com\u003e\n"
    },
    {
      "commit": "6b0504fdd61a3dbccd8d61a2cd95e6a1e9a06afb",
      "tree": "b52ce2be0d5f604156fd59dab4b4272a5bb9c2da",
      "parents": [
        "58e6dc8577e5a227d1bb557018e1b89f65c27968"
      ],
      "author": {
        "name": "Erick Tryzelaar",
        "email": "etryzelaar@google.com",
        "time": "Wed Sep 16 10:58:19 2026 -0700"
      },
      "committer": {
        "name": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Wed Sep 16 10:58:19 2026 -0700"
      },
      "message": "[rust] Optionally enable ccache usage for rust\n\nThis extends the `generate_config.py` to generate a config.toml that can\noptionally enable ccache. It adds the following arguments:\n\n* `--ccache \"path/to/sccache\"` to point at a ccache-compatible path,\n  such as `sccache`.\n\nChange-Id: Ic1edaaa2609f3b3b20d477abef414e46ee601204\nReviewed-on: https://fuchsia-review.googlesource.com/c/infra/recipes/+/1827993\nReviewed-by: Leonard Chan \u003cleonardchan@google.com\u003e\nCommit-Queue: Leonard Chan \u003cleonardchan@google.com\u003e\nFuchsia-Auto-Submit: Erick Tryzelaar \u003cetryzelaar@google.com\u003e\n"
    },
    {
      "commit": "58e6dc8577e5a227d1bb557018e1b89f65c27968",
      "tree": "bd478afca0ccf5708f723f4d7deb00fb0ae7e542",
      "parents": [
        "8216ab4695dda372ad3282bf49c2e5b35b87d4b2"
      ],
      "author": {
        "name": "eakammer",
        "email": "eakammer@google.com",
        "time": "Wed Sep 16 05:50:03 2026 -0700"
      },
      "committer": {
        "name": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Wed Sep 16 05:50:03 2026 -0700"
      },
      "message": "[rollers] Integrate GCS baking delay into Git rollers\n\nIntegrate the GCS-ledger-based baking delay check into git_roll_util.\nUpdate fuchsia_roller tests to mock GCS ledger steps.\n\nTAG\u003dagy\nCONV\u003dad6f4ced-6869-4241-83ed-d64998e1a1a2\n\nChange-Id: I3280a0b326c468541c4e5a62b16a3aa16a6a6964\nReviewed-on: https://fuchsia-review.googlesource.com/c/infra/recipes/+/1796178\nCommit-Queue: Liz Kammer \u003ceakammer@google.com\u003e\nReviewed-by: Carver Forbes \u003ccarverforbes@google.com\u003e\nReviewed-by: Ina Huh \u003cihuh@google.com\u003e\n"
    },
    {
      "commit": "8216ab4695dda372ad3282bf49c2e5b35b87d4b2",
      "tree": "80646626da3afa4a6dde66c444ca815928264d75",
      "parents": [
        "2d68cd2d464be993c93a33fb71895618ddaad62b"
      ],
      "author": {
        "name": "Advik Sachdeva",
        "email": "adviks@google.com",
        "time": "Tue Sep 15 15:53:30 2026 -0700"
      },
      "committer": {
        "name": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Tue Sep 15 15:53:30 2026 -0700"
      },
      "message": "[gerrit_auto_submit] Take Presubmit-Verified date from the vote\u0027s message\n\nThe `vote[\"date\"]` used in `_has_valid_presubmit_verified` is invalid,\nso the check was always falsy. Instead, take the timestamp from the\nmessage that recorded the vote instead. Messages survive the round trip\nintact, and the recipe already requests `o\u003dMESSAGES` and parses them to\nresolve the applied patchset. Resolving a single message now yields both\nthe timestamp and the patchset, so the two cannot describe different\nvotes.\n\nBug: b/556362421\nChange-Id: I20b40ddb376702468e20af47a2ca276e1760245f\nReviewed-on: https://fuchsia-review.googlesource.com/c/infra/recipes/+/1826989\nCommit-Queue: Advik Sachdeva \u003cadviks@google.com\u003e\nReviewed-by: Rob Mohr \u003cmohrr@google.com\u003e\nReviewed-by: Ina Huh \u003cihuh@google.com\u003e\nFuchsia-Auto-Submit: Advik Sachdeva \u003cadviks@google.com\u003e\n"
    },
    {
      "commit": "2d68cd2d464be993c93a33fb71895618ddaad62b",
      "tree": "a5c694813a3de082ec0a954362b29b0492e8b8fd",
      "parents": [
        "aef1c9283586ae9ae2e0a44b3f26639887a47018"
      ],
      "author": {
        "name": "Haowei Wu",
        "email": "haowei@google.com",
        "time": "Tue Sep 15 14:34:02 2026 -0700"
      },
      "committer": {
        "name": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Tue Sep 15 14:34:02 2026 -0700"
      },
      "message": "Revert \"[clang_toolchain] Temporarily ignore \"modules-driver-depscan-log.cpp\" test\"\n\nThis reverts commit cd1c157a2ce05caf2b08f01d5a7f5db26d52b774.\n\nReason for revert: Issue addressed from upstream.\n\n\nOriginal change\u0027s description:\n\u003e [clang_toolchain] Temporarily ignore \"modules-driver-depscan-log.cpp\" test\n\u003e\n\u003e This patch ignores \"modules-driver-depscan-log.cpp\" test on mac\n\u003e to mitigate a potential clang driver bug.\n\u003e\n\u003e Bug: 558926953\n\u003e Change-Id: I07516d791413dc35b58fbc7ce4ebe818bb275189\n\u003e Reviewed-on: https://fuchsia-review.googlesource.com/c/infra/recipes/+/1811334\n\u003e Reviewed-by: Leonard Chan \u003cleonardchan@google.com\u003e\n\u003e Commit-Queue: Haowei Wu \u003chaowei@google.com\u003e\n\nBug: 558926953\nChange-Id: Idf862e0aed1ab9e5c065162d3e38115dfdf14b93\nReviewed-on: https://fuchsia-review.googlesource.com/c/infra/recipes/+/1827173\nExempt: android-build-ayeaye@system.gserviceaccount.com \u003candroid-build-ayeaye@system.gserviceaccount.com\u003e\nCommit-Queue: Haowei Wu \u003chaowei@google.com\u003e\n"
    },
    {
      "commit": "aef1c9283586ae9ae2e0a44b3f26639887a47018",
      "tree": "a0158d4486f6ed48e3a92f9ef2fd574057b7044b",
      "parents": [
        "6dfcb15196645ebdae1044d129e386e9053d9431"
      ],
      "author": {
        "name": "Erick Tryzelaar",
        "email": "etryzelaar@google.com",
        "time": "Tue Sep 15 14:27:08 2026 -0700"
      },
      "committer": {
        "name": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Tue Sep 15 14:27:08 2026 -0700"
      },
      "message": "[rust] Fix canaries by cross compiling arm64 and x64\n\nThis fixes the rust canaries by making sure the CAS buckets produced by\nthe arm64 and x64 bots include both arm64 and x64 linux target\nartifacts. However we only publish to CIPD the arm64 artifacts produced\nby the arm64 bot, and the x64 artifacts produced by the x64 bot.\n\nChange-Id: I7b985c4f78fa5104d74c1252477784df4c2a5314\nReviewed-on: https://fuchsia-review.googlesource.com/c/infra/recipes/+/1827453\nReviewed-by: Haowei Wu \u003chaowei@google.com\u003e\nCommit-Queue: Erick Tryzelaar \u003cetryzelaar@google.com\u003e\nFuchsia-Auto-Submit: Erick Tryzelaar \u003cetryzelaar@google.com\u003e\nPresubmit-Verified: fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com \u003cfuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "6dfcb15196645ebdae1044d129e386e9053d9431",
      "tree": "73905db79b12964d9878e06b7ab65d36109975b2",
      "parents": [
        "e46a8169debe672d39adad4a98e67e0bbb2faf51"
      ],
      "author": {
        "name": "Bruno Dal Bo",
        "email": "brunodalbo@google.com",
        "time": "Tue Sep 15 14:05:56 2026 -0700"
      },
      "committer": {
        "name": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Tue Sep 15 14:05:56 2026 -0700"
      },
      "message": "[toolchain][go] Fix cross-compiled gofmt\n\nWhen cross-compiling to ARM we were using the host build of gomt\nerroneously.\n\nFixed: 559686583\nChange-Id: Iba1a3a8067503656c6e9d6df8d83df696a6a6964\nReviewed-on: https://fuchsia-review.googlesource.com/c/infra/recipes/+/1827990\nCommit-Queue: Bruno Dal Bo \u003cbrunodalbo@google.com\u003e\nPresubmit-Verified: fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com \u003cfuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com\u003e\nReviewed-by: Oliver Newman \u003colivernewman@google.com\u003e\n"
    },
    {
      "commit": "e46a8169debe672d39adad4a98e67e0bbb2faf51",
      "tree": "056d4b5b8a0dc017eaf37fc2f67fb3709def44c2",
      "parents": [
        "944407d8febbc89b494882337f5090ce62092084"
      ],
      "author": {
        "name": "global-integration-roller",
        "email": "global-integration-roller@fuchsia-infra.iam.gserviceaccount.com",
        "time": "Tue Sep 15 11:40:36 2026 -0700"
      },
      "committer": {
        "name": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Tue Sep 15 11:40:36 2026 -0700"
      },
      "message": "[roll] Update coverage pinned tools\n\n- fuchsia/coverage/absolute_uploader/${platform}\n- fuchsia/coverage/incremental_uploader/${platform}\n\nRoller-URL: https://cr-buildbucket.appspot.com/build/8670586356118160145\nCQ-Do-Not-Cancel-Tryjobs: true\nCq-Include-Trybots: luci.fuchsia.try:fuchsia-coverage-absolute\nChange-Id: I39382eb3d1c1477cd0af32a26d82dfa172e8e93b\nReviewed-on: https://fuchsia-review.googlesource.com/c/infra/recipes/+/1826949\nCommit-Queue: global-integration-roller@fuchsia-infra.iam.gserviceaccount.com \u003cglobal-integration-roller@fuchsia-infra.iam.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "944407d8febbc89b494882337f5090ce62092084",
      "tree": "7b7e44de615a33253d90bdd77e7e66e532e25d52",
      "parents": [
        "b4905cee04a0a7b3ad3a11bbd94ad37f797b9f5a"
      ],
      "author": {
        "name": "global-integration-roller",
        "email": "global-integration-roller@fuchsia-infra.iam.gserviceaccount.com",
        "time": "Tue Sep 15 09:48:36 2026 -0700"
      },
      "committer": {
        "name": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Tue Sep 15 09:48:36 2026 -0700"
      },
      "message": "[roll] Update pinned tools\n\n- fuchsia/shac/${platform}\n\nRoller-URL: https://cr-buildbucket.appspot.com/build/8670576867125552513\nCQ-Do-Not-Cancel-Tryjobs: true\nChange-Id: I4f2c1285ed56a58ca9d53c4da3948c3f61b844f6\nReviewed-on: https://fuchsia-review.googlesource.com/c/infra/recipes/+/1827171\nCommit-Queue: global-integration-roller@fuchsia-infra.iam.gserviceaccount.com \u003cglobal-integration-roller@fuchsia-infra.iam.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "b4905cee04a0a7b3ad3a11bbd94ad37f797b9f5a",
      "tree": "ecfc1b41fc6f9ac5003d93cf43a45a8759e97b7f",
      "parents": [
        "44f576c240c05316673c0df81419d77e259dd06f"
      ],
      "author": {
        "name": "Ina Huh",
        "email": "ihuh@google.com",
        "time": "Tue Sep 15 07:01:30 2026 -0700"
      },
      "committer": {
        "name": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Tue Sep 15 07:01:30 2026 -0700"
      },
      "message": "[gerrit_auto_submit] Default presubmit_verified_label to None\n\nfor get_eligible_changes() which is used by other recipes like the\nrelease/auto_submit.py recipe for which we only want changes with the\nspecified auto_submit_label.\n\nBug: 556362421\nChange-Id: Iaaf5acd0a1c17c707091b614dbae288dd8389cfc\nReviewed-on: https://fuchsia-review.googlesource.com/c/infra/recipes/+/1826269\nFuchsia-Auto-Submit: Ina Huh \u003cihuh@google.com\u003e\nReviewed-by: Advik Sachdeva \u003cadviks@google.com\u003e\nPresubmit-Verified: fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com \u003cfuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com\u003e\nCommit-Queue: Ina Huh \u003cihuh@google.com\u003e\n"
    },
    {
      "commit": "44f576c240c05316673c0df81419d77e259dd06f",
      "tree": "e575d3ef70815b508904a7ceffd76b60f07a5734",
      "parents": [
        "fcad209a519591a9c14374db367b9c346ab3870e"
      ],
      "author": {
        "name": "global-integration-roller",
        "email": "global-integration-roller@fuchsia-infra.iam.gserviceaccount.com",
        "time": "Tue Sep 15 06:56:52 2026 -0700"
      },
      "committer": {
        "name": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Tue Sep 15 06:56:52 2026 -0700"
      },
      "message": "[roll] Update pinned tools\n\n- infra/3pp/tools/gcloud/${platform}\n\nRoller-URL: https://cr-buildbucket.appspot.com/build/8670592849480300545\nCQ-Do-Not-Cancel-Tryjobs: true\nChange-Id: I060e543d67deace816381da453870a973700ed44\nReviewed-on: https://fuchsia-review.googlesource.com/c/infra/recipes/+/1826650\nCommit-Queue: global-integration-roller@fuchsia-infra.iam.gserviceaccount.com \u003cglobal-integration-roller@fuchsia-infra.iam.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "fcad209a519591a9c14374db367b9c346ab3870e",
      "tree": "ce4d3deeaf7cd8b584cce6cfa2d4104beebf9e5b",
      "parents": [
        "5479ddf311a82d59a7efae5cb67291281bdf0b48"
      ],
      "author": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Tue Sep 15 05:16:56 2026 -0700"
      },
      "committer": {
        "name": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Tue Sep 15 05:16:56 2026 -0700"
      },
      "message": "[bazel] Add new recipe to build Bazel from sources.\n\nAdd recipes/contrib/bazel.py, a new LUCI recipe to build\nBazel from sources. This is limited to linux-amd64 because\na JDK is required, and there is only one for this platform\n(from CIPD chromium/third_party/jdk package).\n\nNotes:\n\n- The recipe uploads a CIPD archive to fuchsia/third_party/bazel/\n  while the existing 3pp recipe (which only downloads prebuilts\n  from official Bazel mirrors), uses fuchsia/third_party/3pp/bazel/.\n\n  The former path hasn\u0027t been used in more than 2 years, and\n  currently holds Bazel 7.5.x archives.\n\n- This is limited to linux-amd64 for several reasons:\n\n  - An OpenJDK is required, and only one for linux-amd64\n    is available from chromium/third_party/jdk.\n\n  - Building Bazel requires an \u0027unzip\u0027 host tool available\n    in PATH, and this is only part of the linux-amd64\n    builder images, not from linux-arm64.\n\n- Most of the heavy work is performed by\n  recipes/contrib/bazel.resources/build-bazel.sh whose\n  reference implementation lives in\n  fuchsia.git/build/bootstrap_scripts/bazel/\n\n- Building Bazel requires a \u0027zip\u0027 host tool in PATH,\n  and none is available in builder images. As a work-around\n  the \u0027zip\u0027 Python script is provided to re-implement the\n  tool features required by the build. This should\n  be removed once https://fxbug.dev/557132228 is fixed.\n\n- A previous \"boot\" Bazel binary is also required, this\n  uses the current Bazel 8.5.1 CIPD package, which could\n  rebuild Bazel 8.5.1, 8.6.0, 8.8.0 and 9.2.0 with this\n  recipe.\n\nBug: 502071423\nBug: 557132228\nChange-Id: I3f96211c7fcc71f2c90a586c06feb17a4479b301\nReviewed-on: https://fuchsia-review.googlesource.com/c/infra/recipes/+/1810469\nReviewed-by: Oliver Newman \u003colivernewman@google.com\u003e\nPresubmit-Verified: fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com \u003cfuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com\u003e\nCommit-Queue: David Turner \u003cdigit@google.com\u003e\n"
    },
    {
      "commit": "5479ddf311a82d59a7efae5cb67291281bdf0b48",
      "tree": "447a050fd59da0047b6707936258ac8306a09643",
      "parents": [
        "12b1619ac468a3c6eb9362f3528c43d5dae3a049"
      ],
      "author": {
        "name": "recipe-roller",
        "email": "global-integration-roller@fuchsia-infra.iam.gserviceaccount.com",
        "time": "Tue Sep 15 04:45:38 2026 -0700"
      },
      "committer": {
        "name": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Tue Sep 15 04:45:38 2026 -0700"
      },
      "message": "Roll recipe dependencies (trivial).\n\nThis is an automated CL created by the recipe roller. This CL rolls\nrecipe changes from upstream projects (recipe_engine) into this repository.\n\nThe build that created this CL was\nhttps://ci.chromium.org/b/8670602104406318449\n\nrecipe_engine:\nhttps://chromium.googlesource.com/infra/luci/recipes-py/+/1b2761b7f7c586b69b1b72cd003512d3c90cc117\n  1b2761b (fancl@chromium.org)\n      [bcid_reporter] Add path_env() context manager\n\nPlease check the following references for more information:\n- autoroller, https://chromium.googlesource.com/infra/luci/recipes-py/+/main/doc/workflow.md#autoroller\n- rollback, https://chromium.googlesource.com/infra/luci/recipes-py/+/main/doc/workflow.md#rollback\n- cross-repo dependencies, https://chromium.googlesource.com/infra/luci/recipes-py/+/main/doc/cross_repo.md\n\nUse https://goo.gl/noib3a to file a bug.\n\nRecipe-Tryjob-Bypass-Reason: Autoroller\nIgnore-Freeze: Autoroller\nBugdroid-Send-Email: False\nChange-Id: Ia1cf6476af2dcfabfefc3bdef3a26c8e921cb4ec\nReviewed-on: https://fuchsia-review.googlesource.com/c/infra/recipes/+/1826629\nCommit-Queue: global-integration-roller@fuchsia-infra.iam.gserviceaccount.com \u003cglobal-integration-roller@fuchsia-infra.iam.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "12b1619ac468a3c6eb9362f3528c43d5dae3a049",
      "tree": "a0ccb00b7a5db609f9625c4be05655e8ee2192bc",
      "parents": [
        "664411314749fe72f174f36282237fff9ba0e864"
      ],
      "author": {
        "name": "global-integration-roller",
        "email": "global-integration-roller@fuchsia-infra.iam.gserviceaccount.com",
        "time": "Mon Sep 14 16:29:00 2026 -0700"
      },
      "committer": {
        "name": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Mon Sep 14 16:29:00 2026 -0700"
      },
      "message": "[roll] Update pinned tools\n\n- fuchsia/tools/jiri/${platform}\n\nRoller-URL: https://cr-buildbucket.appspot.com/build/8670647299361744273\nCQ-Do-Not-Cancel-Tryjobs: true\nChange-Id: I760a9b82abb448579f4e2c852f42e84038131f01\nReviewed-on: https://fuchsia-review.googlesource.com/c/infra/recipes/+/1825269\nCommit-Queue: global-integration-roller@fuchsia-infra.iam.gserviceaccount.com \u003cglobal-integration-roller@fuchsia-infra.iam.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "664411314749fe72f174f36282237fff9ba0e864",
      "tree": "6ed0578d105638c9e8a45fc0c8c50fed9f453a39",
      "parents": [
        "c107d3f97c82c521931d3f54bffcb90ad24f0d54"
      ],
      "author": {
        "name": "Advik Sachdeva",
        "email": "adviks@google.com",
        "time": "Mon Sep 14 15:34:09 2026 -0700"
      },
      "committer": {
        "name": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Mon Sep 14 15:34:09 2026 -0700"
      },
      "message": "Reland \"[gerrit_auto_submit] Add Presubmit-Verified quota bypass sweeper\"\n\nThis is a reland of commit 5aa4613b0571019eba313de48887006207a28b0c\n\nOriginal change\u0027s description:\n\u003e [gerrit_auto_submit] Add Presubmit-Verified quota bypass sweeper\n\u003e\n\u003e - Expand change query to find submittable CQ+2 changes with Presubmit-Verified+1.\n\u003e - Detect changes waiting on user quota in LUCI CV and take over CQ+2 as the bot.\n\u003e - Add comprehensive test coverage for quota bypass, expiration, and error handling.\n\u003e\n\u003e Bug: b/556362421\n\u003e Change-Id: I3d1659898e8fce85082a50c67a377b036c1856d9\n\u003e Reviewed-on: https://fuchsia-review.googlesource.com/c/infra/recipes/+/1807217\n\u003e Reviewed-by: Rob Mohr \u003cmohrr@google.com\u003e\n\u003e Reviewed-by: Ina Huh \u003cihuh@google.com\u003e\n\u003e Commit-Queue: Advik Sachdeva \u003cadviks@google.com\u003e\n\nBug: b/556362421\nChange-Id: I0a776891407fe6de9249246637bc5f193e08f57e\nReviewed-on: https://fuchsia-review.googlesource.com/c/infra/recipes/+/1824309\nReviewed-by: Ina Huh \u003cihuh@google.com\u003e\nReviewed-by: Rob Mohr \u003cmohrr@google.com\u003e\nCommit-Queue: Advik Sachdeva \u003cadviks@google.com\u003e\n"
    },
    {
      "commit": "c107d3f97c82c521931d3f54bffcb90ad24f0d54",
      "tree": "ecaeb1aad54b0c2e5a1efd592743ca8d39f6326a",
      "parents": [
        "a32d2eb6817ea45d613b0c17683b447b5ba1bcac"
      ],
      "author": {
        "name": "Advik Sachdeva",
        "email": "adviks@google.com",
        "time": "Mon Sep 14 14:57:48 2026 -0700"
      },
      "committer": {
        "name": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Mon Sep 14 14:57:48 2026 -0700"
      },
      "message": "[static_checks][shac] Support affected-only checks\n\nUpdate `static_checks` and the `shac` recipe module to support running\nchecks on affected files only and controlling Gerrit comments emission:\n\n- static_checks.proto: Add `do_not_rebase_patch`, `all_files`,\n  and `emit_gerrit_comments` to `InputProperties`.\n- recipe_modules/shac/api.py: Add `all_files` to `api.shac.check()`\n  to allow omitting `--all` for affected-only checks.\n- recipes/static_checks.py:\n  - Pass `rebase_patch\u003dnot props.do_not_rebase_patch` to checkout.\n  - Plumb `emit_gerrit_comments` and `all_files` through to `api.shac.check()`.\n  - Add test case for affected-only CQ execution.\n\nBug: b/409615402\nChange-Id: If35f326cc33da93ad34e45d13b04d57a532e58cb\nReviewed-on: https://fuchsia-review.googlesource.com/c/infra/recipes/+/1802057\nReviewed-by: Oliver Newman \u003colivernewman@google.com\u003e\nCommit-Queue: Advik Sachdeva \u003cadviks@google.com\u003e\nFuchsia-Auto-Submit: Advik Sachdeva \u003cadviks@google.com\u003e\nPresubmit-Verified: fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com \u003cfuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "a32d2eb6817ea45d613b0c17683b447b5ba1bcac",
      "tree": "fef37368e655fc9dbfe7bb3bfad444d00cb75372",
      "parents": [
        "3fe50209caba512a3d94002f4d69ceb0c6fd5517"
      ],
      "author": {
        "name": "Erick Tryzelaar",
        "email": "etryzelaar@google.com",
        "time": "Mon Sep 14 13:52:28 2026 -0700"
      },
      "committer": {
        "name": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Mon Sep 14 13:52:28 2026 -0700"
      },
      "message": "[rust] Change rust recipe so arm64 bots upload arm64 artifacts\n\nPreviously, even though we have a dedicated `linux-arm64` bot that\nbuilds the rust toolchain, we only were publishing the host\n`linux-arm64` artifacts with those bots. The actual target `linux-arm64`\nartifacts were instead being built and published to CIPD by the\n`linux-x64` bots.\n\nThis wasn\u0027t a problem until we started using the rust `rustc-dev`\ncomponent for crubit on arm64. Crubit uses `librustc_driver*.so` from\nthe `rustc-dev` component. Since it is an internal library, as a safety\nprecaution, Rust does an additional check to make sure that the\n`librustc_driver*.so` has the same [strict version hash] (or SVH) as the\n`std.rlib`. It turns out that the `linux-arm64` and `linux-x64` bots\nproduce different SVH because the configuration we\u0027re using is\ndifferent because the hash is picking up the differences in the\nconfig.toml we\u0027re using to build the different projects.\n\nTo fix this, this changes our `linux-arm64` bots to be responsible for\npublishing both the host and targets for `linux-arm64`, and `linux-x64`\nwill be responsible for host and target `linux-x64`, and all the other\ntargets we\u0027re cross compiling.\n\n[strict version hash]: https://rustc-dev-guide.rust-lang.org/backend/libs-and-metadata.html#strict-version-hash\n\nChange-Id: If8dd48251e62fcfe0542c1b69ae6839773abbcc6\nReviewed-on: https://fuchsia-review.googlesource.com/c/infra/recipes/+/1802559\nCommit-Queue: Erick Tryzelaar \u003cetryzelaar@google.com\u003e\nReviewed-by: Haowei Wu \u003chaowei@google.com\u003e\n"
    },
    {
      "commit": "3fe50209caba512a3d94002f4d69ceb0c6fd5517",
      "tree": "86d3c16d9c786fa717f090f2ac37da850ddef1b1",
      "parents": [
        "5373ca0a6450e1ad91924e9236374388cc51c171"
      ],
      "author": {
        "name": "global-integration-roller",
        "email": "global-integration-roller@fuchsia-infra.iam.gserviceaccount.com",
        "time": "Mon Sep 14 11:01:37 2026 -0700"
      },
      "committer": {
        "name": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Mon Sep 14 11:01:37 2026 -0700"
      },
      "message": "[roll] Update pinned tools\n\n- fuchsia/shac/${platform}\n\nRoller-URL: https://cr-buildbucket.appspot.com/build/8670662830996958753\nCQ-Do-Not-Cancel-Tryjobs: true\nChange-Id: Ia0606d3c6089deb67d6545da0746057fc63ee219\nReviewed-on: https://fuchsia-review.googlesource.com/c/infra/recipes/+/1823890\nCommit-Queue: global-integration-roller@fuchsia-infra.iam.gserviceaccount.com \u003cglobal-integration-roller@fuchsia-infra.iam.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "5373ca0a6450e1ad91924e9236374388cc51c171",
      "tree": "6bc19d7e8eba3688a36dbcff762071a99db8b231",
      "parents": [
        "cc784a791af9f59c5f12e346bc6739a93d8c8a97"
      ],
      "author": {
        "name": "Rob Mohr",
        "email": "mohrr@google.com",
        "time": "Mon Sep 14 10:49:29 2026 -0700"
      },
      "committer": {
        "name": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Mon Sep 14 10:49:29 2026 -0700"
      },
      "message": "[flapjack] Check for Bypass-Vuln-Scanning footer\n\nBug: b/521981272\nChange-Id: Idb8305b2dd62e16d2c0e9710d625b322b7aae1ae\nReviewed-on: https://fuchsia-review.googlesource.com/c/infra/recipes/+/1760853\nFuchsia-Auto-Submit: Rob Mohr \u003cmohrr@google.com\u003e\nCommit-Queue: Rob Mohr \u003cmohrr@google.com\u003e\nPresubmit-Verified: fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com \u003cfuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com\u003e\nReviewed-by: Danielle Kay \u003cdanikay@google.com\u003e\n"
    },
    {
      "commit": "cc784a791af9f59c5f12e346bc6739a93d8c8a97",
      "tree": "f70c86aa1d8eb2304e1842ef34c13509cc980b04",
      "parents": [
        "914f0d203a51a85ffcf0cedaa202e16d987f5286"
      ],
      "author": {
        "name": "global-integration-roller",
        "email": "global-integration-roller@fuchsia-infra.iam.gserviceaccount.com",
        "time": "Mon Sep 14 07:06:34 2026 -0700"
      },
      "committer": {
        "name": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Mon Sep 14 07:06:34 2026 -0700"
      },
      "message": "[roll] Update coverage pinned tools\n\n- fuchsia/coverage/absolute_uploader/${platform}\n- fuchsia/coverage/incremental_uploader/${platform}\n\nRoller-URL: https://cr-buildbucket.appspot.com/build/8670693639543844193\nCQ-Do-Not-Cancel-Tryjobs: true\nCq-Include-Trybots: luci.fuchsia.try:fuchsia-coverage-absolute\nChange-Id: Id9dd690a913db97174514bc21750d015776a08aa\nReviewed-on: https://fuchsia-review.googlesource.com/c/infra/recipes/+/1823709\nCommit-Queue: global-integration-roller@fuchsia-infra.iam.gserviceaccount.com \u003cglobal-integration-roller@fuchsia-infra.iam.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "914f0d203a51a85ffcf0cedaa202e16d987f5286",
      "tree": "ebed4eaa3599a6d7792537ca52074aad6686a942",
      "parents": [
        "82b7433e18a725262128615de55bb2fec6ec03f9"
      ],
      "author": {
        "name": "global-integration-roller",
        "email": "global-integration-roller@fuchsia-infra.iam.gserviceaccount.com",
        "time": "Sat Sep 12 02:40:45 2026 -0700"
      },
      "committer": {
        "name": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Sat Sep 12 02:40:45 2026 -0700"
      },
      "message": "[roll] Update coverage pinned tools\n\n- fuchsia/coverage/absolute_uploader/${platform}\n- fuchsia/coverage/incremental_uploader/${platform}\n\nRoller-URL: https://cr-buildbucket.appspot.com/build/8670891792090113521\nCQ-Do-Not-Cancel-Tryjobs: true\nCq-Include-Trybots: luci.fuchsia.try:fuchsia-coverage-absolute\nChange-Id: If34f0839e39d15014f982f6af722d6316ab4f150\nReviewed-on: https://fuchsia-review.googlesource.com/c/infra/recipes/+/1821869\nCommit-Queue: global-integration-roller@fuchsia-infra.iam.gserviceaccount.com \u003cglobal-integration-roller@fuchsia-infra.iam.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "82b7433e18a725262128615de55bb2fec6ec03f9",
      "tree": "af91535f8f0f8324c5a0388db69234f17a297e24",
      "parents": [
        "5aa4613b0571019eba313de48887006207a28b0c"
      ],
      "author": {
        "name": "Ina Huh",
        "email": "ihuh@google.com",
        "time": "Fri Sep 11 17:23:59 2026 -0700"
      },
      "committer": {
        "name": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Fri Sep 11 17:23:59 2026 -0700"
      },
      "message": "Revert \"[gerrit_auto_submit] Add Presubmit-Verified quota bypass sweeper\"\n\nThis reverts commit 5aa4613b0571019eba313de48887006207a28b0c.\n\nReason for revert: auto-submit is setting CQ as itself\n\nFailure Link: See https://ci.chromium.org/b/8670914487487612657 and fxrev.dev/1811874\n\nOriginal change\u0027s description:\n\u003e [gerrit_auto_submit] Add Presubmit-Verified quota bypass sweeper\n\u003e\n\u003e - Expand change query to find submittable CQ+2 changes with Presubmit-Verified+1.\n\u003e - Detect changes waiting on user quota in LUCI CV and take over CQ+2 as the bot.\n\u003e - Add comprehensive test coverage for quota bypass, expiration, and error handling.\n\u003e\n\u003e Bug: b/556362421\n\u003e Change-Id: I3d1659898e8fce85082a50c67a377b036c1856d9\n\u003e Reviewed-on: https://fuchsia-review.googlesource.com/c/infra/recipes/+/1807217\n\u003e Reviewed-by: Rob Mohr \u003cmohrr@google.com\u003e\n\u003e Reviewed-by: Ina Huh \u003cihuh@google.com\u003e\n\u003e Commit-Queue: Advik Sachdeva \u003cadviks@google.com\u003e\n\nBug: b/556362421\nNo-Presubmit: true\nNo-Tree-Checks: true\nNo-Try: true\nChange-Id: I120c6588f415e0de900b1661c40fbfd77faec88b\nReviewed-on: https://fuchsia-review.googlesource.com/c/infra/recipes/+/1817675\nCommit-Queue: Ina Huh \u003cihuh@google.com\u003e\nExempt: android-build-ayeaye@system.gserviceaccount.com \u003candroid-build-ayeaye@system.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "5aa4613b0571019eba313de48887006207a28b0c",
      "tree": "83a734b3115d844ee932d108e7134d7d7b97c418",
      "parents": [
        "dbecf200c39e28b1e457c68150f10971b153ed6f"
      ],
      "author": {
        "name": "Advik Sachdeva",
        "email": "adviks@google.com",
        "time": "Fri Sep 11 13:12:31 2026 -0700"
      },
      "committer": {
        "name": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Fri Sep 11 13:12:31 2026 -0700"
      },
      "message": "[gerrit_auto_submit] Add Presubmit-Verified quota bypass sweeper\n\n- Expand change query to find submittable CQ+2 changes with Presubmit-Verified+1.\n- Detect changes waiting on user quota in LUCI CV and take over CQ+2 as the bot.\n- Add comprehensive test coverage for quota bypass, expiration, and error handling.\n\nBug: b/556362421\nChange-Id: I3d1659898e8fce85082a50c67a377b036c1856d9\nReviewed-on: https://fuchsia-review.googlesource.com/c/infra/recipes/+/1807217\nReviewed-by: Rob Mohr \u003cmohrr@google.com\u003e\nReviewed-by: Ina Huh \u003cihuh@google.com\u003e\nCommit-Queue: Advik Sachdeva \u003cadviks@google.com\u003e\n"
    },
    {
      "commit": "dbecf200c39e28b1e457c68150f10971b153ed6f",
      "tree": "af91535f8f0f8324c5a0388db69234f17a297e24",
      "parents": [
        "44c81c4982a3ed757c1ff23c29ddaef6612bf42b"
      ],
      "author": {
        "name": "recipe-roller",
        "email": "global-integration-roller@fuchsia-infra.iam.gserviceaccount.com",
        "time": "Fri Sep 11 12:54:02 2026 -0700"
      },
      "committer": {
        "name": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Fri Sep 11 12:54:02 2026 -0700"
      },
      "message": "Roll recipe dependencies (trivial).\n\nThis is an automated CL created by the recipe roller. This CL rolls\nrecipe changes from upstream projects (recipe_engine) into this repository.\n\nThe build that created this CL was\nhttps://ci.chromium.org/b/8670932890231220305\n\nrecipe_engine:\nhttps://chromium.googlesource.com/infra/luci/recipes-py/+/7f4ba4d84ca1378aa88c7bedd1b89e10aa1e28b2\n  7f4ba4d (chanli@chromium.org)\n      [recipe_engine] Set GRPC_ENABLE_FORK_SUPPORT\u003d0 before importing...\n\nPlease check the following references for more information:\n- autoroller, https://chromium.googlesource.com/infra/luci/recipes-py/+/main/doc/workflow.md#autoroller\n- rollback, https://chromium.googlesource.com/infra/luci/recipes-py/+/main/doc/workflow.md#rollback\n- cross-repo dependencies, https://chromium.googlesource.com/infra/luci/recipes-py/+/main/doc/cross_repo.md\n\nUse https://goo.gl/noib3a to file a bug.\n\nRecipe-Tryjob-Bypass-Reason: Autoroller\nIgnore-Freeze: Autoroller\nBugdroid-Send-Email: False\nChange-Id: I84b72bdd5874dcfe0a4039cab7fcc35da8ce84f1\nReviewed-on: https://fuchsia-review.googlesource.com/c/infra/recipes/+/1820170\nCommit-Queue: global-integration-roller@fuchsia-infra.iam.gserviceaccount.com \u003cglobal-integration-roller@fuchsia-infra.iam.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "44c81c4982a3ed757c1ff23c29ddaef6612bf42b",
      "tree": "28cc599d79b551b67ac68a97624a307c2cc7eb8c",
      "parents": [
        "b4e21d163e61c6ed61bd563630a63822c820e69d"
      ],
      "author": {
        "name": "eakammer",
        "email": "eakammer@google.com",
        "time": "Fri Sep 11 11:44:12 2026 -0700"
      },
      "committer": {
        "name": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Fri Sep 11 11:44:12 2026 -0700"
      },
      "message": "Add GCS baking delay ledger recipe module\n\nTo prevent the use of forgeable Git commit timestamps for enforcing baking\ndelays, we are migrating to a GCS-based ledger system that records when\na commit was first seen in a trusted environment.\n\nThis change introduces the `baking_delay` recipe module and implements\nthe initial helper infrastructure:\n- Filtering for rollers using \"latest\" code (commits)\n- Filtering for rollers using \"latest\" release tags\n\nBug: b/523413938\nChange-Id: Ic2e68fc4c5a20847b4f818fcc24b1a406a6a6964\nReviewed-on: https://fuchsia-review.googlesource.com/c/infra/recipes/+/1791958\nReviewed-by: Ina Huh \u003cihuh@google.com\u003e\nCommit-Queue: Liz Kammer \u003ceakammer@google.com\u003e\n"
    },
    {
      "commit": "b4e21d163e61c6ed61bd563630a63822c820e69d",
      "tree": "2c1a1f344db62103059d2ddb179d17dc9981b1d7",
      "parents": [
        "3d6aa1da42a16ec8a95b4113418481b3988f4b73"
      ],
      "author": {
        "name": "Oliver Newman",
        "email": "olivernewman@google.com",
        "time": "Fri Sep 11 08:43:55 2026 -0700"
      },
      "committer": {
        "name": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Fri Sep 11 08:43:55 2026 -0700"
      },
      "message": "[subbuild] Remove task IDs assertion\n\nWhen a subbuild fails because Buildbucket failed to even create a\nswarming task for build, the backend task ID for the subbuild would be\nunset. Previously this led to confusing failures like this:\nhttps://screenshot-v2.corp.google.com/4vlq7j1fhq3po\n\nNow any such failures will just propagate the subbuild\u0027s\nsummary_markdown (normally \"Backend task creation failure.\") to the\nparent build, providing a much more helpful indication of what went\nwrong.\n\nChange-Id: If1a71a81314adf1b05fba6e6348fc8fa95398a04\nReviewed-on: https://fuchsia-review.googlesource.com/c/infra/recipes/+/1818469\nFuchsia-Auto-Submit: Oliver Newman \u003colivernewman@google.com\u003e\nPresubmit-Verified: fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com \u003cfuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com\u003e\nCommit-Queue: Oliver Newman \u003colivernewman@google.com\u003e\nReviewed-by: Carver Forbes \u003ccarverforbes@google.com\u003e\n"
    },
    {
      "commit": "3d6aa1da42a16ec8a95b4113418481b3988f4b73",
      "tree": "33a684440a4ef0c760fd526eca92bb4f8fbb075b",
      "parents": [
        "3bcde2bed34f31eef32df70e31519e5c3a8bdf6d"
      ],
      "author": {
        "name": "eakammer",
        "email": "eakammer@google.com",
        "time": "Fri Sep 11 08:13:07 2026 -0700"
      },
      "committer": {
        "name": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Fri Sep 11 08:13:07 2026 -0700"
      },
      "message": "[gerrit_dependency_satisfy] Add rollers field to options proto\n\nAdd the Roller message definition and repeated rollers field to\nOptions. This will allow builder configurations to pass the roller\ntopology (including source/dest repos, refs, and builder name) to\ncl-deps-checker.\n\nThis is a forward-compatible schema addition ahead of implementing\ndynamic roll tracing.\n\nBug: 456620033\nChange-Id: Ifbcc12212aaa498e19bd795a9babc8ee6a6a6964\nReviewed-on: https://fuchsia-review.googlesource.com/c/infra/recipes/+/1813295\nReviewed-by: Ina Huh \u003cihuh@google.com\u003e\nCommit-Queue: Liz Kammer \u003ceakammer@google.com\u003e\n"
    },
    {
      "commit": "3bcde2bed34f31eef32df70e31519e5c3a8bdf6d",
      "tree": "abefdcf64118870652cc8770ea41cea910299e4c",
      "parents": [
        "cf887a8e6ab12af2d63947d0b16ec8a8d162a182"
      ],
      "author": {
        "name": "eakammer",
        "email": "eakammer@google.com",
        "time": "Fri Sep 11 06:52:22 2026 -0700"
      },
      "committer": {
        "name": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Fri Sep 11 06:52:22 2026 -0700"
      },
      "message": "[roll_comment] Tag roll comments with roll CL URL\n\nAdd an autogenerated:roll-complete:\u003croll_cl_url\u003e tag to Gerrit review\ncomments posted by roll_comment when a roll CL URL is available. If no\nroll CL URL is present, fall back to the default builder tag. This\nwill enable presubmit checks (such as cl-deps-checker /\ngerrit_dependency_satisfy) to trace dependency chains through Gerrit\ncomment tags.\n\nBug: 456620033\nChange-Id: I3f2d77f996022456ee0a4563cc7548516a6a6964\nReviewed-on: https://fuchsia-review.googlesource.com/c/infra/recipes/+/1813294\nCommit-Queue: Liz Kammer \u003ceakammer@google.com\u003e\nReviewed-by: Ina Huh \u003cihuh@google.com\u003e\n"
    },
    {
      "commit": "cf887a8e6ab12af2d63947d0b16ec8a8d162a182",
      "tree": "a879e6b781b3edcacda57d3cdf7b6773299d9fff",
      "parents": [
        "3e404f5d40c7e35bb7112aa59ac64d16034f7225"
      ],
      "author": {
        "name": "global-integration-roller",
        "email": "global-integration-roller@fuchsia-infra.iam.gserviceaccount.com",
        "time": "Fri Sep 11 02:08:14 2026 -0700"
      },
      "committer": {
        "name": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Fri Sep 11 02:08:14 2026 -0700"
      },
      "message": "[roll] Update pinned tools\n\n- infra/tools/luci/gerrit/${platform}\n- infra/tools/luci/gitiles/${platform}\n- infra/tools/luci-auth/${platform}\n- infra/tools/luci-auth/${platform}\n\nRoller-URL: https://cr-buildbucket.appspot.com/build/8670973229690773537\nCQ-Do-Not-Cancel-Tryjobs: true\nChange-Id: Ic5782e0771f698aa722ca4ed4293251edb7a4316\nReviewed-on: https://fuchsia-review.googlesource.com/c/infra/recipes/+/1818437\nCommit-Queue: global-integration-roller@fuchsia-infra.iam.gserviceaccount.com \u003cglobal-integration-roller@fuchsia-infra.iam.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "3e404f5d40c7e35bb7112aa59ac64d16034f7225",
      "tree": "7c07f9fec9ec134638263b9d407324668fa5a5af",
      "parents": [
        "94b8fbe7e947673704890e94beb436ecf3417aa3"
      ],
      "author": {
        "name": "recipe-roller",
        "email": "global-integration-roller@fuchsia-infra.iam.gserviceaccount.com",
        "time": "Fri Sep 11 00:36:37 2026 -0700"
      },
      "committer": {
        "name": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Fri Sep 11 00:36:37 2026 -0700"
      },
      "message": "Roll recipe dependencies (trivial).\n\nThis is an automated CL created by the recipe roller. This CL rolls\nrecipe changes from upstream projects (recipe_engine) into this repository.\n\nThe build that created this CL was\nhttps://ci.chromium.org/b/8670978494798081313\n\nrecipe_engine:\nhttps://chromium.googlesource.com/infra/luci/recipes-py/+/8b779725f5fd02d0f5e5918662538131e06cfdfa\n  8b77972 (chromium-autoroll@skia-public.iam.gserviceaccount.com)\n      Roll CAS Client from ecfd6e6ff1f7 to e8ff1a9251fd\n\nPlease check the following references for more information:\n- autoroller, https://chromium.googlesource.com/infra/luci/recipes-py/+/main/doc/workflow.md#autoroller\n- rollback, https://chromium.googlesource.com/infra/luci/recipes-py/+/main/doc/workflow.md#rollback\n- cross-repo dependencies, https://chromium.googlesource.com/infra/luci/recipes-py/+/main/doc/cross_repo.md\n\nUse https://goo.gl/noib3a to file a bug.\n\nRecipe-Tryjob-Bypass-Reason: Autoroller\nIgnore-Freeze: Autoroller\nBugdroid-Send-Email: False\nChange-Id: Ib92ad968057f9615d4f1bf7883bbe5650d08c426\nReviewed-on: https://fuchsia-review.googlesource.com/c/infra/recipes/+/1818432\nCommit-Queue: global-integration-roller@fuchsia-infra.iam.gserviceaccount.com \u003cglobal-integration-roller@fuchsia-infra.iam.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "94b8fbe7e947673704890e94beb436ecf3417aa3",
      "tree": "3abcaade00d888b91b66177813febc26c1b485b0",
      "parents": [
        "0bff861632ec6f6a16668cd741726be66c3e0126"
      ],
      "author": {
        "name": "global-integration-roller",
        "email": "global-integration-roller@fuchsia-infra.iam.gserviceaccount.com",
        "time": "Fri Sep 11 00:28:17 2026 -0700"
      },
      "committer": {
        "name": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Fri Sep 11 00:28:17 2026 -0700"
      },
      "message": "[roll] Update pinned tools\n\n- infra/tools/bqupload/${platform}\n\nRoller-URL: https://cr-buildbucket.appspot.com/build/8670980973952170177\nCQ-Do-Not-Cancel-Tryjobs: true\nChange-Id: If102d6e0c5ea0017a68afac93ea9e1f6bfe85668\nReviewed-on: https://fuchsia-review.googlesource.com/c/infra/recipes/+/1819229\nCommit-Queue: global-integration-roller@fuchsia-infra.iam.gserviceaccount.com \u003cglobal-integration-roller@fuchsia-infra.iam.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "0bff861632ec6f6a16668cd741726be66c3e0126",
      "tree": "d7429d5dc31a83d116e1e62595d057f00064bb80",
      "parents": [
        "f6caf7657207a431025c534e46b0b9ec9a3a7812"
      ],
      "author": {
        "name": "global-integration-roller",
        "email": "global-integration-roller@fuchsia-infra.iam.gserviceaccount.com",
        "time": "Thu Sep 10 22:16:12 2026 -0700"
      },
      "committer": {
        "name": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Thu Sep 10 22:16:12 2026 -0700"
      },
      "message": "[roll] Update coverage pinned tools\n\n- fuchsia/coverage/absolute_uploader/${platform}\n- fuchsia/coverage/incremental_uploader/${platform}\n\nRoller-URL: https://cr-buildbucket.appspot.com/build/8671000246504746241\nCQ-Do-Not-Cancel-Tryjobs: true\nCq-Include-Trybots: luci.fuchsia.try:fuchsia-coverage-absolute\nChange-Id: I4060d61eca2ef57d27c71ff34b2c367643e16acd\nReviewed-on: https://fuchsia-review.googlesource.com/c/infra/recipes/+/1818789\nCommit-Queue: global-integration-roller@fuchsia-infra.iam.gserviceaccount.com \u003cglobal-integration-roller@fuchsia-infra.iam.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "f6caf7657207a431025c534e46b0b9ec9a3a7812",
      "tree": "869fb1cf944ec7fb886461830e08ea7a57bad4c3",
      "parents": [
        "6ef6e9e42d5882b9dfe09edc84c8657ef5dc7d44"
      ],
      "author": {
        "name": "recipe-roller",
        "email": "global-integration-roller@fuchsia-infra.iam.gserviceaccount.com",
        "time": "Thu Sep 10 18:51:59 2026 -0700"
      },
      "committer": {
        "name": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Thu Sep 10 18:51:59 2026 -0700"
      },
      "message": "Roll recipe dependencies (trivial).\n\nThis is an automated CL created by the recipe roller. This CL rolls\nrecipe changes from upstream projects (recipe_engine) into this repository.\n\nThe build that created this CL was\nhttps://ci.chromium.org/b/8671001319586877633\n\nrecipe_engine:\nhttps://chromium.googlesource.com/infra/luci/recipes-py/+/014a91955dbe871a5d5337bf0780387b09926880\n  014a919 (chanli@chromium.org)\n      [placeholder] Update TurboCIWrites to fork subprocesses during...\n\nPlease check the following references for more information:\n- autoroller, https://chromium.googlesource.com/infra/luci/recipes-py/+/main/doc/workflow.md#autoroller\n- rollback, https://chromium.googlesource.com/infra/luci/recipes-py/+/main/doc/workflow.md#rollback\n- cross-repo dependencies, https://chromium.googlesource.com/infra/luci/recipes-py/+/main/doc/cross_repo.md\n\nUse https://goo.gl/noib3a to file a bug.\n\nRecipe-Tryjob-Bypass-Reason: Autoroller\nIgnore-Freeze: Autoroller\nBugdroid-Send-Email: False\nChange-Id: Ieb5e2f2d586fb39feee93a6a19d0b904eedbba5c\nReviewed-on: https://fuchsia-review.googlesource.com/c/infra/recipes/+/1817671\nCommit-Queue: global-integration-roller@fuchsia-infra.iam.gserviceaccount.com \u003cglobal-integration-roller@fuchsia-infra.iam.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "6ef6e9e42d5882b9dfe09edc84c8657ef5dc7d44",
      "tree": "faa3f4fd13fa6d065c81e71822fe3de61fe9cca4",
      "parents": [
        "3167d86d6ea7500a13f61c38d9f49caa837117b1"
      ],
      "author": {
        "name": "David Fang",
        "email": "fangism@google.com",
        "time": "Thu Sep 10 17:31:30 2026 -0700"
      },
      "committer": {
        "name": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Thu Sep 10 17:31:30 2026 -0700"
      },
      "message": "[buildproxywrap] Use IP literal 127.0.0.1 for GCE metadata host\n\nUsing \u0027localhost\u0027 inside the network-sandboxed nsjail environment\nforces Go\u0027s pure-Go resolver to query external DNS (port 53), which\nfails with connection refused. Using \u0027127.0.0.1\u0027 avoids hostname\nresolution entirely and connects successfully over loopback.\n\nBug: 450234102\nChange-Id: I550a7f0fa225bc821e8b0e7f963bcca5b5659383\nReviewed-on: https://fuchsia-review.googlesource.com/c/infra/recipes/+/1817670\nCommit-Queue: David Fang \u003cfangism@google.com\u003e\nReviewed-by: Rahul Bangar \u003crahulbn@google.com\u003e\nReviewed-by: Oliver Newman \u003colivernewman@google.com\u003e\nFuchsia-Auto-Submit: David Fang \u003cfangism@google.com\u003e\nPresubmit-Verified: fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com \u003cfuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "3167d86d6ea7500a13f61c38d9f49caa837117b1",
      "tree": "fd274566eca4535424932a04b968463308ef8d9f",
      "parents": [
        "9dd4b24d140d73bbaad34a154e4dd0e43ffe7719"
      ],
      "author": {
        "name": "Carver Forbes",
        "email": "carverforbes@google.com",
        "time": "Thu Sep 10 14:43:55 2026 -0700"
      },
      "committer": {
        "name": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Thu Sep 10 14:43:55 2026 -0700"
      },
      "message": "[subbuild][gce_disk_manager] Base circular scheduling strictly on requested input properties\n\nIn CL 1806919, circular scheduling was introduced along with tracking of\nthe actual VM execution zone via an output property in\n`gce_disk_manager`.\n\nProduction analysis of CI builders revealed that when a build\u0027s primary\nzone slice times out due to temporary bot contention (60s) and falls\nback to a secondary multi-zone slice, rotating based on the actual\nexecution zone causes the schedule pointer to jump arbitrarily to\nwhatever zone happened to fulfill the fallback slice. This jump leads to\ncollateral starvation of bystander zones in the rotation ring (leaving\nthem unrefreshed for 5+ hours), whereas rotating strictly based on the\nrequested input property preserves the monotonic ring clock without\njumping tracks.\n\n- In `subbuild`:\n  - Query previous builds for `input.properties[\"shared_cache_zone\"]`\n    only, ensuring continuous and deterministic ring rotation.\n  - Remove output property check.\n- In `gce_disk_manager`:\n  - Revert output property recording and zone detection logic,\n    restoring `gce_disk_manager` to upstream state.\n- Update tests to reflect the input-property-driven circular rotation.\n\nBug: b/482892823\nChange-Id: I00197c5c32279d2b214be16ea21b7363e95781fa\nReviewed-on: https://fuchsia-review.googlesource.com/c/infra/recipes/+/1816989\nCommit-Queue: Carver Forbes \u003ccarverforbes@google.com\u003e\nReviewed-by: Alex Kelly \u003cajkelly@google.com\u003e\nFuchsia-Auto-Submit: Carver Forbes \u003ccarverforbes@google.com\u003e\n"
    },
    {
      "commit": "9dd4b24d140d73bbaad34a154e4dd0e43ffe7719",
      "tree": "f386e6cef69a770e4aea99cb11fc516cd9b8d2a5",
      "parents": [
        "10b5abd19ccc35e09ac484214e54e983426358cd"
      ],
      "author": {
        "name": "global-integration-roller",
        "email": "global-integration-roller@fuchsia-infra.iam.gserviceaccount.com",
        "time": "Thu Sep 10 13:42:12 2026 -0700"
      },
      "committer": {
        "name": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Thu Sep 10 13:42:12 2026 -0700"
      },
      "message": "[roll] Update pinned tools\n\n- fuchsia/tools/jiri/${platform}\n\nRoller-URL: https://cr-buildbucket.appspot.com/build/8671021104198870545\nCQ-Do-Not-Cancel-Tryjobs: true\nChange-Id: I73fa98281da35b15655bdcbed2e2b57dbadcc5ce\nReviewed-on: https://fuchsia-review.googlesource.com/c/infra/recipes/+/1817248\nCommit-Queue: global-integration-roller@fuchsia-infra.iam.gserviceaccount.com \u003cglobal-integration-roller@fuchsia-infra.iam.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "10b5abd19ccc35e09ac484214e54e983426358cd",
      "tree": "18a4f3d79f1b3b0f5dc4e5133d4ae3f2ace90b17",
      "parents": [
        "97a961fac263deca573409c23bed77657bdff2a2"
      ],
      "author": {
        "name": "recipe-roller",
        "email": "global-integration-roller@fuchsia-infra.iam.gserviceaccount.com",
        "time": "Wed Sep 09 18:32:19 2026 -0700"
      },
      "committer": {
        "name": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Wed Sep 09 18:32:19 2026 -0700"
      },
      "message": "Roll recipe dependencies (trivial).\n\nThis is an automated CL created by the recipe roller. This CL rolls\nrecipe changes from upstream projects (recipe_engine) into this repository.\n\nThe build that created this CL was\nhttps://ci.chromium.org/b/8671092806460525633\n\nrecipe_engine:\nhttps://chromium.googlesource.com/infra/luci/recipes-py/+/bcd864ee11def064d851575ecb9a8a5993c58a88\n  bcd864e (ovsienko@google.com)\n      VPython: remove legacy .vpython3 files across recipes-py.\n\nPlease check the following references for more information:\n- autoroller, https://chromium.googlesource.com/infra/luci/recipes-py/+/main/doc/workflow.md#autoroller\n- rollback, https://chromium.googlesource.com/infra/luci/recipes-py/+/main/doc/workflow.md#rollback\n- cross-repo dependencies, https://chromium.googlesource.com/infra/luci/recipes-py/+/main/doc/cross_repo.md\n\nUse https://goo.gl/noib3a to file a bug.\n\nRecipe-Tryjob-Bypass-Reason: Autoroller\nIgnore-Freeze: Autoroller\nBugdroid-Send-Email: False\nChange-Id: I27c0c80b89080b52bb0fe2fe95e42cf6cc611157\nReviewed-on: https://fuchsia-review.googlesource.com/c/infra/recipes/+/1815929\nCommit-Queue: global-integration-roller@fuchsia-infra.iam.gserviceaccount.com \u003cglobal-integration-roller@fuchsia-infra.iam.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "97a961fac263deca573409c23bed77657bdff2a2",
      "tree": "9f2df086d996909fb8a97e68402526f36eeab1b8",
      "parents": [
        "258ccdf0236d35733b5fb0110d916848cbbbcaf1"
      ],
      "author": {
        "name": "Carver Forbes",
        "email": "carverforbes@google.com",
        "time": "Wed Sep 09 18:23:27 2026 -0700"
      },
      "committer": {
        "name": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Wed Sep 09 18:23:27 2026 -0700"
      },
      "message": "[subbuild][gce_disk_manager] Use circular scheduling for CI shared cache builds\n\nIn Project Neptune (shared cache), CI builders act as seeders that\ncreate snapshots across multi-zone GCE clusters. Previously, the\nprimary zone was chosen using `(build_id + i) % num_zones`. Because\nBuildbucket build IDs are derived from bitwise-inverted microsecond\ntimestamps with an invariant lowest bit, and build numbers are not\nenabled for Fuchsia builders in Buildbucket configuration, static modulo\narithmetic acted as a pseudo-random hash rather than a true rotation,\ncausing zone starvation and snapshot expiration. Additionally, secondary\nfallback zones were statically truncated to the first alphabetical zones.\n\n- Track state across successive builds of each CI builder:\n  - Query Buildbucket for the previous build of the builder to inspect its\n    recorded `shared_cache_zone`.\n  - Select the next available zone in sorted circular order:\n    `(prev_idx + 1) % len(quota_healthy_zones)`.\n  - If the previous zone is temporarily unavailable or unallocated,\n    advance to the next healthy zone in alphabetical order (wrapping\n    around to the start).\n  - If no previous build is found, or the query fails or times out,\n    fall back gracefully to `(fallback_seq + i) % len(...)`.\n  - Prioritize `shared_cache_zone` in output properties (reflecting actual VM\n    execution zone) over requested input properties, falling back to input\n    properties if output properties are not yet populated (e.g. queued or\n    in-flight builds).\n  - Record `shared_cache_zone` in requested properties on the child build\n    so subsequent builds can read it.\n- In `_build_zone_dimensions`, rotate candidate zones circularly starting\n  from `primary_zone` before truncating fallback zones so the fallback\n  slice always retains `primary_zone` and rotates alongside it.\n- In `gce_disk_manager`, record actual execution zone to output properties\n  via the first-class in-memory Swarming `zone` dimension.\n- Add comprehensive test coverage verifying sequential rotation,\n  circular fallback zone selection, wrapping around, skipping\n  unavailable zones, bot dimension detection, and query failures.\n\nBug: b/482892823\nChange-Id: I851dd68769c34260c7e660d98e1cf704ef5fd3a0\nReviewed-on: https://fuchsia-review.googlesource.com/c/infra/recipes/+/1806919\nCommit-Queue: Carver Forbes \u003ccarverforbes@google.com\u003e\nReviewed-by: Zijun Wan \u003czijunwan@google.com\u003e\nFuchsia-Auto-Submit: Carver Forbes \u003ccarverforbes@google.com\u003e\n"
    },
    {
      "commit": "258ccdf0236d35733b5fb0110d916848cbbbcaf1",
      "tree": "4650af9141b21e2f289257c027d01fc085c56b48",
      "parents": [
        "200e0652ab9f99d5855b4f730750e97fdb25dcca"
      ],
      "author": {
        "name": "Haowei Wu",
        "email": "haowei@google.com",
        "time": "Wed Sep 09 17:28:07 2026 -0700"
      },
      "committer": {
        "name": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Wed Sep 09 17:28:07 2026 -0700"
      },
      "message": "Reland \"[toolchain] Raise LLVM default lit test timeout\"\n\nWe discovered the llvm tests are silently timing out on mac-x64\nbuilder and it was due to the fact that total time allowed for\ntesting a llvm component was set to 600s, which is too small for\nslower Intel macs. This change raised the timeout to 1800s for\na component to mitigate this issue. Change\n7459dd8e95dd3fed265a708e9df37ac6ab30e6a1 was reverted as the\nindividual test timeout flag requires \"psutil\" Python module.\nWe don\u0027t have this among our builders. This patch removed the\n\"--timeout\" flag to avoid this dependency error.\n\nBug: 559225973\n\nChange-Id: I532246e01477149a4ebf9011a97a4cb8e08a1c3d\nReviewed-on: https://fuchsia-review.googlesource.com/c/infra/recipes/+/1815651\nCommit-Queue: Haowei Wu \u003chaowei@google.com\u003e\nReviewed-by: Gulfem Savrun \u003cgulfem@google.com\u003e\nFuchsia-Auto-Submit: Haowei Wu \u003chaowei@google.com\u003e\n"
    },
    {
      "commit": "200e0652ab9f99d5855b4f730750e97fdb25dcca",
      "tree": "ff019fdf0d94534aa70c46746bbd1fba02159c8f",
      "parents": [
        "cd1c157a2ce05caf2b08f01d5a7f5db26d52b774"
      ],
      "author": {
        "name": "Haowei Wu",
        "email": "haowei@google.com",
        "time": "Wed Sep 09 15:23:54 2026 -0700"
      },
      "committer": {
        "name": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Wed Sep 09 15:23:54 2026 -0700"
      },
      "message": "Revert \"[toolchain] Raise LLVM default lit test timeout\"\n\nThis reverts commit 7459dd8e95dd3fed265a708e9df37ac6ab30e6a1.\n\nReason for revert: psutil is not installed and this patch causes failures.\n\nFailure Link: b/559302514\n\nOriginal change\u0027s description:\n\u003e [toolchain] Raise LLVM default lit test timeout\n\u003e\n\u003e We discovered the llvm tests are silently timing out on mac-x64\n\u003e builder and it was due to the fact that total time allowed for\n\u003e testing a llvm component was set to 600s, which is too small for\n\u003e slower Intel macs. This change raised the timeout to 1800s for\n\u003e a component and set 600s timeout for individual unit test to\n\u003e mitigate this issue.\n\u003e\n\u003e Bug: 559225973\n\u003e Change-Id: I31f98b4723375552061e5e88ab8183e2ce7e5318\n\u003e Reviewed-on: https://fuchsia-review.googlesource.com/c/infra/recipes/+/1811333\n\u003e Reviewed-by: Leonard Chan \u003cleonardchan@google.com\u003e\n\u003e Commit-Queue: Haowei Wu \u003chaowei@google.com\u003e\n\nBug: 559225973\nNo-Presubmit: true\nNo-Tree-Checks: true\nNo-Try: true\nChange-Id: I510d34ff4ab5fc666a2f57e3d3669430ad66df8b\nReviewed-on: https://fuchsia-review.googlesource.com/c/infra/recipes/+/1815729\nCommit-Queue: Haowei Wu \u003chaowei@google.com\u003e\nExempt: android-build-ayeaye@system.gserviceaccount.com \u003candroid-build-ayeaye@system.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "cd1c157a2ce05caf2b08f01d5a7f5db26d52b774",
      "tree": "c924ec4c54c1525bf908c0e9f5f222cedb5b51b9",
      "parents": [
        "7459dd8e95dd3fed265a708e9df37ac6ab30e6a1"
      ],
      "author": {
        "name": "Haowei Wu",
        "email": "haowei@google.com",
        "time": "Wed Sep 09 14:45:49 2026 -0700"
      },
      "committer": {
        "name": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Wed Sep 09 14:45:49 2026 -0700"
      },
      "message": "[clang_toolchain] Temporarily ignore \"modules-driver-depscan-log.cpp\" test\n\nThis patch ignores \"modules-driver-depscan-log.cpp\" test on mac\nto mitigate a potential clang driver bug.\n\nBug: 558926953\nChange-Id: I07516d791413dc35b58fbc7ce4ebe818bb275189\nReviewed-on: https://fuchsia-review.googlesource.com/c/infra/recipes/+/1811334\nReviewed-by: Leonard Chan \u003cleonardchan@google.com\u003e\nCommit-Queue: Haowei Wu \u003chaowei@google.com\u003e\n"
    },
    {
      "commit": "7459dd8e95dd3fed265a708e9df37ac6ab30e6a1",
      "tree": "ef18b488aa7177f9f30629cf09a91d903fef01d4",
      "parents": [
        "a0d92e7c6ccfda9f3bc1eef66632e1575c52b220"
      ],
      "author": {
        "name": "Haowei Wu",
        "email": "haowei@google.com",
        "time": "Wed Sep 09 14:36:11 2026 -0700"
      },
      "committer": {
        "name": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Wed Sep 09 14:36:11 2026 -0700"
      },
      "message": "[toolchain] Raise LLVM default lit test timeout\n\nWe discovered the llvm tests are silently timing out on mac-x64\nbuilder and it was due to the fact that total time allowed for\ntesting a llvm component was set to 600s, which is too small for\nslower Intel macs. This change raised the timeout to 1800s for\na component and set 600s timeout for individual unit test to\nmitigate this issue.\n\nBug: 559225973\nChange-Id: I31f98b4723375552061e5e88ab8183e2ce7e5318\nReviewed-on: https://fuchsia-review.googlesource.com/c/infra/recipes/+/1811333\nReviewed-by: Leonard Chan \u003cleonardchan@google.com\u003e\nCommit-Queue: Haowei Wu \u003chaowei@google.com\u003e\n"
    },
    {
      "commit": "a0d92e7c6ccfda9f3bc1eef66632e1575c52b220",
      "tree": "fbde2aa160fd7e0c4ed85a2501b11b8c3ed8fbcf",
      "parents": [
        "f34a871e608a43af52c1b56a25a6683be81051dc"
      ],
      "author": {
        "name": "global-integration-roller",
        "email": "global-integration-roller@fuchsia-infra.iam.gserviceaccount.com",
        "time": "Wed Sep 09 06:49:01 2026 -0700"
      },
      "committer": {
        "name": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Wed Sep 09 06:49:01 2026 -0700"
      },
      "message": "[roll] Update pinned tools\n\n- infra/3pp/tools/gcloud/${platform}\n\nRoller-URL: https://cr-buildbucket.appspot.com/build/8671136517262297377\nCQ-Do-Not-Cancel-Tryjobs: true\nChange-Id: I250bfd25e41324febb5624101ca509a01a3ec175\nReviewed-on: https://fuchsia-review.googlesource.com/c/infra/recipes/+/1814529\nCommit-Queue: global-integration-roller@fuchsia-infra.iam.gserviceaccount.com \u003cglobal-integration-roller@fuchsia-infra.iam.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "f34a871e608a43af52c1b56a25a6683be81051dc",
      "tree": "950ed585bd362cc6aafe9287c4590bdd85eced36",
      "parents": [
        "bacd4ef4d06eab9ec3f4b16d61cffac5a681333f"
      ],
      "author": {
        "name": "Gulfem Savrun",
        "email": "gulfem@google.com",
        "time": "Tue Sep 08 17:46:19 2026 -0700"
      },
      "committer": {
        "name": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Tue Sep 08 17:46:19 2026 -0700"
      },
      "message": "[git] Pass --merge-base to git diff-tree\n\nCoverage builders disable patch rebasing. Without\n--merge-base, git diff-tree performs a direct two-tree\ndiff against main, falsely reporting intervening commits on\nmain as changed. The longer a CL sits in review, the more\nsevere this issue becomes, significantly increasing build\ntime for the coverage builder because we fail to apply\nselective instrumentation properly.\n\nPassing --merge-base diffs from the common ancestor to\nisolate only the branch changes. For rebased patches,\nbehavior is identical.\n\nBug: 558748113\nChange-Id: If9d3ecf22eb8c57da05e6928b8acc6bf1b0fc6d4\nReviewed-on: https://fuchsia-review.googlesource.com/c/infra/recipes/+/1813009\nPresubmit-Verified: fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com \u003cfuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com\u003e\nCommit-Queue: Gulfem Savrun \u003cgulfem@google.com\u003e\nFuchsia-Auto-Submit: Gulfem Savrun \u003cgulfem@google.com\u003e\nReviewed-by: Ina Huh \u003cihuh@google.com\u003e\n"
    },
    {
      "commit": "bacd4ef4d06eab9ec3f4b16d61cffac5a681333f",
      "tree": "2fe0a786af67cc823a057a4657a53ffb129b3ef4",
      "parents": [
        "ad949aae74768ef711b97e9024e51d1f06d52f77"
      ],
      "author": {
        "name": "Benny Wen",
        "email": "shenghanw@google.com",
        "time": "Tue Sep 08 17:35:20 2026 -0700"
      },
      "committer": {
        "name": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Tue Sep 08 17:35:20 2026 -0700"
      },
      "message": "[roll_commit_message] Deduplicate roll names in commit message header\n\nWhen multiple rolls with the same short name are formatted together,\ndeduplicate them in the commit message header while preserving their\noriginal appearance order.\n\nBug: 555404980\nChange-Id: I431c4f353bdd299163203c6995afc29f8ea91e27\nReviewed-on: https://fuchsia-review.googlesource.com/c/infra/recipes/+/1813509\nReviewed-by: Rob Mohr \u003cmohrr@google.com\u003e\nCommit-Queue: Benny Wen \u003cshenghanw@google.com\u003e\n"
    },
    {
      "commit": "ad949aae74768ef711b97e9024e51d1f06d52f77",
      "tree": "704f56084ccc7cc4d22ff76d86fe339357e00c8c",
      "parents": [
        "8646549e5a8a83a433faeda13e42d5831642d445"
      ],
      "author": {
        "name": "Zijun Wan",
        "email": "zijunwan@google.com",
        "time": "Tue Sep 08 11:20:29 2026 -0700"
      },
      "committer": {
        "name": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Tue Sep 08 11:20:29 2026 -0700"
      },
      "message": "[bad_devices] Sort bots by Z-score, filter recovering bots, and clean up tables in Milo UI\n\nImprove Milo presentation HTML report for oncallers:\n1. Filter out recovering bots (bots with zero failures on their latest\n   active day) from Table 1 and Table 2 in the HTML report so\n   oncallers can focus exclusively on active failures. Full records\n   remain persisted in BigQuery and \u0027anomalies.json\u0027.\n2. Sort unique bots and test anomalies by Z-score (standardized Pearson\n   residual) descending so the most statistically significant outliers\n   appear at the very top of the report.\n3. Remove redundant \u0027Status\u0027 column from Table 1 and Table 2 since all\n   displayed rows are active failing bots/anomalies, saving horizontal width.\n\nBug: 496653998\nChange-Id: I30161c70585ea3a9f747fe10c9713bcac889be55\nReviewed-on: https://fuchsia-review.googlesource.com/c/infra/recipes/+/1805818\nReviewed-by: Ashley Daly \u003cfelizardo@google.com\u003e\nCommit-Queue: Zijun Wan \u003czijunwan@google.com\u003e\n"
    },
    {
      "commit": "8646549e5a8a83a433faeda13e42d5831642d445",
      "tree": "63ddce8917f56910d56a0dedc6dd7a4e34e40b29",
      "parents": [
        "86d947b6314797216f642992ef68de5f8dbf0e29"
      ],
      "author": {
        "name": "recipe-roller",
        "email": "global-integration-roller@fuchsia-infra.iam.gserviceaccount.com",
        "time": "Mon Sep 07 02:45:52 2026 -0700"
      },
      "committer": {
        "name": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Mon Sep 07 02:45:52 2026 -0700"
      },
      "message": "Roll recipe dependencies (trivial).\n\nThis is an automated CL created by the recipe roller. This CL rolls\nrecipe changes from upstream projects (recipe_engine) into this repository.\n\nThe build that created this CL was\nhttps://ci.chromium.org/b/8671332504322963361\n\nrecipe_engine:\nhttps://chromium.googlesource.com/infra/luci/recipes-py/+/a493b0c3c06b6a579edcf36477c9973f70d94dd6\n  a493b0c (ovsienko@google.com)\n      Reland \"VPython: convert legacy vpython to UV for recipes-py.\"\n\nPlease check the following references for more information:\n- autoroller, https://chromium.googlesource.com/infra/luci/recipes-py/+/main/doc/workflow.md#autoroller\n- rollback, https://chromium.googlesource.com/infra/luci/recipes-py/+/main/doc/workflow.md#rollback\n- cross-repo dependencies, https://chromium.googlesource.com/infra/luci/recipes-py/+/main/doc/cross_repo.md\n\nUse https://goo.gl/noib3a to file a bug.\n\nRecipe-Tryjob-Bypass-Reason: Autoroller\nIgnore-Freeze: Autoroller\nBugdroid-Send-Email: False\nChange-Id: If9d31989a113eeee1c0c9495d605e60c0a9aae22\nReviewed-on: https://fuchsia-review.googlesource.com/c/infra/recipes/+/1810289\nCommit-Queue: global-integration-roller@fuchsia-infra.iam.gserviceaccount.com \u003cglobal-integration-roller@fuchsia-infra.iam.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "86d947b6314797216f642992ef68de5f8dbf0e29",
      "tree": "9cffcadc92508f7a1cdc432a37f0c256fbf64dc8",
      "parents": [
        "e6fc599e4cfc88973516dbfe4d59f52450c8ed4c"
      ],
      "author": {
        "name": "global-integration-roller",
        "email": "global-integration-roller@fuchsia-infra.iam.gserviceaccount.com",
        "time": "Sat Sep 05 03:08:32 2026 -0700"
      },
      "committer": {
        "name": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Sat Sep 05 03:08:32 2026 -0700"
      },
      "message": "[roll] Update coverage pinned tools\n\n- fuchsia/coverage/absolute_uploader/${platform}\n- fuchsia/coverage/incremental_uploader/${platform}\n\nRoller-URL: https://cr-buildbucket.appspot.com/build/8671524326586066273\nCQ-Do-Not-Cancel-Tryjobs: true\nCq-Include-Trybots: luci.fuchsia.try:fuchsia-coverage-absolute\nChange-Id: I7e48b95611b8d7e239ac115b8d8de3154b968525\nReviewed-on: https://fuchsia-review.googlesource.com/c/infra/recipes/+/1808810\nCommit-Queue: global-integration-roller@fuchsia-infra.iam.gserviceaccount.com \u003cglobal-integration-roller@fuchsia-infra.iam.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "e6fc599e4cfc88973516dbfe4d59f52450c8ed4c",
      "tree": "f764fe94e6af781984386dae0c1b1569f15c182e",
      "parents": [
        "88f7fc337124baa2393272fbf1c31fec7f1e8cec"
      ],
      "author": {
        "name": "Carver Forbes",
        "email": "carverforbes@google.com",
        "time": "Fri Sep 04 15:31:39 2026 -0700"
      },
      "committer": {
        "name": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Fri Sep 04 15:31:39 2026 -0700"
      },
      "message": "[subbuild] Cap fallback zones for multi-core try builders\n\nSwarming enforces a limit of at most 8 dimension combinations per\ntask slice. When tryjobs discover snapshot zones, multi-core try\nbuilders (e.g. \u0027cores:32|44\u0027) combined with \u003e4 fallback zones exceed\nthis limit (e.g. 2 cores * 6 zones \u003d 12 combinations), causing\n\"Backend task creation failure.\" errors.\n\n- Retrieve builder dimensions for tryjobs when shared cache is active\n  so cores is properly tracked.\n- In _build_zone_dimensions, assume at least 2 core options when\n  cores is unknown to prevent exceeding the 8-combination limit.\n- Add test coverage for tryjobs with many snapshot zones and multi-core\n  or unknown-core builder dimensions.\n\nBug: b/482892823\nChange-Id: Ib1f17055dc1a0fb6716daa3473b4cff124e45f4d\nReviewed-on: https://fuchsia-review.googlesource.com/c/infra/recipes/+/1806918\nReviewed-by: Petr Lomakin \u003cplomakin@google.com\u003e\nFuchsia-Auto-Submit: Carver Forbes \u003ccarverforbes@google.com\u003e\nReviewed-by: Zijun Wan \u003czijunwan@google.com\u003e\nCommit-Queue: Carver Forbes \u003ccarverforbes@google.com\u003e\n"
    },
    {
      "commit": "88f7fc337124baa2393272fbf1c31fec7f1e8cec",
      "tree": "c2041a97dfa4d55344f3ace5bec513c86c643918",
      "parents": [
        "8e0424131347b3f9e7ac77de14bba6c29e85b1d9"
      ],
      "author": {
        "name": "Carver Forbes",
        "email": "carverforbes@google.com",
        "time": "Fri Sep 04 12:25:43 2026 -0700"
      },
      "committer": {
        "name": "Carver Forbes",
        "email": "carverforbes@google.com",
        "time": "Fri Sep 04 12:25:43 2026 -0700"
      },
      "message": "Revert \"[build] Temporarily disable shared cache fleet-wide\"\n\nThis reverts commit 53076173c87979d58cecabdb248b4caa13470581.\n\nReason for revert: The gcloud API is responding again: https://ci.chromium.org/ui/p/fuchsia/builders/try.shadow/bringup.x64-drivers-build_only/b8671565670892184689/infra. Thus, the shared cache is working as well.\n\nFailure Link: \u003cLINK TO FAILURE\u003e\n\nOriginal change\u0027s description:\n\u003e [build] Temporarily disable shared cache fleet-wide\n\u003e\n\u003e Disable the shared cache in `fuchsia/build` by gating it behind an\n\u003e explicit `force_shared_cache` property.\n\u003e\n\u003e This acts as an emergency circuit breaker to immediately unbreak failing\n\u003e builders across CQ and CI by falling back to clean local SSD builds,\n\u003e avoiding a large-scale configuration rollback across multiple repos.\n\u003e Testing with `led` can re-enable it via `-p force_shared_cache\u003dtrue`.\n\u003e\n\u003e Bug: b/482892823\n\u003e Change-Id: If4075cf673c96c47c7d62f85ce9f47b868e7a557\n\u003e Reviewed-on: https://fuchsia-review.googlesource.com/c/infra/recipes/+/1805319\n\u003e Commit-Queue: Carver Forbes \u003ccarverforbes@google.com\u003e\n\u003e Reviewed-by: Liz Kammer \u003ceakammer@google.com\u003e\n\nBug: b/482892823\nNo-Presubmit: true\nNo-Tree-Checks: true\nNo-Try: true\nChange-Id: I5a4e0d6f650ad76874ad47e45ca2ce8ccffc7dae\nReviewed-on: https://fuchsia-review.googlesource.com/c/infra/recipes/+/1807597\nReviewed-by: Liz Kammer \u003ceakammer@google.com\u003e\nExempt: android-build-ayeaye@system.gserviceaccount.com \u003candroid-build-ayeaye@system.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "8e0424131347b3f9e7ac77de14bba6c29e85b1d9",
      "tree": "1532794d96759f57ff5439231aa0b20a1ef374ca",
      "parents": [
        "60d38f7e3d8301100f19da016cc8e6bce0dacbfa"
      ],
      "author": {
        "name": "Carver Forbes",
        "email": "carverforbes@google.com",
        "time": "Fri Sep 04 12:23:35 2026 -0700"
      },
      "committer": {
        "name": "Carver Forbes",
        "email": "carverforbes@google.com",
        "time": "Fri Sep 04 12:23:35 2026 -0700"
      },
      "message": "[subbuild,build] Handle zone discovery and cache save failures\n\nDefensively catch StepFailure exceptions for shared cache operations:\n- In recipe_modules/subbuild:\n  - Wrap get_valid_snapshot_zones (for tryjobs) in try/except so GCE\n    API errors or timeouts fall back to use_shared_cache\u003dFalse.\n  - Wrap get_builder_dimensions and get_ci_zones (for CI) in try/except\n    so missing dimensions or Swarming bot query failures fall back to\n    use_shared_cache\u003dFalse instead of failing with INFRA_FAILURE.\n  - Add explicit 30s timeout to get_builder_dimensions step.\n- In recipes/fuchsia/build: wrap api.gce_disk_manager.save_cache_entry\n  in a try/except block so that snapshot creation errors or timeouts\n  never cause an otherwise successful compilation to fail.\n\nBug: b/482892823\nChange-Id: Ib78cf9a30b7f08675e9973787e36db17043a238c\nReviewed-on: https://fuchsia-review.googlesource.com/c/infra/recipes/+/1806959\nFuchsia-Auto-Submit: Carver Forbes \u003ccarverforbes@google.com\u003e\nReviewed-by: Oliver Newman \u003colivernewman@google.com\u003e\n"
    }
  ],
  "next": "60d38f7e3d8301100f19da016cc8e6bce0dacbfa"
}
