[roll] Roll the config repository

GitOrigin-RevId: d6f5db7eb9e3461376afdc08c3c461fcd2ee1c24
Change-Id: I7854ad42bc748fac9d3350c67b5cb4f5a91299c4
Reviewed-on: https://pigweed-review.googlesource.com/c/infra/config/+/76800
Reviewed-by: Oliver Newman <olivernewman@google.com>
Commit-Queue: Rob Mohr <mohrr@google.com>
diff --git a/generated/pigweed/for_review_only/buildbucket/ci/docs-builder.textproto b/generated/pigweed/for_review_only/buildbucket/ci/docs-builder.textproto
new file mode 100644
index 0000000..609e93d
--- /dev/null
+++ b/generated/pigweed/for_review_only/buildbucket/ci/docs-builder.textproto
@@ -0,0 +1,74 @@
+# Auto-generated by lucicfg.
+# Do not modify manually.
+#
+# For the schema of this file, see Bucket message:
+#   https://luci-config.appspot.com/schemas/projects:buildbucket.cfg
+
+name: "ci"
+acls {
+  group: "all"
+}
+acls {
+  role: SCHEDULER
+  identity: "user:luci-scheduler@appspot.gserviceaccount.com"
+}
+acls {
+  role: SCHEDULER
+  identity: "user:pigweed-ci-builder@pigweed.google.com.iam.gserviceaccount.com"
+}
+swarming {
+  builders {
+    name: "docs-builder"
+    swarming_host: "chromium-swarm.appspot.com"
+    dimensions: "cores:16"
+    dimensions: "cpu:x64|x86-64"
+    dimensions: "os:Debian"
+    dimensions: "pool:luci.pigweed.ci"
+    exe {
+      cipd_package: "pigweed/infra/recipe_bundles/pigweed.googlesource.com/infra/recipes"
+      cipd_version: "refs/heads/main"
+      cmd: "luciexe"
+    }
+    properties:
+      '{'
+      '  "$pigweed/build": {'
+      '    "gn_args": [],'
+      '    "ninja_targets": ['
+      '      "docs"'
+      '    ]'
+      '  },'
+      '  "$pigweed/checkout": {'
+      '    "branch": "main",'
+      '    "equivalent_remotes": [],'
+      '    "match_branch": true,'
+      '    "remote": "https://pigweed.googlesource.com/pigweed/pigweed",'
+      '    "use_repo": false'
+      '  },'
+      '  "$pigweed/environment": {'
+      '    "config_file": "pw_env_setup/config.json"'
+      '  },'
+      '  "dry_run": false,'
+      '  "recipe": "docs_builder"'
+      '}'
+    priority: 40
+    execution_timeout_secs: 2700
+    caches {
+      name: "builder"
+      path: "builder"
+    }
+    caches {
+      name: "pip"
+      path: "pip"
+      wait_for_warm_cache_secs: 60
+    }
+    service_account: "pigweed-doc-builder@pigweed.google.com.iam.gserviceaccount.com"
+    experiments {
+      key: "luci.recipes.use_python3"
+      value: 100
+    }
+    experiments {
+      key: "luci.use_realms"
+      value: 100
+    }
+  }
+}
diff --git a/generated/pigweed/for_review_only/buildbucket/ci/envtest-linux-python2.textproto b/generated/pigweed/for_review_only/buildbucket/ci/envtest-linux-python2.textproto
new file mode 100644
index 0000000..5e2962f
--- /dev/null
+++ b/generated/pigweed/for_review_only/buildbucket/ci/envtest-linux-python2.textproto
@@ -0,0 +1,68 @@
+# Auto-generated by lucicfg.
+# Do not modify manually.
+#
+# For the schema of this file, see Bucket message:
+#   https://luci-config.appspot.com/schemas/projects:buildbucket.cfg
+
+name: "ci"
+acls {
+  group: "all"
+}
+acls {
+  role: SCHEDULER
+  identity: "user:luci-scheduler@appspot.gserviceaccount.com"
+}
+acls {
+  role: SCHEDULER
+  identity: "user:pigweed-ci-builder@pigweed.google.com.iam.gserviceaccount.com"
+}
+swarming {
+  builders {
+    name: "envtest-linux-python2"
+    swarming_host: "chromium-swarm.appspot.com"
+    dimensions: "cores:16"
+    dimensions: "cpu:x64|x86-64"
+    dimensions: "os:Debian"
+    dimensions: "pool:luci.pigweed.ci"
+    exe {
+      cipd_package: "pigweed/infra/recipe_bundles/pigweed.googlesource.com/infra/recipes"
+      cipd_version: "refs/heads/main"
+      cmd: "luciexe"
+    }
+    properties:
+      '{'
+      '  "$pigweed/checkout": {'
+      '    "branch": "main",'
+      '    "equivalent_remotes": [],'
+      '    "match_branch": true,'
+      '    "remote": "https://pigweed.googlesource.com/pigweed/pigweed",'
+      '    "use_repo": false'
+      '  },'
+      '  "command": "python -m pw_cli --directory $PW_PROJECT_ROOT --loglevel debug presubmit --step gn_gen_check",'
+      '  "environment_variables": ['
+      '    "PW_BOOTSTRAP_PYTHON=python2"'
+      '  ],'
+      '  "recipe": "envtest"'
+      '}'
+    priority: 40
+    execution_timeout_secs: 2700
+    caches {
+      name: "builder"
+      path: "builder"
+    }
+    caches {
+      name: "pip"
+      path: "pip"
+      wait_for_warm_cache_secs: 60
+    }
+    service_account: "pigweed-ci-builder@pigweed.google.com.iam.gserviceaccount.com"
+    experiments {
+      key: "luci.recipes.use_python3"
+      value: 100
+    }
+    experiments {
+      key: "luci.use_realms"
+      value: 100
+    }
+  }
+}
diff --git a/generated/pigweed/for_review_only/buildbucket/ci/envtest-linux-python3.textproto b/generated/pigweed/for_review_only/buildbucket/ci/envtest-linux-python3.textproto
new file mode 100644
index 0000000..ac6bfb6
--- /dev/null
+++ b/generated/pigweed/for_review_only/buildbucket/ci/envtest-linux-python3.textproto
@@ -0,0 +1,68 @@
+# Auto-generated by lucicfg.
+# Do not modify manually.
+#
+# For the schema of this file, see Bucket message:
+#   https://luci-config.appspot.com/schemas/projects:buildbucket.cfg
+
+name: "ci"
+acls {
+  group: "all"
+}
+acls {
+  role: SCHEDULER
+  identity: "user:luci-scheduler@appspot.gserviceaccount.com"
+}
+acls {
+  role: SCHEDULER
+  identity: "user:pigweed-ci-builder@pigweed.google.com.iam.gserviceaccount.com"
+}
+swarming {
+  builders {
+    name: "envtest-linux-python3"
+    swarming_host: "chromium-swarm.appspot.com"
+    dimensions: "cores:16"
+    dimensions: "cpu:x64|x86-64"
+    dimensions: "os:Debian"
+    dimensions: "pool:luci.pigweed.ci"
+    exe {
+      cipd_package: "pigweed/infra/recipe_bundles/pigweed.googlesource.com/infra/recipes"
+      cipd_version: "refs/heads/main"
+      cmd: "luciexe"
+    }
+    properties:
+      '{'
+      '  "$pigweed/checkout": {'
+      '    "branch": "main",'
+      '    "equivalent_remotes": [],'
+      '    "match_branch": true,'
+      '    "remote": "https://pigweed.googlesource.com/pigweed/pigweed",'
+      '    "use_repo": false'
+      '  },'
+      '  "command": "python -m pw_cli --directory $PW_PROJECT_ROOT --loglevel debug presubmit --step gn_gen_check",'
+      '  "environment_variables": ['
+      '    "PW_BOOTSTRAP_PYTHON=python3"'
+      '  ],'
+      '  "recipe": "envtest"'
+      '}'
+    priority: 40
+    execution_timeout_secs: 2700
+    caches {
+      name: "builder"
+      path: "builder"
+    }
+    caches {
+      name: "pip"
+      path: "pip"
+      wait_for_warm_cache_secs: 60
+    }
+    service_account: "pigweed-ci-builder@pigweed.google.com.iam.gserviceaccount.com"
+    experiments {
+      key: "luci.recipes.use_python3"
+      value: 100
+    }
+    experiments {
+      key: "luci.use_realms"
+      value: 100
+    }
+  }
+}
diff --git a/generated/pigweed/for_review_only/buildbucket/ci/envtest-mac.textproto b/generated/pigweed/for_review_only/buildbucket/ci/envtest-mac.textproto
new file mode 100644
index 0000000..c4b3356
--- /dev/null
+++ b/generated/pigweed/for_review_only/buildbucket/ci/envtest-mac.textproto
@@ -0,0 +1,70 @@
+# Auto-generated by lucicfg.
+# Do not modify manually.
+#
+# For the schema of this file, see Bucket message:
+#   https://luci-config.appspot.com/schemas/projects:buildbucket.cfg
+
+name: "ci"
+acls {
+  group: "all"
+}
+acls {
+  role: SCHEDULER
+  identity: "user:luci-scheduler@appspot.gserviceaccount.com"
+}
+acls {
+  role: SCHEDULER
+  identity: "user:pigweed-ci-builder@pigweed.google.com.iam.gserviceaccount.com"
+}
+swarming {
+  builders {
+    name: "envtest-mac"
+    swarming_host: "chromium-swarm.appspot.com"
+    dimensions: "cpu:x64|x86-64"
+    dimensions: "os:Mac"
+    dimensions: "pool:luci.pigweed.ci"
+    exe {
+      cipd_package: "pigweed/infra/recipe_bundles/pigweed.googlesource.com/infra/recipes"
+      cipd_version: "refs/heads/main"
+      cmd: "luciexe"
+    }
+    properties:
+      '{'
+      '  "$pigweed/checkout": {'
+      '    "branch": "main",'
+      '    "equivalent_remotes": [],'
+      '    "match_branch": true,'
+      '    "remote": "https://pigweed.googlesource.com/pigweed/pigweed",'
+      '    "use_repo": false'
+      '  },'
+      '  "command": "python -m pw_cli --directory $PW_PROJECT_ROOT --loglevel debug presubmit --step gn_gen_check",'
+      '  "macos_sdk.version": "11c29",'
+      '  "recipe": "envtest"'
+      '}'
+    priority: 40
+    execution_timeout_secs: 2700
+    caches {
+      name: "builder"
+      path: "builder"
+    }
+    caches {
+      name: "macos_sdk"
+      path: "macos_sdk"
+      wait_for_warm_cache_secs: 120
+    }
+    caches {
+      name: "pip"
+      path: "pip"
+      wait_for_warm_cache_secs: 60
+    }
+    service_account: "pigweed-ci-builder@pigweed.google.com.iam.gserviceaccount.com"
+    experiments {
+      key: "luci.recipes.use_python3"
+      value: 100
+    }
+    experiments {
+      key: "luci.use_realms"
+      value: 100
+    }
+  }
+}
diff --git a/generated/pigweed/for_review_only/buildbucket/ci/envtest-windows.textproto b/generated/pigweed/for_review_only/buildbucket/ci/envtest-windows.textproto
new file mode 100644
index 0000000..ad7865d
--- /dev/null
+++ b/generated/pigweed/for_review_only/buildbucket/ci/envtest-windows.textproto
@@ -0,0 +1,65 @@
+# Auto-generated by lucicfg.
+# Do not modify manually.
+#
+# For the schema of this file, see Bucket message:
+#   https://luci-config.appspot.com/schemas/projects:buildbucket.cfg
+
+name: "ci"
+acls {
+  group: "all"
+}
+acls {
+  role: SCHEDULER
+  identity: "user:luci-scheduler@appspot.gserviceaccount.com"
+}
+acls {
+  role: SCHEDULER
+  identity: "user:pigweed-ci-builder@pigweed.google.com.iam.gserviceaccount.com"
+}
+swarming {
+  builders {
+    name: "envtest-windows"
+    swarming_host: "chromium-swarm.appspot.com"
+    dimensions: "cores:16"
+    dimensions: "cpu:x64|x86-64"
+    dimensions: "os:Windows-10"
+    dimensions: "pool:luci.pigweed.ci"
+    exe {
+      cipd_package: "pigweed/infra/recipe_bundles/pigweed.googlesource.com/infra/recipes"
+      cipd_version: "refs/heads/main"
+      cmd: "luciexe"
+    }
+    properties:
+      '{'
+      '  "$pigweed/checkout": {'
+      '    "branch": "main",'
+      '    "equivalent_remotes": [],'
+      '    "match_branch": true,'
+      '    "remote": "https://pigweed.googlesource.com/pigweed/pigweed",'
+      '    "use_repo": false'
+      '  },'
+      '  "command": "python -m pw_cli --directory $PW_PROJECT_ROOT --loglevel debug presubmit --step gn_gen_check",'
+      '  "recipe": "envtest"'
+      '}'
+    priority: 40
+    execution_timeout_secs: 2700
+    caches {
+      name: "builder"
+      path: "builder"
+    }
+    caches {
+      name: "pip"
+      path: "pip"
+      wait_for_warm_cache_secs: 60
+    }
+    service_account: "pigweed-ci-builder@pigweed.google.com.iam.gserviceaccount.com"
+    experiments {
+      key: "luci.recipes.use_python3"
+      value: 100
+    }
+    experiments {
+      key: "luci.use_realms"
+      value: 100
+    }
+  }
+}
diff --git a/generated/pigweed/for_review_only/buildbucket/ci/experimental-envtest.textproto b/generated/pigweed/for_review_only/buildbucket/ci/experimental-envtest.textproto
new file mode 100644
index 0000000..9cbfd62
--- /dev/null
+++ b/generated/pigweed/for_review_only/buildbucket/ci/experimental-envtest.textproto
@@ -0,0 +1,67 @@
+# Auto-generated by lucicfg.
+# Do not modify manually.
+#
+# For the schema of this file, see Bucket message:
+#   https://luci-config.appspot.com/schemas/projects:buildbucket.cfg
+
+name: "ci"
+acls {
+  group: "all"
+}
+acls {
+  role: SCHEDULER
+  identity: "user:luci-scheduler@appspot.gserviceaccount.com"
+}
+acls {
+  role: SCHEDULER
+  identity: "user:pigweed-ci-builder@pigweed.google.com.iam.gserviceaccount.com"
+}
+swarming {
+  builders {
+    name: "experimental-envtest"
+    swarming_host: "chromium-swarm.appspot.com"
+    dimensions: "cores:16"
+    dimensions: "cpu:x64|x86-64"
+    dimensions: "os:Debian"
+    dimensions: "pool:luci.pigweed.ci"
+    exe {
+      cipd_package: "pigweed/infra/recipe_bundles/pigweed.googlesource.com/infra/recipes"
+      cipd_version: "refs/heads/main"
+      cmd: "luciexe"
+    }
+    properties:
+      '{'
+      '  "$pigweed/checkout": {'
+      '    "branch": "main",'
+      '    "equivalent_remotes": [],'
+      '    "match_branch": true,'
+      '    "remote": "https://pigweed.googlesource.com/pigweed/experimental",'
+      '    "use_repo": false'
+      '  },'
+      '  "command": "python -m pw_cli --directory $PW_PROJECT_ROOT --loglevel debug presubmit --step gn_gen_check",'
+      '  "dry_run": true,'
+      '  "recipe": "envtest"'
+      '}'
+    priority: 50
+    execution_timeout_secs: 3600
+    caches {
+      name: "builder"
+      path: "builder"
+    }
+    caches {
+      name: "pip"
+      path: "pip"
+      wait_for_warm_cache_secs: 60
+    }
+    service_account: "pigweed-ci-builder@pigweed.google.com.iam.gserviceaccount.com"
+    experimental: YES
+    experiments {
+      key: "luci.recipes.use_python3"
+      value: 100
+    }
+    experiments {
+      key: "luci.use_realms"
+      value: 100
+    }
+  }
+}
diff --git a/generated/pigweed/for_review_only/buildbucket/ci/experimental-full.textproto b/generated/pigweed/for_review_only/buildbucket/ci/experimental-full.textproto
new file mode 100644
index 0000000..3121cf5
--- /dev/null
+++ b/generated/pigweed/for_review_only/buildbucket/ci/experimental-full.textproto
@@ -0,0 +1,77 @@
+# Auto-generated by lucicfg.
+# Do not modify manually.
+#
+# For the schema of this file, see Bucket message:
+#   https://luci-config.appspot.com/schemas/projects:buildbucket.cfg
+
+name: "ci"
+acls {
+  group: "all"
+}
+acls {
+  role: SCHEDULER
+  identity: "user:luci-scheduler@appspot.gserviceaccount.com"
+}
+acls {
+  role: SCHEDULER
+  identity: "user:pigweed-ci-builder@pigweed.google.com.iam.gserviceaccount.com"
+}
+swarming {
+  builders {
+    name: "experimental-full"
+    swarming_host: "chromium-swarm.appspot.com"
+    dimensions: "cores:16"
+    dimensions: "cpu:x64|x86-64"
+    dimensions: "os:Debian"
+    dimensions: "pool:luci.pigweed.ci"
+    exe {
+      cipd_package: "pigweed/infra/recipe_bundles/pigweed.googlesource.com/infra/recipes"
+      cipd_version: "refs/heads/main"
+      cmd: "luciexe"
+    }
+    properties:
+      '{'
+      '  "$pigweed/checkout": {'
+      '    "branch": "main",'
+      '    "equivalent_remotes": [],'
+      '    "match_branch": true,'
+      '    "remote": "https://pigweed.googlesource.com/pigweed/experimental",'
+      '    "use_repo": false'
+      '  },'
+      '  "$pigweed/environment": {'
+      '    "config_file": "env_setup.json",'
+      '    "relative_pigweed_root": "third_party/pigweed",'
+      '    "root_variable_name": "PIGWEED_EXPERIMENTAL_ROOT"'
+      '  },'
+      '  "$pigweed/pw_presubmit": {'
+      '    "program": ['
+      '      "full"'
+      '    ]'
+      '  },'
+      '  "program": ['
+      '    "full"'
+      '  ],'
+      '  "recipe": "pw_presubmit"'
+      '}'
+    priority: 40
+    execution_timeout_secs: 3600
+    caches {
+      name: "builder"
+      path: "builder"
+    }
+    caches {
+      name: "pip"
+      path: "pip"
+      wait_for_warm_cache_secs: 60
+    }
+    service_account: "pigweed-ci-builder@pigweed.google.com.iam.gserviceaccount.com"
+    experiments {
+      key: "luci.recipes.use_python3"
+      value: 100
+    }
+    experiments {
+      key: "luci.use_realms"
+      value: 100
+    }
+  }
+}
diff --git a/generated/pigweed/for_review_only/buildbucket/ci/experimental-lintformat.textproto b/generated/pigweed/for_review_only/buildbucket/ci/experimental-lintformat.textproto
new file mode 100644
index 0000000..5f3e1f0
--- /dev/null
+++ b/generated/pigweed/for_review_only/buildbucket/ci/experimental-lintformat.textproto
@@ -0,0 +1,79 @@
+# Auto-generated by lucicfg.
+# Do not modify manually.
+#
+# For the schema of this file, see Bucket message:
+#   https://luci-config.appspot.com/schemas/projects:buildbucket.cfg
+
+name: "ci"
+acls {
+  group: "all"
+}
+acls {
+  role: SCHEDULER
+  identity: "user:luci-scheduler@appspot.gserviceaccount.com"
+}
+acls {
+  role: SCHEDULER
+  identity: "user:pigweed-ci-builder@pigweed.google.com.iam.gserviceaccount.com"
+}
+swarming {
+  builders {
+    name: "experimental-lintformat"
+    swarming_host: "chromium-swarm.appspot.com"
+    dimensions: "cores:16"
+    dimensions: "cpu:x64|x86-64"
+    dimensions: "os:Debian"
+    dimensions: "pool:luci.pigweed.ci"
+    exe {
+      cipd_package: "pigweed/infra/recipe_bundles/pigweed.googlesource.com/infra/recipes"
+      cipd_version: "refs/heads/main"
+      cmd: "luciexe"
+    }
+    properties:
+      '{'
+      '  "$pigweed/checkout": {'
+      '    "branch": "main",'
+      '    "equivalent_remotes": [],'
+      '    "match_branch": true,'
+      '    "remote": "https://pigweed.googlesource.com/pigweed/experimental",'
+      '    "use_repo": false'
+      '  },'
+      '  "$pigweed/environment": {'
+      '    "config_file": "env_setup.json",'
+      '    "relative_pigweed_root": "third_party/pigweed",'
+      '    "root_variable_name": "PIGWEED_EXPERIMENTAL_ROOT"'
+      '  },'
+      '  "$pigweed/pw_presubmit": {'
+      '    "program": ['
+      '      "lintformat"'
+      '    ]'
+      '  },'
+      '  "dry_run": true,'
+      '  "program": ['
+      '    "lintformat"'
+      '  ],'
+      '  "recipe": "pw_presubmit"'
+      '}'
+    priority: 50
+    execution_timeout_secs: 1500
+    caches {
+      name: "builder"
+      path: "builder"
+    }
+    caches {
+      name: "pip"
+      path: "pip"
+      wait_for_warm_cache_secs: 60
+    }
+    service_account: "pigweed-ci-builder@pigweed.google.com.iam.gserviceaccount.com"
+    experimental: YES
+    experiments {
+      key: "luci.recipes.use_python3"
+      value: 100
+    }
+    experiments {
+      key: "luci.use_realms"
+      value: 100
+    }
+  }
+}
diff --git a/generated/pigweed/for_review_only/buildbucket/ci/host-tools-builder-linux.textproto b/generated/pigweed/for_review_only/buildbucket/ci/host-tools-builder-linux.textproto
new file mode 100644
index 0000000..511fa1c
--- /dev/null
+++ b/generated/pigweed/for_review_only/buildbucket/ci/host-tools-builder-linux.textproto
@@ -0,0 +1,99 @@
+# Auto-generated by lucicfg.
+# Do not modify manually.
+#
+# For the schema of this file, see Bucket message:
+#   https://luci-config.appspot.com/schemas/projects:buildbucket.cfg
+
+name: "ci"
+acls {
+  group: "all"
+}
+acls {
+  role: SCHEDULER
+  identity: "user:luci-scheduler@appspot.gserviceaccount.com"
+}
+acls {
+  role: SCHEDULER
+  identity: "user:pigweed-ci-builder@pigweed.google.com.iam.gserviceaccount.com"
+}
+swarming {
+  builders {
+    name: "host-tools-builder-linux"
+    swarming_host: "chromium-swarm.appspot.com"
+    dimensions: "cores:16"
+    dimensions: "cpu:x64|x86-64"
+    dimensions: "os:Debian"
+    dimensions: "pool:luci.pigweed.ci"
+    exe {
+      cipd_package: "pigweed/infra/recipe_bundles/pigweed.googlesource.com/infra/recipes"
+      cipd_version: "refs/heads/main"
+      cmd: "luciexe"
+    }
+    properties:
+      '{'
+      '  "$pigweed/build": {'
+      '    "gn_args": [],'
+      '    "ninja_targets": ['
+      '      "host_tools"'
+      '    ]'
+      '  },'
+      '  "$pigweed/checkout": {'
+      '    "branch": "main",'
+      '    "equivalent_remotes": [],'
+      '    "match_branch": true,'
+      '    "remote": "https://pigweed.googlesource.com/pigweed/pigweed",'
+      '    "use_repo": false'
+      '  },'
+      '  "$pigweed/environment": {'
+      '    "config_file": "pw_env_setup/config.json"'
+      '  },'
+      '  "add_cipd_platform": true,'
+      '  "artifacts": ['
+      '    "host_tools/*"'
+      '  ],'
+      '  "cipd_path": "pigweed/host_tools",'
+      '  "dry_run": false,'
+      '  "recipe": "target_to_cipd",'
+      '  "replacements": ['
+      '    {'
+      '      "new": "",'
+      '      "old": "host_clang_debug/"'
+      '    },'
+      '    {'
+      '      "new": "",'
+      '      "old": "host_gcc_debug/"'
+      '    },'
+      '    {'
+      '      "new": "",'
+      '      "old": "host_tools/"'
+      '    }'
+      '  ],'
+      '  "roller_name": null'
+      '}'
+    priority: 40
+    execution_timeout_secs: 2700
+    caches {
+      name: "builder"
+      path: "builder"
+    }
+    caches {
+      name: "go"
+      path: "go"
+      wait_for_warm_cache_secs: 120
+    }
+    caches {
+      name: "pip"
+      path: "pip"
+      wait_for_warm_cache_secs: 60
+    }
+    service_account: "pigweed-roller@pigweed.google.com.iam.gserviceaccount.com"
+    experiments {
+      key: "luci.recipes.use_python3"
+      value: 100
+    }
+    experiments {
+      key: "luci.use_realms"
+      value: 100
+    }
+  }
+}
diff --git a/generated/pigweed/for_review_only/buildbucket/ci/host-tools-builder-mac.textproto b/generated/pigweed/for_review_only/buildbucket/ci/host-tools-builder-mac.textproto
new file mode 100644
index 0000000..250b868
--- /dev/null
+++ b/generated/pigweed/for_review_only/buildbucket/ci/host-tools-builder-mac.textproto
@@ -0,0 +1,104 @@
+# Auto-generated by lucicfg.
+# Do not modify manually.
+#
+# For the schema of this file, see Bucket message:
+#   https://luci-config.appspot.com/schemas/projects:buildbucket.cfg
+
+name: "ci"
+acls {
+  group: "all"
+}
+acls {
+  role: SCHEDULER
+  identity: "user:luci-scheduler@appspot.gserviceaccount.com"
+}
+acls {
+  role: SCHEDULER
+  identity: "user:pigweed-ci-builder@pigweed.google.com.iam.gserviceaccount.com"
+}
+swarming {
+  builders {
+    name: "host-tools-builder-mac"
+    swarming_host: "chromium-swarm.appspot.com"
+    dimensions: "cpu:x64|x86-64"
+    dimensions: "os:Mac"
+    dimensions: "pool:luci.pigweed.ci"
+    exe {
+      cipd_package: "pigweed/infra/recipe_bundles/pigweed.googlesource.com/infra/recipes"
+      cipd_version: "refs/heads/main"
+      cmd: "luciexe"
+    }
+    properties:
+      '{'
+      '  "$pigweed/build": {'
+      '    "gn_args": [],'
+      '    "ninja_targets": ['
+      '      "host_tools"'
+      '    ]'
+      '  },'
+      '  "$pigweed/checkout": {'
+      '    "branch": "main",'
+      '    "equivalent_remotes": [],'
+      '    "match_branch": true,'
+      '    "remote": "https://pigweed.googlesource.com/pigweed/pigweed",'
+      '    "use_repo": false'
+      '  },'
+      '  "$pigweed/environment": {'
+      '    "config_file": "pw_env_setup/config.json"'
+      '  },'
+      '  "add_cipd_platform": true,'
+      '  "artifacts": ['
+      '    "host_tools/*"'
+      '  ],'
+      '  "cipd_path": "pigweed/host_tools",'
+      '  "dry_run": false,'
+      '  "macos_sdk.version": "11c29",'
+      '  "recipe": "target_to_cipd",'
+      '  "replacements": ['
+      '    {'
+      '      "new": "",'
+      '      "old": "host_clang_debug/"'
+      '    },'
+      '    {'
+      '      "new": "",'
+      '      "old": "host_gcc_debug/"'
+      '    },'
+      '    {'
+      '      "new": "",'
+      '      "old": "host_tools/"'
+      '    }'
+      '  ],'
+      '  "roller_name": null'
+      '}'
+    priority: 40
+    execution_timeout_secs: 2700
+    caches {
+      name: "builder"
+      path: "builder"
+    }
+    caches {
+      name: "go"
+      path: "go"
+      wait_for_warm_cache_secs: 120
+    }
+    caches {
+      name: "macos_sdk"
+      path: "macos_sdk"
+      wait_for_warm_cache_secs: 120
+    }
+    caches {
+      name: "pip"
+      path: "pip"
+      wait_for_warm_cache_secs: 60
+    }
+    service_account: "pigweed-roller@pigweed.google.com.iam.gserviceaccount.com"
+    experiments {
+      key: "luci.recipes.use_python3"
+      value: 100
+    }
+    experiments {
+      key: "luci.use_realms"
+      value: 100
+    }
+  }
+}
diff --git a/generated/pigweed/for_review_only/buildbucket/ci/host-tools-builder-windows.textproto b/generated/pigweed/for_review_only/buildbucket/ci/host-tools-builder-windows.textproto
new file mode 100644
index 0000000..2bab6c2
--- /dev/null
+++ b/generated/pigweed/for_review_only/buildbucket/ci/host-tools-builder-windows.textproto
@@ -0,0 +1,99 @@
+# Auto-generated by lucicfg.
+# Do not modify manually.
+#
+# For the schema of this file, see Bucket message:
+#   https://luci-config.appspot.com/schemas/projects:buildbucket.cfg
+
+name: "ci"
+acls {
+  group: "all"
+}
+acls {
+  role: SCHEDULER
+  identity: "user:luci-scheduler@appspot.gserviceaccount.com"
+}
+acls {
+  role: SCHEDULER
+  identity: "user:pigweed-ci-builder@pigweed.google.com.iam.gserviceaccount.com"
+}
+swarming {
+  builders {
+    name: "host-tools-builder-windows"
+    swarming_host: "chromium-swarm.appspot.com"
+    dimensions: "cores:16"
+    dimensions: "cpu:x64|x86-64"
+    dimensions: "os:Windows-10"
+    dimensions: "pool:luci.pigweed.ci"
+    exe {
+      cipd_package: "pigweed/infra/recipe_bundles/pigweed.googlesource.com/infra/recipes"
+      cipd_version: "refs/heads/main"
+      cmd: "luciexe"
+    }
+    properties:
+      '{'
+      '  "$pigweed/build": {'
+      '    "gn_args": [],'
+      '    "ninja_targets": ['
+      '      "host_tools"'
+      '    ]'
+      '  },'
+      '  "$pigweed/checkout": {'
+      '    "branch": "main",'
+      '    "equivalent_remotes": [],'
+      '    "match_branch": true,'
+      '    "remote": "https://pigweed.googlesource.com/pigweed/pigweed",'
+      '    "use_repo": false'
+      '  },'
+      '  "$pigweed/environment": {'
+      '    "config_file": "pw_env_setup/config.json"'
+      '  },'
+      '  "add_cipd_platform": true,'
+      '  "artifacts": ['
+      '    "host_tools/*"'
+      '  ],'
+      '  "cipd_path": "pigweed/host_tools",'
+      '  "dry_run": false,'
+      '  "recipe": "target_to_cipd",'
+      '  "replacements": ['
+      '    {'
+      '      "new": "",'
+      '      "old": "host_clang_debug/"'
+      '    },'
+      '    {'
+      '      "new": "",'
+      '      "old": "host_gcc_debug/"'
+      '    },'
+      '    {'
+      '      "new": "",'
+      '      "old": "host_tools/"'
+      '    }'
+      '  ],'
+      '  "roller_name": null'
+      '}'
+    priority: 40
+    execution_timeout_secs: 2700
+    caches {
+      name: "builder"
+      path: "builder"
+    }
+    caches {
+      name: "go"
+      path: "go"
+      wait_for_warm_cache_secs: 120
+    }
+    caches {
+      name: "pip"
+      path: "pip"
+      wait_for_warm_cache_secs: 60
+    }
+    service_account: "pigweed-roller@pigweed.google.com.iam.gserviceaccount.com"
+    experiments {
+      key: "luci.recipes.use_python3"
+      value: 100
+    }
+    experiments {
+      key: "luci.use_realms"
+      value: 100
+    }
+  }
+}
diff --git a/generated/pigweed/for_review_only/buildbucket/ci/pigweed-lintformat.textproto b/generated/pigweed/for_review_only/buildbucket/ci/pigweed-lintformat.textproto
new file mode 100644
index 0000000..7a169ec
--- /dev/null
+++ b/generated/pigweed/for_review_only/buildbucket/ci/pigweed-lintformat.textproto
@@ -0,0 +1,75 @@
+# Auto-generated by lucicfg.
+# Do not modify manually.
+#
+# For the schema of this file, see Bucket message:
+#   https://luci-config.appspot.com/schemas/projects:buildbucket.cfg
+
+name: "ci"
+acls {
+  group: "all"
+}
+acls {
+  role: SCHEDULER
+  identity: "user:luci-scheduler@appspot.gserviceaccount.com"
+}
+acls {
+  role: SCHEDULER
+  identity: "user:pigweed-ci-builder@pigweed.google.com.iam.gserviceaccount.com"
+}
+swarming {
+  builders {
+    name: "pigweed-lintformat"
+    swarming_host: "chromium-swarm.appspot.com"
+    dimensions: "cores:16"
+    dimensions: "cpu:x64|x86-64"
+    dimensions: "os:Debian"
+    dimensions: "pool:luci.pigweed.ci"
+    exe {
+      cipd_package: "pigweed/infra/recipe_bundles/pigweed.googlesource.com/infra/recipes"
+      cipd_version: "refs/heads/main"
+      cmd: "luciexe"
+    }
+    properties:
+      '{'
+      '  "$pigweed/checkout": {'
+      '    "branch": "main",'
+      '    "equivalent_remotes": [],'
+      '    "match_branch": true,'
+      '    "remote": "https://pigweed.googlesource.com/pigweed/pigweed",'
+      '    "use_repo": false'
+      '  },'
+      '  "$pigweed/environment": {'
+      '    "config_file": "pw_env_setup/config.json"'
+      '  },'
+      '  "$pigweed/pw_presubmit": {'
+      '    "program": ['
+      '      "lintformat"'
+      '    ]'
+      '  },'
+      '  "program": ['
+      '    "lintformat"'
+      '  ],'
+      '  "recipe": "pw_presubmit"'
+      '}'
+    priority: 40
+    execution_timeout_secs: 1500
+    caches {
+      name: "builder"
+      path: "builder"
+    }
+    caches {
+      name: "pip"
+      path: "pip"
+      wait_for_warm_cache_secs: 60
+    }
+    service_account: "pigweed-ci-builder@pigweed.google.com.iam.gserviceaccount.com"
+    experiments {
+      key: "luci.recipes.use_python3"
+      value: 100
+    }
+    experiments {
+      key: "luci.use_realms"
+      value: 100
+    }
+  }
+}
diff --git a/generated/pigweed/for_review_only/buildbucket/ci/pigweed-linux-bazel-host-clang.textproto b/generated/pigweed/for_review_only/buildbucket/ci/pigweed-linux-bazel-host-clang.textproto
new file mode 100644
index 0000000..f032658
--- /dev/null
+++ b/generated/pigweed/for_review_only/buildbucket/ci/pigweed-linux-bazel-host-clang.textproto
@@ -0,0 +1,80 @@
+# Auto-generated by lucicfg.
+# Do not modify manually.
+#
+# For the schema of this file, see Bucket message:
+#   https://luci-config.appspot.com/schemas/projects:buildbucket.cfg
+
+name: "ci"
+acls {
+  group: "all"
+}
+acls {
+  role: SCHEDULER
+  identity: "user:luci-scheduler@appspot.gserviceaccount.com"
+}
+acls {
+  role: SCHEDULER
+  identity: "user:pigweed-ci-builder@pigweed.google.com.iam.gserviceaccount.com"
+}
+swarming {
+  builders {
+    name: "pigweed-linux-bazel-host-clang"
+    swarming_host: "chromium-swarm.appspot.com"
+    dimensions: "cores:16"
+    dimensions: "cpu:x64|x86-64"
+    dimensions: "os:Debian"
+    dimensions: "pool:luci.pigweed.ci"
+    exe {
+      cipd_package: "pigweed/infra/recipe_bundles/pigweed.googlesource.com/infra/recipes"
+      cipd_version: "refs/heads/main"
+      cmd: "luciexe"
+    }
+    properties:
+      '{'
+      '  "$pigweed/checkout": {'
+      '    "branch": "main",'
+      '    "equivalent_remotes": [],'
+      '    "match_branch": true,'
+      '    "remote": "https://pigweed.googlesource.com/pigweed/pigweed",'
+      '    "use_repo": false'
+      '  },'
+      '  "$pigweed/environment": {'
+      '    "config_file": "pw_env_setup/config.json"'
+      '  },'
+      '  "$pigweed/pw_presubmit": {'
+      '    "step": ['
+      '      "bazel_test"'
+      '    ]'
+      '  },'
+      '  "recipe": "pw_presubmit",'
+      '  "step": ['
+      '    "bazel_test"'
+      '  ]'
+      '}'
+    priority: 40
+    execution_timeout_secs: 2700
+    caches {
+      name: "bazel"
+      path: "bazel"
+      wait_for_warm_cache_secs: 60
+    }
+    caches {
+      name: "builder"
+      path: "builder"
+    }
+    caches {
+      name: "pip"
+      path: "pip"
+      wait_for_warm_cache_secs: 60
+    }
+    service_account: "pigweed-ci-builder@pigweed.google.com.iam.gserviceaccount.com"
+    experiments {
+      key: "luci.recipes.use_python3"
+      value: 100
+    }
+    experiments {
+      key: "luci.use_realms"
+      value: 100
+    }
+  }
+}
diff --git a/generated/pigweed/for_review_only/buildbucket/ci/pigweed-linux-cmake-host-clang.textproto b/generated/pigweed/for_review_only/buildbucket/ci/pigweed-linux-cmake-host-clang.textproto
new file mode 100644
index 0000000..d0777b3
--- /dev/null
+++ b/generated/pigweed/for_review_only/buildbucket/ci/pigweed-linux-cmake-host-clang.textproto
@@ -0,0 +1,75 @@
+# Auto-generated by lucicfg.
+# Do not modify manually.
+#
+# For the schema of this file, see Bucket message:
+#   https://luci-config.appspot.com/schemas/projects:buildbucket.cfg
+
+name: "ci"
+acls {
+  group: "all"
+}
+acls {
+  role: SCHEDULER
+  identity: "user:luci-scheduler@appspot.gserviceaccount.com"
+}
+acls {
+  role: SCHEDULER
+  identity: "user:pigweed-ci-builder@pigweed.google.com.iam.gserviceaccount.com"
+}
+swarming {
+  builders {
+    name: "pigweed-linux-cmake-host-clang"
+    swarming_host: "chromium-swarm.appspot.com"
+    dimensions: "cores:16"
+    dimensions: "cpu:x64|x86-64"
+    dimensions: "os:Debian"
+    dimensions: "pool:luci.pigweed.ci"
+    exe {
+      cipd_package: "pigweed/infra/recipe_bundles/pigweed.googlesource.com/infra/recipes"
+      cipd_version: "refs/heads/main"
+      cmd: "luciexe"
+    }
+    properties:
+      '{'
+      '  "$pigweed/checkout": {'
+      '    "branch": "main",'
+      '    "equivalent_remotes": [],'
+      '    "match_branch": true,'
+      '    "remote": "https://pigweed.googlesource.com/pigweed/pigweed",'
+      '    "use_repo": false'
+      '  },'
+      '  "$pigweed/environment": {'
+      '    "config_file": "pw_env_setup/config.json"'
+      '  },'
+      '  "$pigweed/pw_presubmit": {'
+      '    "step": ['
+      '      "cmake_tests"'
+      '    ]'
+      '  },'
+      '  "recipe": "pw_presubmit",'
+      '  "step": ['
+      '    "cmake_tests"'
+      '  ]'
+      '}'
+    priority: 40
+    execution_timeout_secs: 2700
+    caches {
+      name: "builder"
+      path: "builder"
+    }
+    caches {
+      name: "pip"
+      path: "pip"
+      wait_for_warm_cache_secs: 60
+    }
+    service_account: "pigweed-ci-builder@pigweed.google.com.iam.gserviceaccount.com"
+    experiments {
+      key: "luci.recipes.use_python3"
+      value: 100
+    }
+    experiments {
+      key: "luci.use_realms"
+      value: 100
+    }
+  }
+}
diff --git a/generated/pigweed/for_review_only/buildbucket/ci/pigweed-linux-compatibility-host-disco.textproto b/generated/pigweed/for_review_only/buildbucket/ci/pigweed-linux-compatibility-host-disco.textproto
new file mode 100644
index 0000000..2c7a268
--- /dev/null
+++ b/generated/pigweed/for_review_only/buildbucket/ci/pigweed-linux-compatibility-host-disco.textproto
@@ -0,0 +1,75 @@
+# Auto-generated by lucicfg.
+# Do not modify manually.
+#
+# For the schema of this file, see Bucket message:
+#   https://luci-config.appspot.com/schemas/projects:buildbucket.cfg
+
+name: "ci"
+acls {
+  group: "all"
+}
+acls {
+  role: SCHEDULER
+  identity: "user:luci-scheduler@appspot.gserviceaccount.com"
+}
+acls {
+  role: SCHEDULER
+  identity: "user:pigweed-ci-builder@pigweed.google.com.iam.gserviceaccount.com"
+}
+swarming {
+  builders {
+    name: "pigweed-linux-compatibility-host-disco"
+    swarming_host: "chromium-swarm.appspot.com"
+    dimensions: "cores:16"
+    dimensions: "cpu:x64|x86-64"
+    dimensions: "os:Debian"
+    dimensions: "pool:luci.pigweed.ci"
+    exe {
+      cipd_package: "pigweed/infra/recipe_bundles/pigweed.googlesource.com/infra/recipes"
+      cipd_version: "refs/heads/main"
+      cmd: "luciexe"
+    }
+    properties:
+      '{'
+      '  "$pigweed/checkout": {'
+      '    "branch": "main",'
+      '    "equivalent_remotes": [],'
+      '    "match_branch": true,'
+      '    "remote": "https://pigweed.googlesource.com/pigweed/pigweed",'
+      '    "use_repo": false'
+      '  },'
+      '  "$pigweed/environment": {'
+      '    "config_file": "pw_env_setup/compatibility.json"'
+      '  },'
+      '  "$pigweed/pw_presubmit": {'
+      '    "step": ['
+      '      "gn_full_build_check"'
+      '    ]'
+      '  },'
+      '  "recipe": "pw_presubmit",'
+      '  "step": ['
+      '    "gn_full_build_check"'
+      '  ]'
+      '}'
+    priority: 40
+    execution_timeout_secs: 2700
+    caches {
+      name: "builder"
+      path: "builder"
+    }
+    caches {
+      name: "pip"
+      path: "pip"
+      wait_for_warm_cache_secs: 60
+    }
+    service_account: "pigweed-ci-builder@pigweed.google.com.iam.gserviceaccount.com"
+    experiments {
+      key: "luci.recipes.use_python3"
+      value: 100
+    }
+    experiments {
+      key: "luci.use_realms"
+      value: 100
+    }
+  }
+}
diff --git a/generated/pigweed/for_review_only/buildbucket/ci/pigweed-linux-gn-crypto-boringssl.textproto b/generated/pigweed/for_review_only/buildbucket/ci/pigweed-linux-gn-crypto-boringssl.textproto
new file mode 100644
index 0000000..c061651
--- /dev/null
+++ b/generated/pigweed/for_review_only/buildbucket/ci/pigweed-linux-gn-crypto-boringssl.textproto
@@ -0,0 +1,75 @@
+# Auto-generated by lucicfg.
+# Do not modify manually.
+#
+# For the schema of this file, see Bucket message:
+#   https://luci-config.appspot.com/schemas/projects:buildbucket.cfg
+
+name: "ci"
+acls {
+  group: "all"
+}
+acls {
+  role: SCHEDULER
+  identity: "user:luci-scheduler@appspot.gserviceaccount.com"
+}
+acls {
+  role: SCHEDULER
+  identity: "user:pigweed-ci-builder@pigweed.google.com.iam.gserviceaccount.com"
+}
+swarming {
+  builders {
+    name: "pigweed-linux-gn-crypto-boringssl"
+    swarming_host: "chromium-swarm.appspot.com"
+    dimensions: "cores:16"
+    dimensions: "cpu:x64|x86-64"
+    dimensions: "os:Debian"
+    dimensions: "pool:luci.pigweed.ci"
+    exe {
+      cipd_package: "pigweed/infra/recipe_bundles/pigweed.googlesource.com/infra/recipes"
+      cipd_version: "refs/heads/main"
+      cmd: "luciexe"
+    }
+    properties:
+      '{'
+      '  "$pigweed/checkout": {'
+      '    "branch": "main",'
+      '    "equivalent_remotes": [],'
+      '    "match_branch": true,'
+      '    "remote": "https://pigweed.googlesource.com/pigweed/pigweed",'
+      '    "use_repo": false'
+      '  },'
+      '  "$pigweed/environment": {'
+      '    "config_file": "pw_env_setup/config.json"'
+      '  },'
+      '  "$pigweed/pw_presubmit": {'
+      '    "step": ['
+      '      "gn_crypto_boringssl_build"'
+      '    ]'
+      '  },'
+      '  "recipe": "pw_presubmit",'
+      '  "step": ['
+      '    "gn_crypto_boringssl_build"'
+      '  ]'
+      '}'
+    priority: 40
+    execution_timeout_secs: 2700
+    caches {
+      name: "builder"
+      path: "builder"
+    }
+    caches {
+      name: "pip"
+      path: "pip"
+      wait_for_warm_cache_secs: 60
+    }
+    service_account: "pigweed-ci-builder@pigweed.google.com.iam.gserviceaccount.com"
+    experiments {
+      key: "luci.recipes.use_python3"
+      value: 100
+    }
+    experiments {
+      key: "luci.use_realms"
+      value: 100
+    }
+  }
+}
diff --git a/generated/pigweed/for_review_only/buildbucket/ci/pigweed-linux-gn-crypto-build-micro-ecc.textproto b/generated/pigweed/for_review_only/buildbucket/ci/pigweed-linux-gn-crypto-build-micro-ecc.textproto
new file mode 100644
index 0000000..0e672fd
--- /dev/null
+++ b/generated/pigweed/for_review_only/buildbucket/ci/pigweed-linux-gn-crypto-build-micro-ecc.textproto
@@ -0,0 +1,75 @@
+# Auto-generated by lucicfg.
+# Do not modify manually.
+#
+# For the schema of this file, see Bucket message:
+#   https://luci-config.appspot.com/schemas/projects:buildbucket.cfg
+
+name: "ci"
+acls {
+  group: "all"
+}
+acls {
+  role: SCHEDULER
+  identity: "user:luci-scheduler@appspot.gserviceaccount.com"
+}
+acls {
+  role: SCHEDULER
+  identity: "user:pigweed-ci-builder@pigweed.google.com.iam.gserviceaccount.com"
+}
+swarming {
+  builders {
+    name: "pigweed-linux-gn-crypto-build-micro-ecc"
+    swarming_host: "chromium-swarm.appspot.com"
+    dimensions: "cores:16"
+    dimensions: "cpu:x64|x86-64"
+    dimensions: "os:Debian"
+    dimensions: "pool:luci.pigweed.ci"
+    exe {
+      cipd_package: "pigweed/infra/recipe_bundles/pigweed.googlesource.com/infra/recipes"
+      cipd_version: "refs/heads/main"
+      cmd: "luciexe"
+    }
+    properties:
+      '{'
+      '  "$pigweed/checkout": {'
+      '    "branch": "main",'
+      '    "equivalent_remotes": [],'
+      '    "match_branch": true,'
+      '    "remote": "https://pigweed.googlesource.com/pigweed/pigweed",'
+      '    "use_repo": false'
+      '  },'
+      '  "$pigweed/environment": {'
+      '    "config_file": "pw_env_setup/config.json"'
+      '  },'
+      '  "$pigweed/pw_presubmit": {'
+      '    "step": ['
+      '      "gn_crypto_micro_ecc_build"'
+      '    ]'
+      '  },'
+      '  "recipe": "pw_presubmit",'
+      '  "step": ['
+      '    "gn_crypto_micro_ecc_build"'
+      '  ]'
+      '}'
+    priority: 40
+    execution_timeout_secs: 2700
+    caches {
+      name: "builder"
+      path: "builder"
+    }
+    caches {
+      name: "pip"
+      path: "pip"
+      wait_for_warm_cache_secs: 60
+    }
+    service_account: "pigweed-ci-builder@pigweed.google.com.iam.gserviceaccount.com"
+    experiments {
+      key: "luci.recipes.use_python3"
+      value: 100
+    }
+    experiments {
+      key: "luci.use_realms"
+      value: 100
+    }
+  }
+}
diff --git a/generated/pigweed/for_review_only/buildbucket/ci/pigweed-linux-gn-crypto-mbedtls.textproto b/generated/pigweed/for_review_only/buildbucket/ci/pigweed-linux-gn-crypto-mbedtls.textproto
new file mode 100644
index 0000000..34fbfc6
--- /dev/null
+++ b/generated/pigweed/for_review_only/buildbucket/ci/pigweed-linux-gn-crypto-mbedtls.textproto
@@ -0,0 +1,75 @@
+# Auto-generated by lucicfg.
+# Do not modify manually.
+#
+# For the schema of this file, see Bucket message:
+#   https://luci-config.appspot.com/schemas/projects:buildbucket.cfg
+
+name: "ci"
+acls {
+  group: "all"
+}
+acls {
+  role: SCHEDULER
+  identity: "user:luci-scheduler@appspot.gserviceaccount.com"
+}
+acls {
+  role: SCHEDULER
+  identity: "user:pigweed-ci-builder@pigweed.google.com.iam.gserviceaccount.com"
+}
+swarming {
+  builders {
+    name: "pigweed-linux-gn-crypto-mbedtls"
+    swarming_host: "chromium-swarm.appspot.com"
+    dimensions: "cores:16"
+    dimensions: "cpu:x64|x86-64"
+    dimensions: "os:Debian"
+    dimensions: "pool:luci.pigweed.ci"
+    exe {
+      cipd_package: "pigweed/infra/recipe_bundles/pigweed.googlesource.com/infra/recipes"
+      cipd_version: "refs/heads/main"
+      cmd: "luciexe"
+    }
+    properties:
+      '{'
+      '  "$pigweed/checkout": {'
+      '    "branch": "main",'
+      '    "equivalent_remotes": [],'
+      '    "match_branch": true,'
+      '    "remote": "https://pigweed.googlesource.com/pigweed/pigweed",'
+      '    "use_repo": false'
+      '  },'
+      '  "$pigweed/environment": {'
+      '    "config_file": "pw_env_setup/config.json"'
+      '  },'
+      '  "$pigweed/pw_presubmit": {'
+      '    "step": ['
+      '      "gn_crypto_mbedtls_build"'
+      '    ]'
+      '  },'
+      '  "recipe": "pw_presubmit",'
+      '  "step": ['
+      '    "gn_crypto_mbedtls_build"'
+      '  ]'
+      '}'
+    priority: 40
+    execution_timeout_secs: 2700
+    caches {
+      name: "builder"
+      path: "builder"
+    }
+    caches {
+      name: "pip"
+      path: "pip"
+      wait_for_warm_cache_secs: 60
+    }
+    service_account: "pigweed-ci-builder@pigweed.google.com.iam.gserviceaccount.com"
+    experiments {
+      key: "luci.recipes.use_python3"
+      value: 100
+    }
+    experiments {
+      key: "luci.use_realms"
+      value: 100
+    }
+  }
+}
diff --git a/generated/pigweed/for_review_only/buildbucket/ci/pigweed-linux-gn-nanopb.textproto b/generated/pigweed/for_review_only/buildbucket/ci/pigweed-linux-gn-nanopb.textproto
new file mode 100644
index 0000000..7c19b6f
--- /dev/null
+++ b/generated/pigweed/for_review_only/buildbucket/ci/pigweed-linux-gn-nanopb.textproto
@@ -0,0 +1,75 @@
+# Auto-generated by lucicfg.
+# Do not modify manually.
+#
+# For the schema of this file, see Bucket message:
+#   https://luci-config.appspot.com/schemas/projects:buildbucket.cfg
+
+name: "ci"
+acls {
+  group: "all"
+}
+acls {
+  role: SCHEDULER
+  identity: "user:luci-scheduler@appspot.gserviceaccount.com"
+}
+acls {
+  role: SCHEDULER
+  identity: "user:pigweed-ci-builder@pigweed.google.com.iam.gserviceaccount.com"
+}
+swarming {
+  builders {
+    name: "pigweed-linux-gn-nanopb"
+    swarming_host: "chromium-swarm.appspot.com"
+    dimensions: "cores:16"
+    dimensions: "cpu:x64|x86-64"
+    dimensions: "os:Debian"
+    dimensions: "pool:luci.pigweed.ci"
+    exe {
+      cipd_package: "pigweed/infra/recipe_bundles/pigweed.googlesource.com/infra/recipes"
+      cipd_version: "refs/heads/main"
+      cmd: "luciexe"
+    }
+    properties:
+      '{'
+      '  "$pigweed/checkout": {'
+      '    "branch": "main",'
+      '    "equivalent_remotes": [],'
+      '    "match_branch": true,'
+      '    "remote": "https://pigweed.googlesource.com/pigweed/pigweed",'
+      '    "use_repo": false'
+      '  },'
+      '  "$pigweed/environment": {'
+      '    "config_file": "pw_env_setup/config.json"'
+      '  },'
+      '  "$pigweed/pw_presubmit": {'
+      '    "step": ['
+      '      "gn_nanopb_build"'
+      '    ]'
+      '  },'
+      '  "recipe": "pw_presubmit",'
+      '  "step": ['
+      '    "gn_nanopb_build"'
+      '  ]'
+      '}'
+    priority: 40
+    execution_timeout_secs: 2700
+    caches {
+      name: "builder"
+      path: "builder"
+    }
+    caches {
+      name: "pip"
+      path: "pip"
+      wait_for_warm_cache_secs: 60
+    }
+    service_account: "pigweed-ci-builder@pigweed.google.com.iam.gserviceaccount.com"
+    experiments {
+      key: "luci.recipes.use_python3"
+      value: 100
+    }
+    experiments {
+      key: "luci.use_realms"
+      value: 100
+    }
+  }
+}
diff --git a/generated/pigweed/for_review_only/buildbucket/ci/pigweed-linux-gn-software-update.textproto b/generated/pigweed/for_review_only/buildbucket/ci/pigweed-linux-gn-software-update.textproto
new file mode 100644
index 0000000..f99e1e5
--- /dev/null
+++ b/generated/pigweed/for_review_only/buildbucket/ci/pigweed-linux-gn-software-update.textproto
@@ -0,0 +1,75 @@
+# Auto-generated by lucicfg.
+# Do not modify manually.
+#
+# For the schema of this file, see Bucket message:
+#   https://luci-config.appspot.com/schemas/projects:buildbucket.cfg
+
+name: "ci"
+acls {
+  group: "all"
+}
+acls {
+  role: SCHEDULER
+  identity: "user:luci-scheduler@appspot.gserviceaccount.com"
+}
+acls {
+  role: SCHEDULER
+  identity: "user:pigweed-ci-builder@pigweed.google.com.iam.gserviceaccount.com"
+}
+swarming {
+  builders {
+    name: "pigweed-linux-gn-software-update"
+    swarming_host: "chromium-swarm.appspot.com"
+    dimensions: "cores:16"
+    dimensions: "cpu:x64|x86-64"
+    dimensions: "os:Debian"
+    dimensions: "pool:luci.pigweed.ci"
+    exe {
+      cipd_package: "pigweed/infra/recipe_bundles/pigweed.googlesource.com/infra/recipes"
+      cipd_version: "refs/heads/main"
+      cmd: "luciexe"
+    }
+    properties:
+      '{'
+      '  "$pigweed/checkout": {'
+      '    "branch": "main",'
+      '    "equivalent_remotes": [],'
+      '    "match_branch": true,'
+      '    "remote": "https://pigweed.googlesource.com/pigweed/pigweed",'
+      '    "use_repo": false'
+      '  },'
+      '  "$pigweed/environment": {'
+      '    "config_file": "pw_env_setup/config.json"'
+      '  },'
+      '  "$pigweed/pw_presubmit": {'
+      '    "step": ['
+      '      "gn_software_update_build"'
+      '    ]'
+      '  },'
+      '  "recipe": "pw_presubmit",'
+      '  "step": ['
+      '    "gn_software_update_build"'
+      '  ]'
+      '}'
+    priority: 40
+    execution_timeout_secs: 2700
+    caches {
+      name: "builder"
+      path: "builder"
+    }
+    caches {
+      name: "pip"
+      path: "pip"
+      wait_for_warm_cache_secs: 60
+    }
+    service_account: "pigweed-ci-builder@pigweed.google.com.iam.gserviceaccount.com"
+    experiments {
+      key: "luci.recipes.use_python3"
+      value: 100
+    }
+    experiments {
+      key: "luci.use_realms"
+      value: 100
+    }
+  }
+}
diff --git a/generated/pigweed/for_review_only/buildbucket/ci/pigweed-linux-gn-teensy.textproto b/generated/pigweed/for_review_only/buildbucket/ci/pigweed-linux-gn-teensy.textproto
new file mode 100644
index 0000000..b876d96
--- /dev/null
+++ b/generated/pigweed/for_review_only/buildbucket/ci/pigweed-linux-gn-teensy.textproto
@@ -0,0 +1,75 @@
+# Auto-generated by lucicfg.
+# Do not modify manually.
+#
+# For the schema of this file, see Bucket message:
+#   https://luci-config.appspot.com/schemas/projects:buildbucket.cfg
+
+name: "ci"
+acls {
+  group: "all"
+}
+acls {
+  role: SCHEDULER
+  identity: "user:luci-scheduler@appspot.gserviceaccount.com"
+}
+acls {
+  role: SCHEDULER
+  identity: "user:pigweed-ci-builder@pigweed.google.com.iam.gserviceaccount.com"
+}
+swarming {
+  builders {
+    name: "pigweed-linux-gn-teensy"
+    swarming_host: "chromium-swarm.appspot.com"
+    dimensions: "cores:16"
+    dimensions: "cpu:x64|x86-64"
+    dimensions: "os:Debian"
+    dimensions: "pool:luci.pigweed.ci"
+    exe {
+      cipd_package: "pigweed/infra/recipe_bundles/pigweed.googlesource.com/infra/recipes"
+      cipd_version: "refs/heads/main"
+      cmd: "luciexe"
+    }
+    properties:
+      '{'
+      '  "$pigweed/checkout": {'
+      '    "branch": "main",'
+      '    "equivalent_remotes": [],'
+      '    "match_branch": true,'
+      '    "remote": "https://pigweed.googlesource.com/pigweed/pigweed",'
+      '    "use_repo": false'
+      '  },'
+      '  "$pigweed/environment": {'
+      '    "config_file": "pw_env_setup/config.json"'
+      '  },'
+      '  "$pigweed/pw_presubmit": {'
+      '    "step": ['
+      '      "gn_teensy_build"'
+      '    ]'
+      '  },'
+      '  "recipe": "pw_presubmit",'
+      '  "step": ['
+      '    "gn_teensy_build"'
+      '  ]'
+      '}'
+    priority: 40
+    execution_timeout_secs: 2700
+    caches {
+      name: "builder"
+      path: "builder"
+    }
+    caches {
+      name: "pip"
+      path: "pip"
+      wait_for_warm_cache_secs: 60
+    }
+    service_account: "pigweed-ci-builder@pigweed.google.com.iam.gserviceaccount.com"
+    experiments {
+      key: "luci.recipes.use_python3"
+      value: 100
+    }
+    experiments {
+      key: "luci.use_realms"
+      value: 100
+    }
+  }
+}
diff --git a/generated/pigweed/for_review_only/buildbucket/ci/pigweed-linux-main-host-disco.textproto b/generated/pigweed/for_review_only/buildbucket/ci/pigweed-linux-main-host-disco.textproto
new file mode 100644
index 0000000..9392b92
--- /dev/null
+++ b/generated/pigweed/for_review_only/buildbucket/ci/pigweed-linux-main-host-disco.textproto
@@ -0,0 +1,75 @@
+# Auto-generated by lucicfg.
+# Do not modify manually.
+#
+# For the schema of this file, see Bucket message:
+#   https://luci-config.appspot.com/schemas/projects:buildbucket.cfg
+
+name: "ci"
+acls {
+  group: "all"
+}
+acls {
+  role: SCHEDULER
+  identity: "user:luci-scheduler@appspot.gserviceaccount.com"
+}
+acls {
+  role: SCHEDULER
+  identity: "user:pigweed-ci-builder@pigweed.google.com.iam.gserviceaccount.com"
+}
+swarming {
+  builders {
+    name: "pigweed-linux-main-host-disco"
+    swarming_host: "chromium-swarm.appspot.com"
+    dimensions: "cores:16"
+    dimensions: "cpu:x64|x86-64"
+    dimensions: "os:Debian"
+    dimensions: "pool:luci.pigweed.ci"
+    exe {
+      cipd_package: "pigweed/infra/recipe_bundles/pigweed.googlesource.com/infra/recipes"
+      cipd_version: "refs/heads/main"
+      cmd: "luciexe"
+    }
+    properties:
+      '{'
+      '  "$pigweed/checkout": {'
+      '    "branch": "main",'
+      '    "equivalent_remotes": [],'
+      '    "match_branch": true,'
+      '    "remote": "https://pigweed.googlesource.com/pigweed/pigweed",'
+      '    "use_repo": false'
+      '  },'
+      '  "$pigweed/environment": {'
+      '    "config_file": "pw_env_setup/config.json"'
+      '  },'
+      '  "$pigweed/pw_presubmit": {'
+      '    "step": ['
+      '      "gn_full_build_check"'
+      '    ]'
+      '  },'
+      '  "recipe": "pw_presubmit",'
+      '  "step": ['
+      '    "gn_full_build_check"'
+      '  ]'
+      '}'
+    priority: 40
+    execution_timeout_secs: 2700
+    caches {
+      name: "builder"
+      path: "builder"
+    }
+    caches {
+      name: "pip"
+      path: "pip"
+      wait_for_warm_cache_secs: 60
+    }
+    service_account: "pigweed-ci-builder@pigweed.google.com.iam.gserviceaccount.com"
+    experiments {
+      key: "luci.recipes.use_python3"
+      value: 100
+    }
+    experiments {
+      key: "luci.use_realms"
+      value: 100
+    }
+  }
+}
diff --git a/generated/pigweed/for_review_only/buildbucket/ci/pigweed-linux-qemu-compatibility-clang-armgcc.textproto b/generated/pigweed/for_review_only/buildbucket/ci/pigweed-linux-qemu-compatibility-clang-armgcc.textproto
new file mode 100644
index 0000000..c0ab845
--- /dev/null
+++ b/generated/pigweed/for_review_only/buildbucket/ci/pigweed-linux-qemu-compatibility-clang-armgcc.textproto
@@ -0,0 +1,75 @@
+# Auto-generated by lucicfg.
+# Do not modify manually.
+#
+# For the schema of this file, see Bucket message:
+#   https://luci-config.appspot.com/schemas/projects:buildbucket.cfg
+
+name: "ci"
+acls {
+  group: "all"
+}
+acls {
+  role: SCHEDULER
+  identity: "user:luci-scheduler@appspot.gserviceaccount.com"
+}
+acls {
+  role: SCHEDULER
+  identity: "user:pigweed-ci-builder@pigweed.google.com.iam.gserviceaccount.com"
+}
+swarming {
+  builders {
+    name: "pigweed-linux-qemu-compatibility-clang-armgcc"
+    swarming_host: "chromium-swarm.appspot.com"
+    dimensions: "cores:16"
+    dimensions: "cpu:x64|x86-64"
+    dimensions: "os:Debian"
+    dimensions: "pool:luci.pigweed.ci"
+    exe {
+      cipd_package: "pigweed/infra/recipe_bundles/pigweed.googlesource.com/infra/recipes"
+      cipd_version: "refs/heads/main"
+      cmd: "luciexe"
+    }
+    properties:
+      '{'
+      '  "$pigweed/checkout": {'
+      '    "branch": "main",'
+      '    "equivalent_remotes": [],'
+      '    "match_branch": true,'
+      '    "remote": "https://pigweed.googlesource.com/pigweed/pigweed",'
+      '    "use_repo": false'
+      '  },'
+      '  "$pigweed/environment": {'
+      '    "config_file": "pw_env_setup/compatibility.json"'
+      '  },'
+      '  "$pigweed/pw_presubmit": {'
+      '    "step": ['
+      '      "gn_full_qemu_check"'
+      '    ]'
+      '  },'
+      '  "recipe": "pw_presubmit",'
+      '  "step": ['
+      '    "gn_full_qemu_check"'
+      '  ]'
+      '}'
+    priority: 40
+    execution_timeout_secs: 2700
+    caches {
+      name: "builder"
+      path: "builder"
+    }
+    caches {
+      name: "pip"
+      path: "pip"
+      wait_for_warm_cache_secs: 60
+    }
+    service_account: "pigweed-ci-builder@pigweed.google.com.iam.gserviceaccount.com"
+    experiments {
+      key: "luci.recipes.use_python3"
+      value: 100
+    }
+    experiments {
+      key: "luci.use_realms"
+      value: 100
+    }
+  }
+}
diff --git a/generated/pigweed/for_review_only/buildbucket/ci/pigweed-linux-qemu-main-clang-armgcc.textproto b/generated/pigweed/for_review_only/buildbucket/ci/pigweed-linux-qemu-main-clang-armgcc.textproto
new file mode 100644
index 0000000..cad7363
--- /dev/null
+++ b/generated/pigweed/for_review_only/buildbucket/ci/pigweed-linux-qemu-main-clang-armgcc.textproto
@@ -0,0 +1,75 @@
+# Auto-generated by lucicfg.
+# Do not modify manually.
+#
+# For the schema of this file, see Bucket message:
+#   https://luci-config.appspot.com/schemas/projects:buildbucket.cfg
+
+name: "ci"
+acls {
+  group: "all"
+}
+acls {
+  role: SCHEDULER
+  identity: "user:luci-scheduler@appspot.gserviceaccount.com"
+}
+acls {
+  role: SCHEDULER
+  identity: "user:pigweed-ci-builder@pigweed.google.com.iam.gserviceaccount.com"
+}
+swarming {
+  builders {
+    name: "pigweed-linux-qemu-main-clang-armgcc"
+    swarming_host: "chromium-swarm.appspot.com"
+    dimensions: "cores:16"
+    dimensions: "cpu:x64|x86-64"
+    dimensions: "os:Debian"
+    dimensions: "pool:luci.pigweed.ci"
+    exe {
+      cipd_package: "pigweed/infra/recipe_bundles/pigweed.googlesource.com/infra/recipes"
+      cipd_version: "refs/heads/main"
+      cmd: "luciexe"
+    }
+    properties:
+      '{'
+      '  "$pigweed/checkout": {'
+      '    "branch": "main",'
+      '    "equivalent_remotes": [],'
+      '    "match_branch": true,'
+      '    "remote": "https://pigweed.googlesource.com/pigweed/pigweed",'
+      '    "use_repo": false'
+      '  },'
+      '  "$pigweed/environment": {'
+      '    "config_file": "pw_env_setup/config.json"'
+      '  },'
+      '  "$pigweed/pw_presubmit": {'
+      '    "step": ['
+      '      "gn_full_qemu_check"'
+      '    ]'
+      '  },'
+      '  "recipe": "pw_presubmit",'
+      '  "step": ['
+      '    "gn_full_qemu_check"'
+      '  ]'
+      '}'
+    priority: 40
+    execution_timeout_secs: 2700
+    caches {
+      name: "builder"
+      path: "builder"
+    }
+    caches {
+      name: "pip"
+      path: "pip"
+      wait_for_warm_cache_secs: 60
+    }
+    service_account: "pigweed-ci-builder@pigweed.google.com.iam.gserviceaccount.com"
+    experiments {
+      key: "luci.recipes.use_python3"
+      value: 100
+    }
+    experiments {
+      key: "luci.use_realms"
+      value: 100
+    }
+  }
+}
diff --git a/generated/pigweed/for_review_only/buildbucket/ci/pigweed-linux-san-asan.textproto b/generated/pigweed/for_review_only/buildbucket/ci/pigweed-linux-san-asan.textproto
new file mode 100644
index 0000000..d17855f
--- /dev/null
+++ b/generated/pigweed/for_review_only/buildbucket/ci/pigweed-linux-san-asan.textproto
@@ -0,0 +1,75 @@
+# Auto-generated by lucicfg.
+# Do not modify manually.
+#
+# For the schema of this file, see Bucket message:
+#   https://luci-config.appspot.com/schemas/projects:buildbucket.cfg
+
+name: "ci"
+acls {
+  group: "all"
+}
+acls {
+  role: SCHEDULER
+  identity: "user:luci-scheduler@appspot.gserviceaccount.com"
+}
+acls {
+  role: SCHEDULER
+  identity: "user:pigweed-ci-builder@pigweed.google.com.iam.gserviceaccount.com"
+}
+swarming {
+  builders {
+    name: "pigweed-linux-san-asan"
+    swarming_host: "chromium-swarm.appspot.com"
+    dimensions: "cores:16"
+    dimensions: "cpu:x64|x86-64"
+    dimensions: "os:Debian"
+    dimensions: "pool:luci.pigweed.ci"
+    exe {
+      cipd_package: "pigweed/infra/recipe_bundles/pigweed.googlesource.com/infra/recipes"
+      cipd_version: "refs/heads/main"
+      cmd: "luciexe"
+    }
+    properties:
+      '{'
+      '  "$pigweed/checkout": {'
+      '    "branch": "main",'
+      '    "equivalent_remotes": [],'
+      '    "match_branch": true,'
+      '    "remote": "https://pigweed.googlesource.com/pigweed/pigweed",'
+      '    "use_repo": false'
+      '  },'
+      '  "$pigweed/environment": {'
+      '    "config_file": "pw_env_setup/config.json"'
+      '  },'
+      '  "$pigweed/pw_presubmit": {'
+      '    "step": ['
+      '      "asan"'
+      '    ]'
+      '  },'
+      '  "recipe": "pw_presubmit",'
+      '  "step": ['
+      '    "asan"'
+      '  ]'
+      '}'
+    priority: 40
+    execution_timeout_secs: 2700
+    caches {
+      name: "builder"
+      path: "builder"
+    }
+    caches {
+      name: "pip"
+      path: "pip"
+      wait_for_warm_cache_secs: 60
+    }
+    service_account: "pigweed-ci-builder@pigweed.google.com.iam.gserviceaccount.com"
+    experiments {
+      key: "luci.recipes.use_python3"
+      value: 100
+    }
+    experiments {
+      key: "luci.use_realms"
+      value: 100
+    }
+  }
+}
diff --git a/generated/pigweed/for_review_only/buildbucket/ci/pigweed-linux-san-tsan.textproto b/generated/pigweed/for_review_only/buildbucket/ci/pigweed-linux-san-tsan.textproto
new file mode 100644
index 0000000..4ddc2af
--- /dev/null
+++ b/generated/pigweed/for_review_only/buildbucket/ci/pigweed-linux-san-tsan.textproto
@@ -0,0 +1,75 @@
+# Auto-generated by lucicfg.
+# Do not modify manually.
+#
+# For the schema of this file, see Bucket message:
+#   https://luci-config.appspot.com/schemas/projects:buildbucket.cfg
+
+name: "ci"
+acls {
+  group: "all"
+}
+acls {
+  role: SCHEDULER
+  identity: "user:luci-scheduler@appspot.gserviceaccount.com"
+}
+acls {
+  role: SCHEDULER
+  identity: "user:pigweed-ci-builder@pigweed.google.com.iam.gserviceaccount.com"
+}
+swarming {
+  builders {
+    name: "pigweed-linux-san-tsan"
+    swarming_host: "chromium-swarm.appspot.com"
+    dimensions: "cores:16"
+    dimensions: "cpu:x64|x86-64"
+    dimensions: "os:Debian"
+    dimensions: "pool:luci.pigweed.ci"
+    exe {
+      cipd_package: "pigweed/infra/recipe_bundles/pigweed.googlesource.com/infra/recipes"
+      cipd_version: "refs/heads/main"
+      cmd: "luciexe"
+    }
+    properties:
+      '{'
+      '  "$pigweed/checkout": {'
+      '    "branch": "main",'
+      '    "equivalent_remotes": [],'
+      '    "match_branch": true,'
+      '    "remote": "https://pigweed.googlesource.com/pigweed/pigweed",'
+      '    "use_repo": false'
+      '  },'
+      '  "$pigweed/environment": {'
+      '    "config_file": "pw_env_setup/config.json"'
+      '  },'
+      '  "$pigweed/pw_presubmit": {'
+      '    "step": ['
+      '      "tsan"'
+      '    ]'
+      '  },'
+      '  "recipe": "pw_presubmit",'
+      '  "step": ['
+      '    "tsan"'
+      '  ]'
+      '}'
+    priority: 40
+    execution_timeout_secs: 2700
+    caches {
+      name: "builder"
+      path: "builder"
+    }
+    caches {
+      name: "pip"
+      path: "pip"
+      wait_for_warm_cache_secs: 60
+    }
+    service_account: "pigweed-ci-builder@pigweed.google.com.iam.gserviceaccount.com"
+    experiments {
+      key: "luci.recipes.use_python3"
+      value: 100
+    }
+    experiments {
+      key: "luci.use_realms"
+      value: 100
+    }
+  }
+}
diff --git a/generated/pigweed/for_review_only/buildbucket/ci/pigweed-linux-san-ubsan.textproto b/generated/pigweed/for_review_only/buildbucket/ci/pigweed-linux-san-ubsan.textproto
new file mode 100644
index 0000000..12d5614
--- /dev/null
+++ b/generated/pigweed/for_review_only/buildbucket/ci/pigweed-linux-san-ubsan.textproto
@@ -0,0 +1,75 @@
+# Auto-generated by lucicfg.
+# Do not modify manually.
+#
+# For the schema of this file, see Bucket message:
+#   https://luci-config.appspot.com/schemas/projects:buildbucket.cfg
+
+name: "ci"
+acls {
+  group: "all"
+}
+acls {
+  role: SCHEDULER
+  identity: "user:luci-scheduler@appspot.gserviceaccount.com"
+}
+acls {
+  role: SCHEDULER
+  identity: "user:pigweed-ci-builder@pigweed.google.com.iam.gserviceaccount.com"
+}
+swarming {
+  builders {
+    name: "pigweed-linux-san-ubsan"
+    swarming_host: "chromium-swarm.appspot.com"
+    dimensions: "cores:16"
+    dimensions: "cpu:x64|x86-64"
+    dimensions: "os:Debian"
+    dimensions: "pool:luci.pigweed.ci"
+    exe {
+      cipd_package: "pigweed/infra/recipe_bundles/pigweed.googlesource.com/infra/recipes"
+      cipd_version: "refs/heads/main"
+      cmd: "luciexe"
+    }
+    properties:
+      '{'
+      '  "$pigweed/checkout": {'
+      '    "branch": "main",'
+      '    "equivalent_remotes": [],'
+      '    "match_branch": true,'
+      '    "remote": "https://pigweed.googlesource.com/pigweed/pigweed",'
+      '    "use_repo": false'
+      '  },'
+      '  "$pigweed/environment": {'
+      '    "config_file": "pw_env_setup/config.json"'
+      '  },'
+      '  "$pigweed/pw_presubmit": {'
+      '    "step": ['
+      '      "ubsan"'
+      '    ]'
+      '  },'
+      '  "recipe": "pw_presubmit",'
+      '  "step": ['
+      '    "ubsan"'
+      '  ]'
+      '}'
+    priority: 40
+    execution_timeout_secs: 2700
+    caches {
+      name: "builder"
+      path: "builder"
+    }
+    caches {
+      name: "pip"
+      path: "pip"
+      wait_for_warm_cache_secs: 60
+    }
+    service_account: "pigweed-ci-builder@pigweed.google.com.iam.gserviceaccount.com"
+    experiments {
+      key: "luci.recipes.use_python3"
+      value: 100
+    }
+    experiments {
+      key: "luci.use_realms"
+      value: 100
+    }
+  }
+}
diff --git a/generated/pigweed/for_review_only/buildbucket/ci/pigweed-linux-static-analysis.textproto b/generated/pigweed/for_review_only/buildbucket/ci/pigweed-linux-static-analysis.textproto
new file mode 100644
index 0000000..7e16e5d
--- /dev/null
+++ b/generated/pigweed/for_review_only/buildbucket/ci/pigweed-linux-static-analysis.textproto
@@ -0,0 +1,75 @@
+# Auto-generated by lucicfg.
+# Do not modify manually.
+#
+# For the schema of this file, see Bucket message:
+#   https://luci-config.appspot.com/schemas/projects:buildbucket.cfg
+
+name: "ci"
+acls {
+  group: "all"
+}
+acls {
+  role: SCHEDULER
+  identity: "user:luci-scheduler@appspot.gserviceaccount.com"
+}
+acls {
+  role: SCHEDULER
+  identity: "user:pigweed-ci-builder@pigweed.google.com.iam.gserviceaccount.com"
+}
+swarming {
+  builders {
+    name: "pigweed-linux-static-analysis"
+    swarming_host: "chromium-swarm.appspot.com"
+    dimensions: "cores:16"
+    dimensions: "cpu:x64|x86-64"
+    dimensions: "os:Debian"
+    dimensions: "pool:luci.pigweed.ci"
+    exe {
+      cipd_package: "pigweed/infra/recipe_bundles/pigweed.googlesource.com/infra/recipes"
+      cipd_version: "refs/heads/main"
+      cmd: "luciexe"
+    }
+    properties:
+      '{'
+      '  "$pigweed/checkout": {'
+      '    "branch": "main",'
+      '    "equivalent_remotes": [],'
+      '    "match_branch": true,'
+      '    "remote": "https://pigweed.googlesource.com/pigweed/pigweed",'
+      '    "use_repo": false'
+      '  },'
+      '  "$pigweed/environment": {'
+      '    "config_file": "pw_env_setup/config.json"'
+      '  },'
+      '  "$pigweed/pw_presubmit": {'
+      '    "step": ['
+      '      "static_analysis"'
+      '    ]'
+      '  },'
+      '  "recipe": "pw_presubmit",'
+      '  "step": ['
+      '    "static_analysis"'
+      '  ]'
+      '}'
+    priority: 40
+    execution_timeout_secs: 2700
+    caches {
+      name: "builder"
+      path: "builder"
+    }
+    caches {
+      name: "pip"
+      path: "pip"
+      wait_for_warm_cache_secs: 60
+    }
+    service_account: "pigweed-ci-builder@pigweed.google.com.iam.gserviceaccount.com"
+    experiments {
+      key: "luci.recipes.use_python3"
+      value: 100
+    }
+    experiments {
+      key: "luci.use_realms"
+      value: 100
+    }
+  }
+}
diff --git a/generated/pigweed/for_review_only/buildbucket/ci/pigweed-mac-bazel-host-clang.textproto b/generated/pigweed/for_review_only/buildbucket/ci/pigweed-mac-bazel-host-clang.textproto
new file mode 100644
index 0000000..8afb45d
--- /dev/null
+++ b/generated/pigweed/for_review_only/buildbucket/ci/pigweed-mac-bazel-host-clang.textproto
@@ -0,0 +1,87 @@
+# Auto-generated by lucicfg.
+# Do not modify manually.
+#
+# For the schema of this file, see Bucket message:
+#   https://luci-config.appspot.com/schemas/projects:buildbucket.cfg
+
+name: "ci"
+acls {
+  group: "all"
+}
+acls {
+  role: SCHEDULER
+  identity: "user:luci-scheduler@appspot.gserviceaccount.com"
+}
+acls {
+  role: SCHEDULER
+  identity: "user:pigweed-ci-builder@pigweed.google.com.iam.gserviceaccount.com"
+}
+swarming {
+  builders {
+    name: "pigweed-mac-bazel-host-clang"
+    swarming_host: "chromium-swarm.appspot.com"
+    dimensions: "cpu:x64|x86-64"
+    dimensions: "os:Mac"
+    dimensions: "pool:luci.pigweed.ci"
+    exe {
+      cipd_package: "pigweed/infra/recipe_bundles/pigweed.googlesource.com/infra/recipes"
+      cipd_version: "refs/heads/main"
+      cmd: "luciexe"
+    }
+    properties:
+      '{'
+      '  "$pigweed/checkout": {'
+      '    "branch": "main",'
+      '    "equivalent_remotes": [],'
+      '    "match_branch": true,'
+      '    "remote": "https://pigweed.googlesource.com/pigweed/pigweed",'
+      '    "use_repo": false'
+      '  },'
+      '  "$pigweed/environment": {'
+      '    "config_file": "pw_env_setup/config.json"'
+      '  },'
+      '  "$pigweed/pw_presubmit": {'
+      '    "step": ['
+      '      "bazel_test"'
+      '    ]'
+      '  },'
+      '  "dry_run": true,'
+      '  "macos_sdk.version": "11c29",'
+      '  "recipe": "pw_presubmit",'
+      '  "step": ['
+      '    "bazel_test"'
+      '  ]'
+      '}'
+    priority: 50
+    execution_timeout_secs: 2700
+    caches {
+      name: "bazel"
+      path: "bazel"
+      wait_for_warm_cache_secs: 60
+    }
+    caches {
+      name: "builder"
+      path: "builder"
+    }
+    caches {
+      name: "macos_sdk"
+      path: "macos_sdk"
+      wait_for_warm_cache_secs: 120
+    }
+    caches {
+      name: "pip"
+      path: "pip"
+      wait_for_warm_cache_secs: 60
+    }
+    service_account: "pigweed-ci-builder@pigweed.google.com.iam.gserviceaccount.com"
+    experimental: YES
+    experiments {
+      key: "luci.recipes.use_python3"
+      value: 100
+    }
+    experiments {
+      key: "luci.use_realms"
+      value: 100
+    }
+  }
+}
diff --git a/generated/pigweed/for_review_only/buildbucket/ci/pigweed-mac-cmake-host-clang.textproto b/generated/pigweed/for_review_only/buildbucket/ci/pigweed-mac-cmake-host-clang.textproto
new file mode 100644
index 0000000..ca42ede
--- /dev/null
+++ b/generated/pigweed/for_review_only/buildbucket/ci/pigweed-mac-cmake-host-clang.textproto
@@ -0,0 +1,82 @@
+# Auto-generated by lucicfg.
+# Do not modify manually.
+#
+# For the schema of this file, see Bucket message:
+#   https://luci-config.appspot.com/schemas/projects:buildbucket.cfg
+
+name: "ci"
+acls {
+  group: "all"
+}
+acls {
+  role: SCHEDULER
+  identity: "user:luci-scheduler@appspot.gserviceaccount.com"
+}
+acls {
+  role: SCHEDULER
+  identity: "user:pigweed-ci-builder@pigweed.google.com.iam.gserviceaccount.com"
+}
+swarming {
+  builders {
+    name: "pigweed-mac-cmake-host-clang"
+    swarming_host: "chromium-swarm.appspot.com"
+    dimensions: "cpu:x64|x86-64"
+    dimensions: "os:Mac"
+    dimensions: "pool:luci.pigweed.ci"
+    exe {
+      cipd_package: "pigweed/infra/recipe_bundles/pigweed.googlesource.com/infra/recipes"
+      cipd_version: "refs/heads/main"
+      cmd: "luciexe"
+    }
+    properties:
+      '{'
+      '  "$pigweed/checkout": {'
+      '    "branch": "main",'
+      '    "equivalent_remotes": [],'
+      '    "match_branch": true,'
+      '    "remote": "https://pigweed.googlesource.com/pigweed/pigweed",'
+      '    "use_repo": false'
+      '  },'
+      '  "$pigweed/environment": {'
+      '    "config_file": "pw_env_setup/config.json"'
+      '  },'
+      '  "$pigweed/pw_presubmit": {'
+      '    "step": ['
+      '      "cmake_tests"'
+      '    ]'
+      '  },'
+      '  "dry_run": true,'
+      '  "macos_sdk.version": "11c29",'
+      '  "recipe": "pw_presubmit",'
+      '  "step": ['
+      '    "cmake_tests"'
+      '  ]'
+      '}'
+    priority: 50
+    execution_timeout_secs: 2700
+    caches {
+      name: "builder"
+      path: "builder"
+    }
+    caches {
+      name: "macos_sdk"
+      path: "macos_sdk"
+      wait_for_warm_cache_secs: 120
+    }
+    caches {
+      name: "pip"
+      path: "pip"
+      wait_for_warm_cache_secs: 60
+    }
+    service_account: "pigweed-ci-builder@pigweed.google.com.iam.gserviceaccount.com"
+    experimental: YES
+    experiments {
+      key: "luci.recipes.use_python3"
+      value: 100
+    }
+    experiments {
+      key: "luci.use_realms"
+      value: 100
+    }
+  }
+}
diff --git a/generated/pigweed/for_review_only/buildbucket/ci/pigweed-mac-compatibility-host-disco.textproto b/generated/pigweed/for_review_only/buildbucket/ci/pigweed-mac-compatibility-host-disco.textproto
new file mode 100644
index 0000000..a55af50
--- /dev/null
+++ b/generated/pigweed/for_review_only/buildbucket/ci/pigweed-mac-compatibility-host-disco.textproto
@@ -0,0 +1,80 @@
+# Auto-generated by lucicfg.
+# Do not modify manually.
+#
+# For the schema of this file, see Bucket message:
+#   https://luci-config.appspot.com/schemas/projects:buildbucket.cfg
+
+name: "ci"
+acls {
+  group: "all"
+}
+acls {
+  role: SCHEDULER
+  identity: "user:luci-scheduler@appspot.gserviceaccount.com"
+}
+acls {
+  role: SCHEDULER
+  identity: "user:pigweed-ci-builder@pigweed.google.com.iam.gserviceaccount.com"
+}
+swarming {
+  builders {
+    name: "pigweed-mac-compatibility-host-disco"
+    swarming_host: "chromium-swarm.appspot.com"
+    dimensions: "cpu:x64|x86-64"
+    dimensions: "os:Mac"
+    dimensions: "pool:luci.pigweed.ci"
+    exe {
+      cipd_package: "pigweed/infra/recipe_bundles/pigweed.googlesource.com/infra/recipes"
+      cipd_version: "refs/heads/main"
+      cmd: "luciexe"
+    }
+    properties:
+      '{'
+      '  "$pigweed/checkout": {'
+      '    "branch": "main",'
+      '    "equivalent_remotes": [],'
+      '    "match_branch": true,'
+      '    "remote": "https://pigweed.googlesource.com/pigweed/pigweed",'
+      '    "use_repo": false'
+      '  },'
+      '  "$pigweed/environment": {'
+      '    "config_file": "pw_env_setup/compatibility.json"'
+      '  },'
+      '  "$pigweed/pw_presubmit": {'
+      '    "step": ['
+      '      "gn_full_build_check"'
+      '    ]'
+      '  },'
+      '  "macos_sdk.version": "11c29",'
+      '  "recipe": "pw_presubmit",'
+      '  "step": ['
+      '    "gn_full_build_check"'
+      '  ]'
+      '}'
+    priority: 40
+    execution_timeout_secs: 2700
+    caches {
+      name: "builder"
+      path: "builder"
+    }
+    caches {
+      name: "macos_sdk"
+      path: "macos_sdk"
+      wait_for_warm_cache_secs: 120
+    }
+    caches {
+      name: "pip"
+      path: "pip"
+      wait_for_warm_cache_secs: 60
+    }
+    service_account: "pigweed-ci-builder@pigweed.google.com.iam.gserviceaccount.com"
+    experiments {
+      key: "luci.recipes.use_python3"
+      value: 100
+    }
+    experiments {
+      key: "luci.use_realms"
+      value: 100
+    }
+  }
+}
diff --git a/generated/pigweed/for_review_only/buildbucket/ci/pigweed-mac-gn-nanopb.textproto b/generated/pigweed/for_review_only/buildbucket/ci/pigweed-mac-gn-nanopb.textproto
new file mode 100644
index 0000000..e1ec716
--- /dev/null
+++ b/generated/pigweed/for_review_only/buildbucket/ci/pigweed-mac-gn-nanopb.textproto
@@ -0,0 +1,80 @@
+# Auto-generated by lucicfg.
+# Do not modify manually.
+#
+# For the schema of this file, see Bucket message:
+#   https://luci-config.appspot.com/schemas/projects:buildbucket.cfg
+
+name: "ci"
+acls {
+  group: "all"
+}
+acls {
+  role: SCHEDULER
+  identity: "user:luci-scheduler@appspot.gserviceaccount.com"
+}
+acls {
+  role: SCHEDULER
+  identity: "user:pigweed-ci-builder@pigweed.google.com.iam.gserviceaccount.com"
+}
+swarming {
+  builders {
+    name: "pigweed-mac-gn-nanopb"
+    swarming_host: "chromium-swarm.appspot.com"
+    dimensions: "cpu:x64|x86-64"
+    dimensions: "os:Mac"
+    dimensions: "pool:luci.pigweed.ci"
+    exe {
+      cipd_package: "pigweed/infra/recipe_bundles/pigweed.googlesource.com/infra/recipes"
+      cipd_version: "refs/heads/main"
+      cmd: "luciexe"
+    }
+    properties:
+      '{'
+      '  "$pigweed/checkout": {'
+      '    "branch": "main",'
+      '    "equivalent_remotes": [],'
+      '    "match_branch": true,'
+      '    "remote": "https://pigweed.googlesource.com/pigweed/pigweed",'
+      '    "use_repo": false'
+      '  },'
+      '  "$pigweed/environment": {'
+      '    "config_file": "pw_env_setup/config.json"'
+      '  },'
+      '  "$pigweed/pw_presubmit": {'
+      '    "step": ['
+      '      "gn_nanopb_build"'
+      '    ]'
+      '  },'
+      '  "macos_sdk.version": "11c29",'
+      '  "recipe": "pw_presubmit",'
+      '  "step": ['
+      '    "gn_nanopb_build"'
+      '  ]'
+      '}'
+    priority: 40
+    execution_timeout_secs: 2700
+    caches {
+      name: "builder"
+      path: "builder"
+    }
+    caches {
+      name: "macos_sdk"
+      path: "macos_sdk"
+      wait_for_warm_cache_secs: 120
+    }
+    caches {
+      name: "pip"
+      path: "pip"
+      wait_for_warm_cache_secs: 60
+    }
+    service_account: "pigweed-ci-builder@pigweed.google.com.iam.gserviceaccount.com"
+    experiments {
+      key: "luci.recipes.use_python3"
+      value: 100
+    }
+    experiments {
+      key: "luci.use_realms"
+      value: 100
+    }
+  }
+}
diff --git a/generated/pigweed/for_review_only/buildbucket/ci/pigweed-mac-gn-teensy.textproto b/generated/pigweed/for_review_only/buildbucket/ci/pigweed-mac-gn-teensy.textproto
new file mode 100644
index 0000000..fb3ebd6
--- /dev/null
+++ b/generated/pigweed/for_review_only/buildbucket/ci/pigweed-mac-gn-teensy.textproto
@@ -0,0 +1,80 @@
+# Auto-generated by lucicfg.
+# Do not modify manually.
+#
+# For the schema of this file, see Bucket message:
+#   https://luci-config.appspot.com/schemas/projects:buildbucket.cfg
+
+name: "ci"
+acls {
+  group: "all"
+}
+acls {
+  role: SCHEDULER
+  identity: "user:luci-scheduler@appspot.gserviceaccount.com"
+}
+acls {
+  role: SCHEDULER
+  identity: "user:pigweed-ci-builder@pigweed.google.com.iam.gserviceaccount.com"
+}
+swarming {
+  builders {
+    name: "pigweed-mac-gn-teensy"
+    swarming_host: "chromium-swarm.appspot.com"
+    dimensions: "cpu:x64|x86-64"
+    dimensions: "os:Mac"
+    dimensions: "pool:luci.pigweed.ci"
+    exe {
+      cipd_package: "pigweed/infra/recipe_bundles/pigweed.googlesource.com/infra/recipes"
+      cipd_version: "refs/heads/main"
+      cmd: "luciexe"
+    }
+    properties:
+      '{'
+      '  "$pigweed/checkout": {'
+      '    "branch": "main",'
+      '    "equivalent_remotes": [],'
+      '    "match_branch": true,'
+      '    "remote": "https://pigweed.googlesource.com/pigweed/pigweed",'
+      '    "use_repo": false'
+      '  },'
+      '  "$pigweed/environment": {'
+      '    "config_file": "pw_env_setup/config.json"'
+      '  },'
+      '  "$pigweed/pw_presubmit": {'
+      '    "step": ['
+      '      "gn_teensy_build"'
+      '    ]'
+      '  },'
+      '  "macos_sdk.version": "11c29",'
+      '  "recipe": "pw_presubmit",'
+      '  "step": ['
+      '    "gn_teensy_build"'
+      '  ]'
+      '}'
+    priority: 40
+    execution_timeout_secs: 2700
+    caches {
+      name: "builder"
+      path: "builder"
+    }
+    caches {
+      name: "macos_sdk"
+      path: "macos_sdk"
+      wait_for_warm_cache_secs: 120
+    }
+    caches {
+      name: "pip"
+      path: "pip"
+      wait_for_warm_cache_secs: 60
+    }
+    service_account: "pigweed-ci-builder@pigweed.google.com.iam.gserviceaccount.com"
+    experiments {
+      key: "luci.recipes.use_python3"
+      value: 100
+    }
+    experiments {
+      key: "luci.use_realms"
+      value: 100
+    }
+  }
+}
diff --git a/generated/pigweed/for_review_only/buildbucket/ci/pigweed-mac-main-host-disco.textproto b/generated/pigweed/for_review_only/buildbucket/ci/pigweed-mac-main-host-disco.textproto
new file mode 100644
index 0000000..55ce15e
--- /dev/null
+++ b/generated/pigweed/for_review_only/buildbucket/ci/pigweed-mac-main-host-disco.textproto
@@ -0,0 +1,80 @@
+# Auto-generated by lucicfg.
+# Do not modify manually.
+#
+# For the schema of this file, see Bucket message:
+#   https://luci-config.appspot.com/schemas/projects:buildbucket.cfg
+
+name: "ci"
+acls {
+  group: "all"
+}
+acls {
+  role: SCHEDULER
+  identity: "user:luci-scheduler@appspot.gserviceaccount.com"
+}
+acls {
+  role: SCHEDULER
+  identity: "user:pigweed-ci-builder@pigweed.google.com.iam.gserviceaccount.com"
+}
+swarming {
+  builders {
+    name: "pigweed-mac-main-host-disco"
+    swarming_host: "chromium-swarm.appspot.com"
+    dimensions: "cpu:x64|x86-64"
+    dimensions: "os:Mac"
+    dimensions: "pool:luci.pigweed.ci"
+    exe {
+      cipd_package: "pigweed/infra/recipe_bundles/pigweed.googlesource.com/infra/recipes"
+      cipd_version: "refs/heads/main"
+      cmd: "luciexe"
+    }
+    properties:
+      '{'
+      '  "$pigweed/checkout": {'
+      '    "branch": "main",'
+      '    "equivalent_remotes": [],'
+      '    "match_branch": true,'
+      '    "remote": "https://pigweed.googlesource.com/pigweed/pigweed",'
+      '    "use_repo": false'
+      '  },'
+      '  "$pigweed/environment": {'
+      '    "config_file": "pw_env_setup/config.json"'
+      '  },'
+      '  "$pigweed/pw_presubmit": {'
+      '    "step": ['
+      '      "gn_full_build_check"'
+      '    ]'
+      '  },'
+      '  "macos_sdk.version": "11c29",'
+      '  "recipe": "pw_presubmit",'
+      '  "step": ['
+      '    "gn_full_build_check"'
+      '  ]'
+      '}'
+    priority: 40
+    execution_timeout_secs: 2700
+    caches {
+      name: "builder"
+      path: "builder"
+    }
+    caches {
+      name: "macos_sdk"
+      path: "macos_sdk"
+      wait_for_warm_cache_secs: 120
+    }
+    caches {
+      name: "pip"
+      path: "pip"
+      wait_for_warm_cache_secs: 60
+    }
+    service_account: "pigweed-ci-builder@pigweed.google.com.iam.gserviceaccount.com"
+    experiments {
+      key: "luci.recipes.use_python3"
+      value: 100
+    }
+    experiments {
+      key: "luci.use_realms"
+      value: 100
+    }
+  }
+}
diff --git a/generated/pigweed/for_review_only/buildbucket/ci/pigweed-mac-qemu-compatibility-clang-armgcc.textproto b/generated/pigweed/for_review_only/buildbucket/ci/pigweed-mac-qemu-compatibility-clang-armgcc.textproto
new file mode 100644
index 0000000..8a80442
--- /dev/null
+++ b/generated/pigweed/for_review_only/buildbucket/ci/pigweed-mac-qemu-compatibility-clang-armgcc.textproto
@@ -0,0 +1,82 @@
+# Auto-generated by lucicfg.
+# Do not modify manually.
+#
+# For the schema of this file, see Bucket message:
+#   https://luci-config.appspot.com/schemas/projects:buildbucket.cfg
+
+name: "ci"
+acls {
+  group: "all"
+}
+acls {
+  role: SCHEDULER
+  identity: "user:luci-scheduler@appspot.gserviceaccount.com"
+}
+acls {
+  role: SCHEDULER
+  identity: "user:pigweed-ci-builder@pigweed.google.com.iam.gserviceaccount.com"
+}
+swarming {
+  builders {
+    name: "pigweed-mac-qemu-compatibility-clang-armgcc"
+    swarming_host: "chromium-swarm.appspot.com"
+    dimensions: "cpu:x64|x86-64"
+    dimensions: "os:Mac"
+    dimensions: "pool:luci.pigweed.ci"
+    exe {
+      cipd_package: "pigweed/infra/recipe_bundles/pigweed.googlesource.com/infra/recipes"
+      cipd_version: "refs/heads/main"
+      cmd: "luciexe"
+    }
+    properties:
+      '{'
+      '  "$pigweed/checkout": {'
+      '    "branch": "main",'
+      '    "equivalent_remotes": [],'
+      '    "match_branch": true,'
+      '    "remote": "https://pigweed.googlesource.com/pigweed/pigweed",'
+      '    "use_repo": false'
+      '  },'
+      '  "$pigweed/environment": {'
+      '    "config_file": "pw_env_setup/compatibility.json"'
+      '  },'
+      '  "$pigweed/pw_presubmit": {'
+      '    "step": ['
+      '      "gn_full_qemu_check"'
+      '    ]'
+      '  },'
+      '  "dry_run": true,'
+      '  "macos_sdk.version": "11c29",'
+      '  "recipe": "pw_presubmit",'
+      '  "step": ['
+      '    "gn_full_qemu_check"'
+      '  ]'
+      '}'
+    priority: 50
+    execution_timeout_secs: 2700
+    caches {
+      name: "builder"
+      path: "builder"
+    }
+    caches {
+      name: "macos_sdk"
+      path: "macos_sdk"
+      wait_for_warm_cache_secs: 120
+    }
+    caches {
+      name: "pip"
+      path: "pip"
+      wait_for_warm_cache_secs: 60
+    }
+    service_account: "pigweed-ci-builder@pigweed.google.com.iam.gserviceaccount.com"
+    experimental: YES
+    experiments {
+      key: "luci.recipes.use_python3"
+      value: 100
+    }
+    experiments {
+      key: "luci.use_realms"
+      value: 100
+    }
+  }
+}
diff --git a/generated/pigweed/for_review_only/buildbucket/ci/pigweed-mac-qemu-main-clang-armgcc.textproto b/generated/pigweed/for_review_only/buildbucket/ci/pigweed-mac-qemu-main-clang-armgcc.textproto
new file mode 100644
index 0000000..f2a0ad1
--- /dev/null
+++ b/generated/pigweed/for_review_only/buildbucket/ci/pigweed-mac-qemu-main-clang-armgcc.textproto
@@ -0,0 +1,80 @@
+# Auto-generated by lucicfg.
+# Do not modify manually.
+#
+# For the schema of this file, see Bucket message:
+#   https://luci-config.appspot.com/schemas/projects:buildbucket.cfg
+
+name: "ci"
+acls {
+  group: "all"
+}
+acls {
+  role: SCHEDULER
+  identity: "user:luci-scheduler@appspot.gserviceaccount.com"
+}
+acls {
+  role: SCHEDULER
+  identity: "user:pigweed-ci-builder@pigweed.google.com.iam.gserviceaccount.com"
+}
+swarming {
+  builders {
+    name: "pigweed-mac-qemu-main-clang-armgcc"
+    swarming_host: "chromium-swarm.appspot.com"
+    dimensions: "cpu:x64|x86-64"
+    dimensions: "os:Mac"
+    dimensions: "pool:luci.pigweed.ci"
+    exe {
+      cipd_package: "pigweed/infra/recipe_bundles/pigweed.googlesource.com/infra/recipes"
+      cipd_version: "refs/heads/main"
+      cmd: "luciexe"
+    }
+    properties:
+      '{'
+      '  "$pigweed/checkout": {'
+      '    "branch": "main",'
+      '    "equivalent_remotes": [],'
+      '    "match_branch": true,'
+      '    "remote": "https://pigweed.googlesource.com/pigweed/pigweed",'
+      '    "use_repo": false'
+      '  },'
+      '  "$pigweed/environment": {'
+      '    "config_file": "pw_env_setup/config.json"'
+      '  },'
+      '  "$pigweed/pw_presubmit": {'
+      '    "step": ['
+      '      "gn_full_qemu_check"'
+      '    ]'
+      '  },'
+      '  "macos_sdk.version": "11c29",'
+      '  "recipe": "pw_presubmit",'
+      '  "step": ['
+      '    "gn_full_qemu_check"'
+      '  ]'
+      '}'
+    priority: 40
+    execution_timeout_secs: 2700
+    caches {
+      name: "builder"
+      path: "builder"
+    }
+    caches {
+      name: "macos_sdk"
+      path: "macos_sdk"
+      wait_for_warm_cache_secs: 120
+    }
+    caches {
+      name: "pip"
+      path: "pip"
+      wait_for_warm_cache_secs: 60
+    }
+    service_account: "pigweed-ci-builder@pigweed.google.com.iam.gserviceaccount.com"
+    experiments {
+      key: "luci.recipes.use_python3"
+      value: 100
+    }
+    experiments {
+      key: "luci.use_realms"
+      value: 100
+    }
+  }
+}
diff --git a/generated/pigweed/for_review_only/buildbucket/ci/pigweed-stm32f429i-combined.textproto b/generated/pigweed/for_review_only/buildbucket/ci/pigweed-stm32f429i-combined.textproto
new file mode 100644
index 0000000..80212eb
--- /dev/null
+++ b/generated/pigweed/for_review_only/buildbucket/ci/pigweed-stm32f429i-combined.textproto
@@ -0,0 +1,77 @@
+# Auto-generated by lucicfg.
+# Do not modify manually.
+#
+# For the schema of this file, see Bucket message:
+#   https://luci-config.appspot.com/schemas/projects:buildbucket.cfg
+
+name: "ci"
+acls {
+  group: "all"
+}
+acls {
+  role: SCHEDULER
+  identity: "user:luci-scheduler@appspot.gserviceaccount.com"
+}
+acls {
+  role: SCHEDULER
+  identity: "user:pigweed-ci-builder@pigweed.google.com.iam.gserviceaccount.com"
+}
+swarming {
+  builders {
+    name: "pigweed-stm32f429i-combined"
+    swarming_host: "chromium-swarm.appspot.com"
+    dimensions: "cores:16"
+    dimensions: "cpu:x64|x86-64"
+    dimensions: "os:Debian"
+    dimensions: "pool:luci.pigweed.ci"
+    exe {
+      cipd_package: "pigweed/infra/recipe_bundles/pigweed.googlesource.com/infra/recipes"
+      cipd_version: "refs/heads/main"
+      cmd: "luciexe"
+    }
+    properties:
+      '{'
+      '  "$pigweed/checkout": {'
+      '    "branch": "main",'
+      '    "equivalent_remotes": [],'
+      '    "match_branch": true,'
+      '    "remote": "https://pigweed.googlesource.com/pigweed/pigweed",'
+      '    "use_repo": false'
+      '  },'
+      '  "$pigweed/environment": {'
+      '    "config_file": "pw_env_setup/config.json"'
+      '  },'
+      '  "$pigweed/pw_presubmit": {'
+      '    "step": ['
+      '      "stm32f429i"'
+      '    ]'
+      '  },'
+      '  "dry_run": true,'
+      '  "recipe": "pw_presubmit",'
+      '  "step": ['
+      '    "stm32f429i"'
+      '  ]'
+      '}'
+    priority: 50
+    execution_timeout_secs: 2700
+    caches {
+      name: "builder"
+      path: "builder"
+    }
+    caches {
+      name: "pip"
+      path: "pip"
+      wait_for_warm_cache_secs: 60
+    }
+    service_account: "pigweed-ci-builder@pigweed.google.com.iam.gserviceaccount.com"
+    experimental: YES
+    experiments {
+      key: "luci.recipes.use_python3"
+      value: 100
+    }
+    experiments {
+      key: "luci.use_realms"
+      value: 100
+    }
+  }
+}
diff --git a/generated/pigweed/for_review_only/buildbucket/ci/pigweed-stm32f429i-subbuild.textproto b/generated/pigweed/for_review_only/buildbucket/ci/pigweed-stm32f429i-subbuild.textproto
new file mode 100644
index 0000000..7c4d794
--- /dev/null
+++ b/generated/pigweed/for_review_only/buildbucket/ci/pigweed-stm32f429i-subbuild.textproto
@@ -0,0 +1,77 @@
+# Auto-generated by lucicfg.
+# Do not modify manually.
+#
+# For the schema of this file, see Bucket message:
+#   https://luci-config.appspot.com/schemas/projects:buildbucket.cfg
+
+name: "ci"
+acls {
+  group: "all"
+}
+acls {
+  role: SCHEDULER
+  identity: "user:luci-scheduler@appspot.gserviceaccount.com"
+}
+acls {
+  role: SCHEDULER
+  identity: "user:pigweed-ci-builder@pigweed.google.com.iam.gserviceaccount.com"
+}
+swarming {
+  builders {
+    name: "pigweed-stm32f429i-subbuild"
+    swarming_host: "chromium-swarm.appspot.com"
+    dimensions: "cores:16"
+    dimensions: "cpu:x64|x86-64"
+    dimensions: "os:Debian"
+    dimensions: "pool:luci.pigweed.ci"
+    exe {
+      cipd_package: "pigweed/infra/recipe_bundles/pigweed.googlesource.com/infra/recipes"
+      cipd_version: "refs/heads/main"
+      cmd: "luciexe"
+    }
+    properties:
+      '{'
+      '  "$pigweed/build": {'
+      '    "gn_args": [],'
+      '    "ninja_targets": ['
+      '      "stm32f429i_debug",'
+      '      "stm32f429i_size_optimized",'
+      '      "stm32f429i_speed_optimized"'
+      '    ]'
+      '  },'
+      '  "$pigweed/checkout": {'
+      '    "branch": "main",'
+      '    "equivalent_remotes": [],'
+      '    "match_branch": true,'
+      '    "remote": "https://pigweed.googlesource.com/pigweed/pigweed",'
+      '    "use_repo": false'
+      '  },'
+      '  "$pigweed/environment": {'
+      '    "config_file": "pw_env_setup/config.json"'
+      '  },'
+      '  "dry_run": true,'
+      '  "recipe": "build"'
+      '}'
+    priority: 50
+    execution_timeout_secs: 2700
+    caches {
+      name: "builder"
+      path: "builder"
+    }
+    caches {
+      name: "pip"
+      path: "pip"
+      wait_for_warm_cache_secs: 60
+    }
+    service_account: "pigweed-ci-builder@pigweed.google.com.iam.gserviceaccount.com"
+    experimental: YES
+    experiments {
+      key: "luci.recipes.use_python3"
+      value: 100
+    }
+    experiments {
+      key: "luci.use_realms"
+      value: 100
+    }
+  }
+}
diff --git a/generated/pigweed/for_review_only/buildbucket/ci/pigweed-stm32f429i.textproto b/generated/pigweed/for_review_only/buildbucket/ci/pigweed-stm32f429i.textproto
new file mode 100644
index 0000000..76a0055
--- /dev/null
+++ b/generated/pigweed/for_review_only/buildbucket/ci/pigweed-stm32f429i.textproto
@@ -0,0 +1,77 @@
+# Auto-generated by lucicfg.
+# Do not modify manually.
+#
+# For the schema of this file, see Bucket message:
+#   https://luci-config.appspot.com/schemas/projects:buildbucket.cfg
+
+name: "ci"
+acls {
+  group: "all"
+}
+acls {
+  role: SCHEDULER
+  identity: "user:luci-scheduler@appspot.gserviceaccount.com"
+}
+acls {
+  role: SCHEDULER
+  identity: "user:pigweed-ci-builder@pigweed.google.com.iam.gserviceaccount.com"
+}
+swarming {
+  builders {
+    name: "pigweed-stm32f429i"
+    swarming_host: "chromium-swarm.appspot.com"
+    dimensions: "120:cores:2"
+    dimensions: "cpu:x64|x86-64"
+    dimensions: "os:Debian"
+    dimensions: "pool:luci.pigweed.ci"
+    exe {
+      cipd_package: "pigweed/infra/recipe_bundles/pigweed.googlesource.com/infra/recipes"
+      cipd_version: "refs/heads/main"
+      cmd: "luciexe"
+    }
+    properties:
+      '{'
+      '  "$pigweed/build": {'
+      '    "gn_args": [],'
+      '    "ninja_targets": ['
+      '      "stm32f429i_debug",'
+      '      "stm32f429i_size_optimized",'
+      '      "stm32f429i_speed_optimized"'
+      '    ]'
+      '  },'
+      '  "$pigweed/checkout": {'
+      '    "branch": "main",'
+      '    "equivalent_remotes": [],'
+      '    "match_branch": true,'
+      '    "remote": "https://pigweed.googlesource.com/pigweed/pigweed",'
+      '    "use_repo": false'
+      '  },'
+      '  "$pigweed/environment": {'
+      '    "config_file": "pw_env_setup/config.json"'
+      '  },'
+      '  "dry_run": true,'
+      '  "recipe": "pigweed"'
+      '}'
+    priority: 50
+    execution_timeout_secs: 2700
+    caches {
+      name: "builder"
+      path: "builder"
+    }
+    caches {
+      name: "pip"
+      path: "pip"
+      wait_for_warm_cache_secs: 60
+    }
+    service_account: "pigweed-ci-builder@pigweed.google.com.iam.gserviceaccount.com"
+    experimental: YES
+    experiments {
+      key: "luci.recipes.use_python3"
+      value: 100
+    }
+    experiments {
+      key: "luci.use_realms"
+      value: 100
+    }
+  }
+}
diff --git a/generated/pigweed/for_review_only/buildbucket/ci/pigweed-windows-bazel-host-clang.textproto b/generated/pigweed/for_review_only/buildbucket/ci/pigweed-windows-bazel-host-clang.textproto
new file mode 100644
index 0000000..7e78537
--- /dev/null
+++ b/generated/pigweed/for_review_only/buildbucket/ci/pigweed-windows-bazel-host-clang.textproto
@@ -0,0 +1,82 @@
+# Auto-generated by lucicfg.
+# Do not modify manually.
+#
+# For the schema of this file, see Bucket message:
+#   https://luci-config.appspot.com/schemas/projects:buildbucket.cfg
+
+name: "ci"
+acls {
+  group: "all"
+}
+acls {
+  role: SCHEDULER
+  identity: "user:luci-scheduler@appspot.gserviceaccount.com"
+}
+acls {
+  role: SCHEDULER
+  identity: "user:pigweed-ci-builder@pigweed.google.com.iam.gserviceaccount.com"
+}
+swarming {
+  builders {
+    name: "pigweed-windows-bazel-host-clang"
+    swarming_host: "chromium-swarm.appspot.com"
+    dimensions: "cores:16"
+    dimensions: "cpu:x64|x86-64"
+    dimensions: "os:Windows-10"
+    dimensions: "pool:luci.pigweed.ci"
+    exe {
+      cipd_package: "pigweed/infra/recipe_bundles/pigweed.googlesource.com/infra/recipes"
+      cipd_version: "refs/heads/main"
+      cmd: "luciexe"
+    }
+    properties:
+      '{'
+      '  "$pigweed/checkout": {'
+      '    "branch": "main",'
+      '    "equivalent_remotes": [],'
+      '    "match_branch": true,'
+      '    "remote": "https://pigweed.googlesource.com/pigweed/pigweed",'
+      '    "use_repo": false'
+      '  },'
+      '  "$pigweed/environment": {'
+      '    "config_file": "pw_env_setup/config.json"'
+      '  },'
+      '  "$pigweed/pw_presubmit": {'
+      '    "step": ['
+      '      "bazel_test"'
+      '    ]'
+      '  },'
+      '  "dry_run": true,'
+      '  "recipe": "pw_presubmit",'
+      '  "step": ['
+      '    "bazel_test"'
+      '  ]'
+      '}'
+    priority: 50
+    execution_timeout_secs: 2700
+    caches {
+      name: "bazel"
+      path: "bazel"
+      wait_for_warm_cache_secs: 60
+    }
+    caches {
+      name: "builder"
+      path: "builder"
+    }
+    caches {
+      name: "pip"
+      path: "pip"
+      wait_for_warm_cache_secs: 60
+    }
+    service_account: "pigweed-ci-builder@pigweed.google.com.iam.gserviceaccount.com"
+    experimental: YES
+    experiments {
+      key: "luci.recipes.use_python3"
+      value: 100
+    }
+    experiments {
+      key: "luci.use_realms"
+      value: 100
+    }
+  }
+}
diff --git a/generated/pigweed/for_review_only/buildbucket/ci/pigweed-windows-compatibility-host-disco.textproto b/generated/pigweed/for_review_only/buildbucket/ci/pigweed-windows-compatibility-host-disco.textproto
new file mode 100644
index 0000000..4369323
--- /dev/null
+++ b/generated/pigweed/for_review_only/buildbucket/ci/pigweed-windows-compatibility-host-disco.textproto
@@ -0,0 +1,77 @@
+# Auto-generated by lucicfg.
+# Do not modify manually.
+#
+# For the schema of this file, see Bucket message:
+#   https://luci-config.appspot.com/schemas/projects:buildbucket.cfg
+
+name: "ci"
+acls {
+  group: "all"
+}
+acls {
+  role: SCHEDULER
+  identity: "user:luci-scheduler@appspot.gserviceaccount.com"
+}
+acls {
+  role: SCHEDULER
+  identity: "user:pigweed-ci-builder@pigweed.google.com.iam.gserviceaccount.com"
+}
+swarming {
+  builders {
+    name: "pigweed-windows-compatibility-host-disco"
+    swarming_host: "chromium-swarm.appspot.com"
+    dimensions: "cores:16"
+    dimensions: "cpu:x64|x86-64"
+    dimensions: "os:Windows-10"
+    dimensions: "pool:luci.pigweed.ci"
+    exe {
+      cipd_package: "pigweed/infra/recipe_bundles/pigweed.googlesource.com/infra/recipes"
+      cipd_version: "refs/heads/main"
+      cmd: "luciexe"
+    }
+    properties:
+      '{'
+      '  "$pigweed/checkout": {'
+      '    "branch": "main",'
+      '    "equivalent_remotes": [],'
+      '    "match_branch": true,'
+      '    "remote": "https://pigweed.googlesource.com/pigweed/pigweed",'
+      '    "use_repo": false'
+      '  },'
+      '  "$pigweed/environment": {'
+      '    "config_file": "pw_env_setup/compatibility.json"'
+      '  },'
+      '  "$pigweed/pw_presubmit": {'
+      '    "step": ['
+      '      "gn_full_build_check"'
+      '    ]'
+      '  },'
+      '  "dry_run": true,'
+      '  "recipe": "pw_presubmit",'
+      '  "step": ['
+      '    "gn_full_build_check"'
+      '  ]'
+      '}'
+    priority: 50
+    execution_timeout_secs: 2700
+    caches {
+      name: "builder"
+      path: "builder"
+    }
+    caches {
+      name: "pip"
+      path: "pip"
+      wait_for_warm_cache_secs: 60
+    }
+    service_account: "pigweed-ci-builder@pigweed.google.com.iam.gserviceaccount.com"
+    experimental: YES
+    experiments {
+      key: "luci.recipes.use_python3"
+      value: 100
+    }
+    experiments {
+      key: "luci.use_realms"
+      value: 100
+    }
+  }
+}
diff --git a/generated/pigweed/for_review_only/buildbucket/ci/pigweed-windows-gn-nanopb.textproto b/generated/pigweed/for_review_only/buildbucket/ci/pigweed-windows-gn-nanopb.textproto
new file mode 100644
index 0000000..a7724a6
--- /dev/null
+++ b/generated/pigweed/for_review_only/buildbucket/ci/pigweed-windows-gn-nanopb.textproto
@@ -0,0 +1,77 @@
+# Auto-generated by lucicfg.
+# Do not modify manually.
+#
+# For the schema of this file, see Bucket message:
+#   https://luci-config.appspot.com/schemas/projects:buildbucket.cfg
+
+name: "ci"
+acls {
+  group: "all"
+}
+acls {
+  role: SCHEDULER
+  identity: "user:luci-scheduler@appspot.gserviceaccount.com"
+}
+acls {
+  role: SCHEDULER
+  identity: "user:pigweed-ci-builder@pigweed.google.com.iam.gserviceaccount.com"
+}
+swarming {
+  builders {
+    name: "pigweed-windows-gn-nanopb"
+    swarming_host: "chromium-swarm.appspot.com"
+    dimensions: "cores:16"
+    dimensions: "cpu:x64|x86-64"
+    dimensions: "os:Windows-10"
+    dimensions: "pool:luci.pigweed.ci"
+    exe {
+      cipd_package: "pigweed/infra/recipe_bundles/pigweed.googlesource.com/infra/recipes"
+      cipd_version: "refs/heads/main"
+      cmd: "luciexe"
+    }
+    properties:
+      '{'
+      '  "$pigweed/checkout": {'
+      '    "branch": "main",'
+      '    "equivalent_remotes": [],'
+      '    "match_branch": true,'
+      '    "remote": "https://pigweed.googlesource.com/pigweed/pigweed",'
+      '    "use_repo": false'
+      '  },'
+      '  "$pigweed/environment": {'
+      '    "config_file": "pw_env_setup/config.json"'
+      '  },'
+      '  "$pigweed/pw_presubmit": {'
+      '    "step": ['
+      '      "gn_nanopb_build"'
+      '    ]'
+      '  },'
+      '  "dry_run": true,'
+      '  "recipe": "pw_presubmit",'
+      '  "step": ['
+      '    "gn_nanopb_build"'
+      '  ]'
+      '}'
+    priority: 50
+    execution_timeout_secs: 2700
+    caches {
+      name: "builder"
+      path: "builder"
+    }
+    caches {
+      name: "pip"
+      path: "pip"
+      wait_for_warm_cache_secs: 60
+    }
+    service_account: "pigweed-ci-builder@pigweed.google.com.iam.gserviceaccount.com"
+    experimental: YES
+    experiments {
+      key: "luci.recipes.use_python3"
+      value: 100
+    }
+    experiments {
+      key: "luci.use_realms"
+      value: 100
+    }
+  }
+}
diff --git a/generated/pigweed/for_review_only/buildbucket/ci/pigweed-windows-main-host-disco.textproto b/generated/pigweed/for_review_only/buildbucket/ci/pigweed-windows-main-host-disco.textproto
new file mode 100644
index 0000000..ab6593a
--- /dev/null
+++ b/generated/pigweed/for_review_only/buildbucket/ci/pigweed-windows-main-host-disco.textproto
@@ -0,0 +1,75 @@
+# Auto-generated by lucicfg.
+# Do not modify manually.
+#
+# For the schema of this file, see Bucket message:
+#   https://luci-config.appspot.com/schemas/projects:buildbucket.cfg
+
+name: "ci"
+acls {
+  group: "all"
+}
+acls {
+  role: SCHEDULER
+  identity: "user:luci-scheduler@appspot.gserviceaccount.com"
+}
+acls {
+  role: SCHEDULER
+  identity: "user:pigweed-ci-builder@pigweed.google.com.iam.gserviceaccount.com"
+}
+swarming {
+  builders {
+    name: "pigweed-windows-main-host-disco"
+    swarming_host: "chromium-swarm.appspot.com"
+    dimensions: "cores:16"
+    dimensions: "cpu:x64|x86-64"
+    dimensions: "os:Windows-10"
+    dimensions: "pool:luci.pigweed.ci"
+    exe {
+      cipd_package: "pigweed/infra/recipe_bundles/pigweed.googlesource.com/infra/recipes"
+      cipd_version: "refs/heads/main"
+      cmd: "luciexe"
+    }
+    properties:
+      '{'
+      '  "$pigweed/checkout": {'
+      '    "branch": "main",'
+      '    "equivalent_remotes": [],'
+      '    "match_branch": true,'
+      '    "remote": "https://pigweed.googlesource.com/pigweed/pigweed",'
+      '    "use_repo": false'
+      '  },'
+      '  "$pigweed/environment": {'
+      '    "config_file": "pw_env_setup/config.json"'
+      '  },'
+      '  "$pigweed/pw_presubmit": {'
+      '    "step": ['
+      '      "gn_full_build_check"'
+      '    ]'
+      '  },'
+      '  "recipe": "pw_presubmit",'
+      '  "step": ['
+      '    "gn_full_build_check"'
+      '  ]'
+      '}'
+    priority: 40
+    execution_timeout_secs: 2700
+    caches {
+      name: "builder"
+      path: "builder"
+    }
+    caches {
+      name: "pip"
+      path: "pip"
+      wait_for_warm_cache_secs: 60
+    }
+    service_account: "pigweed-ci-builder@pigweed.google.com.iam.gserviceaccount.com"
+    experiments {
+      key: "luci.recipes.use_python3"
+      value: 100
+    }
+    experiments {
+      key: "luci.use_realms"
+      value: 100
+    }
+  }
+}
diff --git a/generated/pigweed/for_review_only/buildbucket/ci/pigweed-windows-qemu-compatibility-clang-armgcc.textproto b/generated/pigweed/for_review_only/buildbucket/ci/pigweed-windows-qemu-compatibility-clang-armgcc.textproto
new file mode 100644
index 0000000..87083cf
--- /dev/null
+++ b/generated/pigweed/for_review_only/buildbucket/ci/pigweed-windows-qemu-compatibility-clang-armgcc.textproto
@@ -0,0 +1,77 @@
+# Auto-generated by lucicfg.
+# Do not modify manually.
+#
+# For the schema of this file, see Bucket message:
+#   https://luci-config.appspot.com/schemas/projects:buildbucket.cfg
+
+name: "ci"
+acls {
+  group: "all"
+}
+acls {
+  role: SCHEDULER
+  identity: "user:luci-scheduler@appspot.gserviceaccount.com"
+}
+acls {
+  role: SCHEDULER
+  identity: "user:pigweed-ci-builder@pigweed.google.com.iam.gserviceaccount.com"
+}
+swarming {
+  builders {
+    name: "pigweed-windows-qemu-compatibility-clang-armgcc"
+    swarming_host: "chromium-swarm.appspot.com"
+    dimensions: "cores:16"
+    dimensions: "cpu:x64|x86-64"
+    dimensions: "os:Windows-10"
+    dimensions: "pool:luci.pigweed.ci"
+    exe {
+      cipd_package: "pigweed/infra/recipe_bundles/pigweed.googlesource.com/infra/recipes"
+      cipd_version: "refs/heads/main"
+      cmd: "luciexe"
+    }
+    properties:
+      '{'
+      '  "$pigweed/checkout": {'
+      '    "branch": "main",'
+      '    "equivalent_remotes": [],'
+      '    "match_branch": true,'
+      '    "remote": "https://pigweed.googlesource.com/pigweed/pigweed",'
+      '    "use_repo": false'
+      '  },'
+      '  "$pigweed/environment": {'
+      '    "config_file": "pw_env_setup/compatibility.json"'
+      '  },'
+      '  "$pigweed/pw_presubmit": {'
+      '    "step": ['
+      '      "gn_full_qemu_check"'
+      '    ]'
+      '  },'
+      '  "dry_run": true,'
+      '  "recipe": "pw_presubmit",'
+      '  "step": ['
+      '    "gn_full_qemu_check"'
+      '  ]'
+      '}'
+    priority: 50
+    execution_timeout_secs: 2700
+    caches {
+      name: "builder"
+      path: "builder"
+    }
+    caches {
+      name: "pip"
+      path: "pip"
+      wait_for_warm_cache_secs: 60
+    }
+    service_account: "pigweed-ci-builder@pigweed.google.com.iam.gserviceaccount.com"
+    experimental: YES
+    experiments {
+      key: "luci.recipes.use_python3"
+      value: 100
+    }
+    experiments {
+      key: "luci.use_realms"
+      value: 100
+    }
+  }
+}
diff --git a/generated/pigweed/for_review_only/buildbucket/ci/pigweed-windows-qemu-main-clang-armgcc.textproto b/generated/pigweed/for_review_only/buildbucket/ci/pigweed-windows-qemu-main-clang-armgcc.textproto
new file mode 100644
index 0000000..e89f3d5
--- /dev/null
+++ b/generated/pigweed/for_review_only/buildbucket/ci/pigweed-windows-qemu-main-clang-armgcc.textproto
@@ -0,0 +1,77 @@
+# Auto-generated by lucicfg.
+# Do not modify manually.
+#
+# For the schema of this file, see Bucket message:
+#   https://luci-config.appspot.com/schemas/projects:buildbucket.cfg
+
+name: "ci"
+acls {
+  group: "all"
+}
+acls {
+  role: SCHEDULER
+  identity: "user:luci-scheduler@appspot.gserviceaccount.com"
+}
+acls {
+  role: SCHEDULER
+  identity: "user:pigweed-ci-builder@pigweed.google.com.iam.gserviceaccount.com"
+}
+swarming {
+  builders {
+    name: "pigweed-windows-qemu-main-clang-armgcc"
+    swarming_host: "chromium-swarm.appspot.com"
+    dimensions: "cores:16"
+    dimensions: "cpu:x64|x86-64"
+    dimensions: "os:Windows-10"
+    dimensions: "pool:luci.pigweed.ci"
+    exe {
+      cipd_package: "pigweed/infra/recipe_bundles/pigweed.googlesource.com/infra/recipes"
+      cipd_version: "refs/heads/main"
+      cmd: "luciexe"
+    }
+    properties:
+      '{'
+      '  "$pigweed/checkout": {'
+      '    "branch": "main",'
+      '    "equivalent_remotes": [],'
+      '    "match_branch": true,'
+      '    "remote": "https://pigweed.googlesource.com/pigweed/pigweed",'
+      '    "use_repo": false'
+      '  },'
+      '  "$pigweed/environment": {'
+      '    "config_file": "pw_env_setup/config.json"'
+      '  },'
+      '  "$pigweed/pw_presubmit": {'
+      '    "step": ['
+      '      "gn_full_qemu_check"'
+      '    ]'
+      '  },'
+      '  "dry_run": true,'
+      '  "recipe": "pw_presubmit",'
+      '  "step": ['
+      '    "gn_full_qemu_check"'
+      '  ]'
+      '}'
+    priority: 50
+    execution_timeout_secs: 2700
+    caches {
+      name: "builder"
+      path: "builder"
+    }
+    caches {
+      name: "pip"
+      path: "pip"
+      wait_for_warm_cache_secs: 60
+    }
+    service_account: "pigweed-ci-builder@pigweed.google.com.iam.gserviceaccount.com"
+    experimental: YES
+    experiments {
+      key: "luci.recipes.use_python3"
+      value: 100
+    }
+    experiments {
+      key: "luci.use_realms"
+      value: 100
+    }
+  }
+}
diff --git a/generated/pigweed/for_review_only/buildbucket/ci/pigweed-xref-generator.textproto b/generated/pigweed/for_review_only/buildbucket/ci/pigweed-xref-generator.textproto
new file mode 100644
index 0000000..eb8d306
--- /dev/null
+++ b/generated/pigweed/for_review_only/buildbucket/ci/pigweed-xref-generator.textproto
@@ -0,0 +1,68 @@
+# Auto-generated by lucicfg.
+# Do not modify manually.
+#
+# For the schema of this file, see Bucket message:
+#   https://luci-config.appspot.com/schemas/projects:buildbucket.cfg
+
+name: "ci"
+acls {
+  group: "all"
+}
+acls {
+  role: SCHEDULER
+  identity: "user:luci-scheduler@appspot.gserviceaccount.com"
+}
+acls {
+  role: SCHEDULER
+  identity: "user:pigweed-ci-builder@pigweed.google.com.iam.gserviceaccount.com"
+}
+swarming {
+  builders {
+    name: "pigweed-xref-generator"
+    swarming_host: "chromium-swarm.appspot.com"
+    dimensions: "cores:16"
+    dimensions: "cpu:x64|x86-64"
+    dimensions: "os:Debian"
+    dimensions: "pool:luci.pigweed.ci"
+    exe {
+      cipd_package: "pigweed/infra/recipe_bundles/pigweed.googlesource.com/infra/recipes"
+      cipd_version: "refs/heads/main"
+      cmd: "luciexe"
+    }
+    properties:
+      '{'
+      '  "$pigweed/checkout": {'
+      '    "branch": "main",'
+      '    "equivalent_remotes": [],'
+      '    "match_branch": true,'
+      '    "remote": "https://pigweed.googlesource.com/pigweed/pigweed",'
+      '    "use_repo": false'
+      '  },'
+      '  "$pigweed/environment": {'
+      '    "config_file": "pw_env_setup/config.json"'
+      '  },'
+      '  "dry_run": false,'
+      '  "recipe": "xrefs"'
+      '}'
+    priority: 40
+    execution_timeout_secs: 2700
+    caches {
+      name: "builder"
+      path: "builder"
+    }
+    caches {
+      name: "pip"
+      path: "pip"
+      wait_for_warm_cache_secs: 60
+    }
+    service_account: "pigweed-kythe@pigweed.google.com.iam.gserviceaccount.com"
+    experiments {
+      key: "luci.recipes.use_python3"
+      value: 100
+    }
+    experiments {
+      key: "luci.use_realms"
+      value: 100
+    }
+  }
+}
diff --git a/generated/pigweed/for_review_only/buildbucket/ci/recipes-unittest-only.textproto b/generated/pigweed/for_review_only/buildbucket/ci/recipes-unittest-only.textproto
new file mode 100644
index 0000000..56c3e38
--- /dev/null
+++ b/generated/pigweed/for_review_only/buildbucket/ci/recipes-unittest-only.textproto
@@ -0,0 +1,60 @@
+# Auto-generated by lucicfg.
+# Do not modify manually.
+#
+# For the schema of this file, see Bucket message:
+#   https://luci-config.appspot.com/schemas/projects:buildbucket.cfg
+
+name: "ci"
+acls {
+  group: "all"
+}
+acls {
+  role: SCHEDULER
+  identity: "user:luci-scheduler@appspot.gserviceaccount.com"
+}
+acls {
+  role: SCHEDULER
+  identity: "user:pigweed-ci-builder@pigweed.google.com.iam.gserviceaccount.com"
+}
+swarming {
+  builders {
+    name: "recipes-unittest-only"
+    swarming_host: "chromium-swarm.appspot.com"
+    dimensions: "120:cores:2"
+    dimensions: "cpu:x64|x86-64"
+    dimensions: "os:Debian"
+    dimensions: "pool:luci.pigweed.ci"
+    exe {
+      cipd_package: "pigweed/infra/recipe_bundles/pigweed.googlesource.com/infra/recipes"
+      cipd_version: "refs/heads/main"
+      cmd: "luciexe"
+    }
+    properties:
+      '{'
+      '  "$pigweed/checkout": {'
+      '    "branch": "main",'
+      '    "equivalent_remotes": [],'
+      '    "match_branch": true,'
+      '    "remote": "https://pigweed.googlesource.com/infra/recipes",'
+      '    "use_repo": false'
+      '  },'
+      '  "recipe": "recipes",'
+      '  "unittest_only": true'
+      '}'
+    priority: 40
+    execution_timeout_secs: 3600
+    caches {
+      name: "builder"
+      path: "builder"
+    }
+    service_account: "pigweed-ci-builder@pigweed.google.com.iam.gserviceaccount.com"
+    experiments {
+      key: "luci.recipes.use_python3"
+      value: 100
+    }
+    experiments {
+      key: "luci.use_realms"
+      value: 100
+    }
+  }
+}
diff --git a/generated/pigweed/for_review_only/buildbucket/ci/sample-project-default-build-linux.textproto b/generated/pigweed/for_review_only/buildbucket/ci/sample-project-default-build-linux.textproto
new file mode 100644
index 0000000..a9bac3c
--- /dev/null
+++ b/generated/pigweed/for_review_only/buildbucket/ci/sample-project-default-build-linux.textproto
@@ -0,0 +1,77 @@
+# Auto-generated by lucicfg.
+# Do not modify manually.
+#
+# For the schema of this file, see Bucket message:
+#   https://luci-config.appspot.com/schemas/projects:buildbucket.cfg
+
+name: "ci"
+acls {
+  group: "all"
+}
+acls {
+  role: SCHEDULER
+  identity: "user:luci-scheduler@appspot.gserviceaccount.com"
+}
+acls {
+  role: SCHEDULER
+  identity: "user:pigweed-ci-builder@pigweed.google.com.iam.gserviceaccount.com"
+}
+swarming {
+  builders {
+    name: "sample-project-default-build-linux"
+    swarming_host: "chromium-swarm.appspot.com"
+    dimensions: "cores:16"
+    dimensions: "cpu:x64|x86-64"
+    dimensions: "os:Debian"
+    dimensions: "pool:luci.pigweed.ci"
+    exe {
+      cipd_package: "pigweed/infra/recipe_bundles/pigweed.googlesource.com/infra/recipes"
+      cipd_version: "refs/heads/main"
+      cmd: "luciexe"
+    }
+    properties:
+      '{'
+      '  "$pigweed/checkout": {'
+      '    "branch": "main",'
+      '    "equivalent_remotes": [],'
+      '    "match_branch": true,'
+      '    "remote": "https://pigweed.googlesource.com/pigweed/sample_project",'
+      '    "use_repo": false'
+      '  },'
+      '  "$pigweed/environment": {'
+      '    "config_file": "env_setup.json",'
+      '    "relative_pigweed_root": "third_party/pigweed",'
+      '    "root_variable_name": "SAMPLE_PROJECT_ROOT"'
+      '  },'
+      '  "$pigweed/pw_presubmit": {'
+      '    "step": ['
+      '      "default_build"'
+      '    ]'
+      '  },'
+      '  "recipe": "pw_presubmit",'
+      '  "step": ['
+      '    "default_build"'
+      '  ]'
+      '}'
+    priority: 40
+    execution_timeout_secs: 3600
+    caches {
+      name: "builder"
+      path: "builder"
+    }
+    caches {
+      name: "pip"
+      path: "pip"
+      wait_for_warm_cache_secs: 60
+    }
+    service_account: "pigweed-ci-builder@pigweed.google.com.iam.gserviceaccount.com"
+    experiments {
+      key: "luci.recipes.use_python3"
+      value: 100
+    }
+    experiments {
+      key: "luci.use_realms"
+      value: 100
+    }
+  }
+}
diff --git a/generated/pigweed/for_review_only/buildbucket/ci/sample-project-default-build-mac.textproto b/generated/pigweed/for_review_only/buildbucket/ci/sample-project-default-build-mac.textproto
new file mode 100644
index 0000000..7ac5abe
--- /dev/null
+++ b/generated/pigweed/for_review_only/buildbucket/ci/sample-project-default-build-mac.textproto
@@ -0,0 +1,82 @@
+# Auto-generated by lucicfg.
+# Do not modify manually.
+#
+# For the schema of this file, see Bucket message:
+#   https://luci-config.appspot.com/schemas/projects:buildbucket.cfg
+
+name: "ci"
+acls {
+  group: "all"
+}
+acls {
+  role: SCHEDULER
+  identity: "user:luci-scheduler@appspot.gserviceaccount.com"
+}
+acls {
+  role: SCHEDULER
+  identity: "user:pigweed-ci-builder@pigweed.google.com.iam.gserviceaccount.com"
+}
+swarming {
+  builders {
+    name: "sample-project-default-build-mac"
+    swarming_host: "chromium-swarm.appspot.com"
+    dimensions: "cpu:x64|x86-64"
+    dimensions: "os:Mac"
+    dimensions: "pool:luci.pigweed.ci"
+    exe {
+      cipd_package: "pigweed/infra/recipe_bundles/pigweed.googlesource.com/infra/recipes"
+      cipd_version: "refs/heads/main"
+      cmd: "luciexe"
+    }
+    properties:
+      '{'
+      '  "$pigweed/checkout": {'
+      '    "branch": "main",'
+      '    "equivalent_remotes": [],'
+      '    "match_branch": true,'
+      '    "remote": "https://pigweed.googlesource.com/pigweed/sample_project",'
+      '    "use_repo": false'
+      '  },'
+      '  "$pigweed/environment": {'
+      '    "config_file": "env_setup.json",'
+      '    "relative_pigweed_root": "third_party/pigweed",'
+      '    "root_variable_name": "SAMPLE_PROJECT_ROOT"'
+      '  },'
+      '  "$pigweed/pw_presubmit": {'
+      '    "step": ['
+      '      "default_build"'
+      '    ]'
+      '  },'
+      '  "macos_sdk.version": "11c29",'
+      '  "recipe": "pw_presubmit",'
+      '  "step": ['
+      '    "default_build"'
+      '  ]'
+      '}'
+    priority: 40
+    execution_timeout_secs: 3600
+    caches {
+      name: "builder"
+      path: "builder"
+    }
+    caches {
+      name: "macos_sdk"
+      path: "macos_sdk"
+      wait_for_warm_cache_secs: 120
+    }
+    caches {
+      name: "pip"
+      path: "pip"
+      wait_for_warm_cache_secs: 60
+    }
+    service_account: "pigweed-ci-builder@pigweed.google.com.iam.gserviceaccount.com"
+    experiments {
+      key: "luci.recipes.use_python3"
+      value: 100
+    }
+    experiments {
+      key: "luci.use_realms"
+      value: 100
+    }
+  }
+}
diff --git a/generated/pigweed/for_review_only/buildbucket/ci/sample-project-default-build-windows.textproto b/generated/pigweed/for_review_only/buildbucket/ci/sample-project-default-build-windows.textproto
new file mode 100644
index 0000000..0414abf
--- /dev/null
+++ b/generated/pigweed/for_review_only/buildbucket/ci/sample-project-default-build-windows.textproto
@@ -0,0 +1,77 @@
+# Auto-generated by lucicfg.
+# Do not modify manually.
+#
+# For the schema of this file, see Bucket message:
+#   https://luci-config.appspot.com/schemas/projects:buildbucket.cfg
+
+name: "ci"
+acls {
+  group: "all"
+}
+acls {
+  role: SCHEDULER
+  identity: "user:luci-scheduler@appspot.gserviceaccount.com"
+}
+acls {
+  role: SCHEDULER
+  identity: "user:pigweed-ci-builder@pigweed.google.com.iam.gserviceaccount.com"
+}
+swarming {
+  builders {
+    name: "sample-project-default-build-windows"
+    swarming_host: "chromium-swarm.appspot.com"
+    dimensions: "cores:16"
+    dimensions: "cpu:x64|x86-64"
+    dimensions: "os:Windows-10"
+    dimensions: "pool:luci.pigweed.ci"
+    exe {
+      cipd_package: "pigweed/infra/recipe_bundles/pigweed.googlesource.com/infra/recipes"
+      cipd_version: "refs/heads/main"
+      cmd: "luciexe"
+    }
+    properties:
+      '{'
+      '  "$pigweed/checkout": {'
+      '    "branch": "main",'
+      '    "equivalent_remotes": [],'
+      '    "match_branch": true,'
+      '    "remote": "https://pigweed.googlesource.com/pigweed/sample_project",'
+      '    "use_repo": false'
+      '  },'
+      '  "$pigweed/environment": {'
+      '    "config_file": "env_setup.json",'
+      '    "relative_pigweed_root": "third_party/pigweed",'
+      '    "root_variable_name": "SAMPLE_PROJECT_ROOT"'
+      '  },'
+      '  "$pigweed/pw_presubmit": {'
+      '    "step": ['
+      '      "default_build"'
+      '    ]'
+      '  },'
+      '  "recipe": "pw_presubmit",'
+      '  "step": ['
+      '    "default_build"'
+      '  ]'
+      '}'
+    priority: 40
+    execution_timeout_secs: 3600
+    caches {
+      name: "builder"
+      path: "builder"
+    }
+    caches {
+      name: "pip"
+      path: "pip"
+      wait_for_warm_cache_secs: 60
+    }
+    service_account: "pigweed-ci-builder@pigweed.google.com.iam.gserviceaccount.com"
+    experiments {
+      key: "luci.recipes.use_python3"
+      value: 100
+    }
+    experiments {
+      key: "luci.use_realms"
+      value: 100
+    }
+  }
+}
diff --git a/generated/pigweed/for_review_only/buildbucket/ci/sample-project-envtest-linux.textproto b/generated/pigweed/for_review_only/buildbucket/ci/sample-project-envtest-linux.textproto
new file mode 100644
index 0000000..867779c
--- /dev/null
+++ b/generated/pigweed/for_review_only/buildbucket/ci/sample-project-envtest-linux.textproto
@@ -0,0 +1,65 @@
+# Auto-generated by lucicfg.
+# Do not modify manually.
+#
+# For the schema of this file, see Bucket message:
+#   https://luci-config.appspot.com/schemas/projects:buildbucket.cfg
+
+name: "ci"
+acls {
+  group: "all"
+}
+acls {
+  role: SCHEDULER
+  identity: "user:luci-scheduler@appspot.gserviceaccount.com"
+}
+acls {
+  role: SCHEDULER
+  identity: "user:pigweed-ci-builder@pigweed.google.com.iam.gserviceaccount.com"
+}
+swarming {
+  builders {
+    name: "sample-project-envtest-linux"
+    swarming_host: "chromium-swarm.appspot.com"
+    dimensions: "cores:16"
+    dimensions: "cpu:x64|x86-64"
+    dimensions: "os:Debian"
+    dimensions: "pool:luci.pigweed.ci"
+    exe {
+      cipd_package: "pigweed/infra/recipe_bundles/pigweed.googlesource.com/infra/recipes"
+      cipd_version: "refs/heads/main"
+      cmd: "luciexe"
+    }
+    properties:
+      '{'
+      '  "$pigweed/checkout": {'
+      '    "branch": "main",'
+      '    "equivalent_remotes": [],'
+      '    "match_branch": true,'
+      '    "remote": "https://pigweed.googlesource.com/pigweed/sample_project",'
+      '    "use_repo": false'
+      '  },'
+      '  "command": "python -m pw_cli --directory $PW_PROJECT_ROOT --loglevel debug presubmit --step gn_gen_check",'
+      '  "recipe": "envtest"'
+      '}'
+    priority: 40
+    execution_timeout_secs: 3600
+    caches {
+      name: "builder"
+      path: "builder"
+    }
+    caches {
+      name: "pip"
+      path: "pip"
+      wait_for_warm_cache_secs: 60
+    }
+    service_account: "pigweed-ci-builder@pigweed.google.com.iam.gserviceaccount.com"
+    experiments {
+      key: "luci.recipes.use_python3"
+      value: 100
+    }
+    experiments {
+      key: "luci.use_realms"
+      value: 100
+    }
+  }
+}
diff --git a/generated/pigweed/for_review_only/buildbucket/ci/sample-project-envtest-mac.textproto b/generated/pigweed/for_review_only/buildbucket/ci/sample-project-envtest-mac.textproto
new file mode 100644
index 0000000..a25a1a5
--- /dev/null
+++ b/generated/pigweed/for_review_only/buildbucket/ci/sample-project-envtest-mac.textproto
@@ -0,0 +1,70 @@
+# Auto-generated by lucicfg.
+# Do not modify manually.
+#
+# For the schema of this file, see Bucket message:
+#   https://luci-config.appspot.com/schemas/projects:buildbucket.cfg
+
+name: "ci"
+acls {
+  group: "all"
+}
+acls {
+  role: SCHEDULER
+  identity: "user:luci-scheduler@appspot.gserviceaccount.com"
+}
+acls {
+  role: SCHEDULER
+  identity: "user:pigweed-ci-builder@pigweed.google.com.iam.gserviceaccount.com"
+}
+swarming {
+  builders {
+    name: "sample-project-envtest-mac"
+    swarming_host: "chromium-swarm.appspot.com"
+    dimensions: "cpu:x64|x86-64"
+    dimensions: "os:Mac"
+    dimensions: "pool:luci.pigweed.ci"
+    exe {
+      cipd_package: "pigweed/infra/recipe_bundles/pigweed.googlesource.com/infra/recipes"
+      cipd_version: "refs/heads/main"
+      cmd: "luciexe"
+    }
+    properties:
+      '{'
+      '  "$pigweed/checkout": {'
+      '    "branch": "main",'
+      '    "equivalent_remotes": [],'
+      '    "match_branch": true,'
+      '    "remote": "https://pigweed.googlesource.com/pigweed/sample_project",'
+      '    "use_repo": false'
+      '  },'
+      '  "command": "python -m pw_cli --directory $PW_PROJECT_ROOT --loglevel debug presubmit --step gn_gen_check",'
+      '  "macos_sdk.version": "11c29",'
+      '  "recipe": "envtest"'
+      '}'
+    priority: 40
+    execution_timeout_secs: 3600
+    caches {
+      name: "builder"
+      path: "builder"
+    }
+    caches {
+      name: "macos_sdk"
+      path: "macos_sdk"
+      wait_for_warm_cache_secs: 120
+    }
+    caches {
+      name: "pip"
+      path: "pip"
+      wait_for_warm_cache_secs: 60
+    }
+    service_account: "pigweed-ci-builder@pigweed.google.com.iam.gserviceaccount.com"
+    experiments {
+      key: "luci.recipes.use_python3"
+      value: 100
+    }
+    experiments {
+      key: "luci.use_realms"
+      value: 100
+    }
+  }
+}
diff --git a/generated/pigweed/for_review_only/buildbucket/ci/sample-project-envtest-windows.textproto b/generated/pigweed/for_review_only/buildbucket/ci/sample-project-envtest-windows.textproto
new file mode 100644
index 0000000..c89ebcf
--- /dev/null
+++ b/generated/pigweed/for_review_only/buildbucket/ci/sample-project-envtest-windows.textproto
@@ -0,0 +1,67 @@
+# Auto-generated by lucicfg.
+# Do not modify manually.
+#
+# For the schema of this file, see Bucket message:
+#   https://luci-config.appspot.com/schemas/projects:buildbucket.cfg
+
+name: "ci"
+acls {
+  group: "all"
+}
+acls {
+  role: SCHEDULER
+  identity: "user:luci-scheduler@appspot.gserviceaccount.com"
+}
+acls {
+  role: SCHEDULER
+  identity: "user:pigweed-ci-builder@pigweed.google.com.iam.gserviceaccount.com"
+}
+swarming {
+  builders {
+    name: "sample-project-envtest-windows"
+    swarming_host: "chromium-swarm.appspot.com"
+    dimensions: "cores:16"
+    dimensions: "cpu:x64|x86-64"
+    dimensions: "os:Windows-10"
+    dimensions: "pool:luci.pigweed.ci"
+    exe {
+      cipd_package: "pigweed/infra/recipe_bundles/pigweed.googlesource.com/infra/recipes"
+      cipd_version: "refs/heads/main"
+      cmd: "luciexe"
+    }
+    properties:
+      '{'
+      '  "$pigweed/checkout": {'
+      '    "branch": "main",'
+      '    "equivalent_remotes": [],'
+      '    "match_branch": true,'
+      '    "remote": "https://pigweed.googlesource.com/pigweed/sample_project",'
+      '    "use_repo": false'
+      '  },'
+      '  "command": "python -m pw_cli --directory $PW_PROJECT_ROOT --loglevel debug presubmit --step gn_gen_check",'
+      '  "dry_run": true,'
+      '  "recipe": "envtest"'
+      '}'
+    priority: 50
+    execution_timeout_secs: 3600
+    caches {
+      name: "builder"
+      path: "builder"
+    }
+    caches {
+      name: "pip"
+      path: "pip"
+      wait_for_warm_cache_secs: 60
+    }
+    service_account: "pigweed-ci-builder@pigweed.google.com.iam.gserviceaccount.com"
+    experimental: YES
+    experiments {
+      key: "luci.recipes.use_python3"
+      value: 100
+    }
+    experiments {
+      key: "luci.use_realms"
+      value: 100
+    }
+  }
+}
diff --git a/generated/pigweed/for_review_only/buildbucket/ci/sample-project-lintformat.textproto b/generated/pigweed/for_review_only/buildbucket/ci/sample-project-lintformat.textproto
new file mode 100644
index 0000000..d745fbe
--- /dev/null
+++ b/generated/pigweed/for_review_only/buildbucket/ci/sample-project-lintformat.textproto
@@ -0,0 +1,77 @@
+# Auto-generated by lucicfg.
+# Do not modify manually.
+#
+# For the schema of this file, see Bucket message:
+#   https://luci-config.appspot.com/schemas/projects:buildbucket.cfg
+
+name: "ci"
+acls {
+  group: "all"
+}
+acls {
+  role: SCHEDULER
+  identity: "user:luci-scheduler@appspot.gserviceaccount.com"
+}
+acls {
+  role: SCHEDULER
+  identity: "user:pigweed-ci-builder@pigweed.google.com.iam.gserviceaccount.com"
+}
+swarming {
+  builders {
+    name: "sample-project-lintformat"
+    swarming_host: "chromium-swarm.appspot.com"
+    dimensions: "cores:16"
+    dimensions: "cpu:x64|x86-64"
+    dimensions: "os:Debian"
+    dimensions: "pool:luci.pigweed.ci"
+    exe {
+      cipd_package: "pigweed/infra/recipe_bundles/pigweed.googlesource.com/infra/recipes"
+      cipd_version: "refs/heads/main"
+      cmd: "luciexe"
+    }
+    properties:
+      '{'
+      '  "$pigweed/checkout": {'
+      '    "branch": "main",'
+      '    "equivalent_remotes": [],'
+      '    "match_branch": true,'
+      '    "remote": "https://pigweed.googlesource.com/pigweed/sample_project",'
+      '    "use_repo": false'
+      '  },'
+      '  "$pigweed/environment": {'
+      '    "config_file": "env_setup.json",'
+      '    "relative_pigweed_root": "third_party/pigweed",'
+      '    "root_variable_name": "SAMPLE_PROJECT_ROOT"'
+      '  },'
+      '  "$pigweed/pw_presubmit": {'
+      '    "program": ['
+      '      "lintformat"'
+      '    ]'
+      '  },'
+      '  "program": ['
+      '    "lintformat"'
+      '  ],'
+      '  "recipe": "pw_presubmit"'
+      '}'
+    priority: 40
+    execution_timeout_secs: 1500
+    caches {
+      name: "builder"
+      path: "builder"
+    }
+    caches {
+      name: "pip"
+      path: "pip"
+      wait_for_warm_cache_secs: 60
+    }
+    service_account: "pigweed-ci-builder@pigweed.google.com.iam.gserviceaccount.com"
+    experiments {
+      key: "luci.recipes.use_python3"
+      value: 100
+    }
+    experiments {
+      key: "luci.use_realms"
+      value: 100
+    }
+  }
+}
diff --git a/generated/pigweed/for_review_only/buildbucket/ci/sample-project-xref-generator.textproto b/generated/pigweed/for_review_only/buildbucket/ci/sample-project-xref-generator.textproto
new file mode 100644
index 0000000..fb2248b
--- /dev/null
+++ b/generated/pigweed/for_review_only/buildbucket/ci/sample-project-xref-generator.textproto
@@ -0,0 +1,70 @@
+# Auto-generated by lucicfg.
+# Do not modify manually.
+#
+# For the schema of this file, see Bucket message:
+#   https://luci-config.appspot.com/schemas/projects:buildbucket.cfg
+
+name: "ci"
+acls {
+  group: "all"
+}
+acls {
+  role: SCHEDULER
+  identity: "user:luci-scheduler@appspot.gserviceaccount.com"
+}
+acls {
+  role: SCHEDULER
+  identity: "user:pigweed-ci-builder@pigweed.google.com.iam.gserviceaccount.com"
+}
+swarming {
+  builders {
+    name: "sample-project-xref-generator"
+    swarming_host: "chromium-swarm.appspot.com"
+    dimensions: "cores:16"
+    dimensions: "cpu:x64|x86-64"
+    dimensions: "os:Debian"
+    dimensions: "pool:luci.pigweed.ci"
+    exe {
+      cipd_package: "pigweed/infra/recipe_bundles/pigweed.googlesource.com/infra/recipes"
+      cipd_version: "refs/heads/main"
+      cmd: "luciexe"
+    }
+    properties:
+      '{'
+      '  "$pigweed/checkout": {'
+      '    "branch": "main",'
+      '    "equivalent_remotes": [],'
+      '    "match_branch": true,'
+      '    "remote": "https://pigweed.googlesource.com/pigweed/sample_project",'
+      '    "use_repo": false'
+      '  },'
+      '  "$pigweed/environment": {'
+      '    "config_file": "env_setup.json",'
+      '    "relative_pigweed_root": "third_party/pigweed",'
+      '    "root_variable_name": "SAMPLE_PROJECT_ROOT"'
+      '  },'
+      '  "dry_run": false,'
+      '  "recipe": "xrefs"'
+      '}'
+    priority: 40
+    execution_timeout_secs: 3600
+    caches {
+      name: "builder"
+      path: "builder"
+    }
+    caches {
+      name: "pip"
+      path: "pip"
+      wait_for_warm_cache_secs: 60
+    }
+    service_account: "pigweed-kythe@pigweed.google.com.iam.gserviceaccount.com"
+    experiments {
+      key: "luci.recipes.use_python3"
+      value: 100
+    }
+    experiments {
+      key: "luci.use_realms"
+      value: 100
+    }
+  }
+}
diff --git a/generated/pigweed/for_review_only/buildbucket/roll/auto-submit-pigweed-low.textproto b/generated/pigweed/for_review_only/buildbucket/roll/auto-submit-pigweed-low.textproto
new file mode 100644
index 0000000..434b765
--- /dev/null
+++ b/generated/pigweed/for_review_only/buildbucket/roll/auto-submit-pigweed-low.textproto
@@ -0,0 +1,58 @@
+# Auto-generated by lucicfg.
+# Do not modify manually.
+#
+# For the schema of this file, see Bucket message:
+#   https://luci-config.appspot.com/schemas/projects:buildbucket.cfg
+
+name: "roll"
+acls {
+  group: "all"
+}
+acls {
+  role: SCHEDULER
+  identity: "user:luci-scheduler@appspot.gserviceaccount.com"
+}
+acls {
+  role: SCHEDULER
+  group: "project-pigweed-committers"
+}
+swarming {
+  builders {
+    name: "auto-submit-pigweed-low"
+    swarming_host: "chromium-swarm.appspot.com"
+    dimensions: "60:cores:2"
+    dimensions: "cpu:x64|x86-64"
+    dimensions: "os:Debian"
+    dimensions: "pool:luci.pigweed.ci"
+    exe {
+      cipd_package: "pigweed/infra/recipe_bundles/pigweed.googlesource.com/infra/recipes"
+      cipd_version: "refs/heads/main"
+      cmd: "luciexe"
+    }
+    properties:
+      '{'
+      '  "$fuchsia/gerrit_auto_submit": {'
+      '    "auto_submit_label": "Pigweed-Auto-Submit",'
+      '    "gerrit_host": "pigweed-review.googlesource.com",'
+      '    "tree_status_host": null'
+      '  },'
+      '  "dry_run": false,'
+      '  "recipe": "gerrit_auto_submit"'
+      '}'
+    priority: 50
+    execution_timeout_secs: 300
+    caches {
+      name: "builder"
+      path: "builder"
+    }
+    service_account: "auto-submit@pigweed.google.com.iam.gserviceaccount.com"
+    experiments {
+      key: "luci.recipes.use_python3"
+      value: 100
+    }
+    experiments {
+      key: "luci.use_realms"
+      value: 100
+    }
+  }
+}
diff --git a/generated/pigweed/for_review_only/buildbucket/roll/auto-submit-pigweed.textproto b/generated/pigweed/for_review_only/buildbucket/roll/auto-submit-pigweed.textproto
new file mode 100644
index 0000000..bdf5f3e
--- /dev/null
+++ b/generated/pigweed/for_review_only/buildbucket/roll/auto-submit-pigweed.textproto
@@ -0,0 +1,58 @@
+# Auto-generated by lucicfg.
+# Do not modify manually.
+#
+# For the schema of this file, see Bucket message:
+#   https://luci-config.appspot.com/schemas/projects:buildbucket.cfg
+
+name: "roll"
+acls {
+  group: "all"
+}
+acls {
+  role: SCHEDULER
+  identity: "user:luci-scheduler@appspot.gserviceaccount.com"
+}
+acls {
+  role: SCHEDULER
+  group: "project-pigweed-committers"
+}
+swarming {
+  builders {
+    name: "auto-submit-pigweed"
+    swarming_host: "chromium-swarm.appspot.com"
+    dimensions: "60:cores:2"
+    dimensions: "cpu:x64|x86-64"
+    dimensions: "os:Debian"
+    dimensions: "pool:luci.pigweed.ci"
+    exe {
+      cipd_package: "pigweed/infra/recipe_bundles/pigweed.googlesource.com/infra/recipes"
+      cipd_version: "refs/heads/main"
+      cmd: "luciexe"
+    }
+    properties:
+      '{'
+      '  "$fuchsia/gerrit_auto_submit": {'
+      '    "auto_submit_label": "Pigweed-Auto-Submit",'
+      '    "gerrit_host": "pigweed-review.googlesource.com",'
+      '    "tree_status_host": null'
+      '  },'
+      '  "dry_run": false,'
+      '  "recipe": "gerrit_auto_submit"'
+      '}'
+    priority: 30
+    execution_timeout_secs: 300
+    caches {
+      name: "builder"
+      path: "builder"
+    }
+    service_account: "auto-submit@pigweed.google.com.iam.gserviceaccount.com"
+    experiments {
+      key: "luci.recipes.use_python3"
+      value: 100
+    }
+    experiments {
+      key: "luci.use_realms"
+      value: 100
+    }
+  }
+}
diff --git a/generated/pigweed/for_review_only/buildbucket/roll/bloaty-embedded-roller.textproto b/generated/pigweed/for_review_only/buildbucket/roll/bloaty-embedded-roller.textproto
new file mode 100644
index 0000000..205d17f
--- /dev/null
+++ b/generated/pigweed/for_review_only/buildbucket/roll/bloaty-embedded-roller.textproto
@@ -0,0 +1,68 @@
+# Auto-generated by lucicfg.
+# Do not modify manually.
+#
+# For the schema of this file, see Bucket message:
+#   https://luci-config.appspot.com/schemas/projects:buildbucket.cfg
+
+name: "roll"
+acls {
+  group: "all"
+}
+acls {
+  role: SCHEDULER
+  identity: "user:luci-scheduler@appspot.gserviceaccount.com"
+}
+acls {
+  role: SCHEDULER
+  group: "project-pigweed-committers"
+}
+swarming {
+  builders {
+    name: "bloaty-embedded-roller"
+    swarming_host: "chromium-swarm.appspot.com"
+    dimensions: "1800:cores:2"
+    dimensions: "cpu:x64|x86-64"
+    dimensions: "os:Debian"
+    dimensions: "pool:luci.pigweed.ci"
+    exe {
+      cipd_package: "pigweed/infra/recipe_bundles/pigweed.googlesource.com/infra/recipes"
+      cipd_version: "refs/heads/main"
+      cmd: "luciexe"
+    }
+    properties:
+      '{'
+      '  "$pigweed/checkout": {'
+      '    "branch": "main",'
+      '    "equivalent_remotes": [],'
+      '    "match_branch": true,'
+      '    "remote": "https://pigweed.googlesource.com/pigweed/pigweed",'
+      '    "use_repo": false'
+      '  },'
+      '  "allow_mismatched_refs": false,'
+      '  "bot_commit": true,'
+      '  "cipd_json_path": "pw_env_setup/py/pw_env_setup/cipd_setup/pigweed.json",'
+      '  "dry_run": false,'
+      '  "package_name": "bloaty-embedded",'
+      '  "package_spec": "pigweed/third_party/bloaty-embedded/${platform}",'
+      '  "recipe": "cipd_roller",'
+      '  "ref": "latest",'
+      '  "tag": "git_revision"'
+      '}'
+    priority: 40
+    execution_timeout_secs: 7800
+    caches {
+      name: "builder"
+      path: "builder"
+    }
+    service_account: "pigweed-roller@pigweed.google.com.iam.gserviceaccount.com"
+    experimental: NO
+    experiments {
+      key: "luci.recipes.use_python3"
+      value: 100
+    }
+    experiments {
+      key: "luci.use_realms"
+      value: 100
+    }
+  }
+}
diff --git a/generated/pigweed/for_review_only/buildbucket/roll/buildifier-roller.textproto b/generated/pigweed/for_review_only/buildbucket/roll/buildifier-roller.textproto
new file mode 100644
index 0000000..ed31413
--- /dev/null
+++ b/generated/pigweed/for_review_only/buildbucket/roll/buildifier-roller.textproto
@@ -0,0 +1,68 @@
+# Auto-generated by lucicfg.
+# Do not modify manually.
+#
+# For the schema of this file, see Bucket message:
+#   https://luci-config.appspot.com/schemas/projects:buildbucket.cfg
+
+name: "roll"
+acls {
+  group: "all"
+}
+acls {
+  role: SCHEDULER
+  identity: "user:luci-scheduler@appspot.gserviceaccount.com"
+}
+acls {
+  role: SCHEDULER
+  group: "project-pigweed-committers"
+}
+swarming {
+  builders {
+    name: "buildifier-roller"
+    swarming_host: "chromium-swarm.appspot.com"
+    dimensions: "1800:cores:2"
+    dimensions: "cpu:x64|x86-64"
+    dimensions: "os:Debian"
+    dimensions: "pool:luci.pigweed.ci"
+    exe {
+      cipd_package: "pigweed/infra/recipe_bundles/pigweed.googlesource.com/infra/recipes"
+      cipd_version: "refs/heads/main"
+      cmd: "luciexe"
+    }
+    properties:
+      '{'
+      '  "$pigweed/checkout": {'
+      '    "branch": "main",'
+      '    "equivalent_remotes": [],'
+      '    "match_branch": true,'
+      '    "remote": "https://pigweed.googlesource.com/pigweed/pigweed",'
+      '    "use_repo": false'
+      '  },'
+      '  "allow_mismatched_refs": false,'
+      '  "bot_commit": true,'
+      '  "cipd_json_path": "pw_env_setup/py/pw_env_setup/cipd_setup/pigweed.json",'
+      '  "dry_run": false,'
+      '  "package_name": "buildifier",'
+      '  "package_spec": "infra/3pp/tools/buildifier/${platform}",'
+      '  "recipe": "cipd_roller",'
+      '  "ref": "latest",'
+      '  "tag": "version"'
+      '}'
+    priority: 40
+    execution_timeout_secs: 7800
+    caches {
+      name: "builder"
+      path: "builder"
+    }
+    service_account: "pigweed-roller@pigweed.google.com.iam.gserviceaccount.com"
+    experimental: NO
+    experiments {
+      key: "luci.recipes.use_python3"
+      value: 100
+    }
+    experiments {
+      key: "luci.use_realms"
+      value: 100
+    }
+  }
+}
diff --git a/generated/pigweed/for_review_only/buildbucket/roll/clang-roller.textproto b/generated/pigweed/for_review_only/buildbucket/roll/clang-roller.textproto
new file mode 100644
index 0000000..9344771
--- /dev/null
+++ b/generated/pigweed/for_review_only/buildbucket/roll/clang-roller.textproto
@@ -0,0 +1,68 @@
+# Auto-generated by lucicfg.
+# Do not modify manually.
+#
+# For the schema of this file, see Bucket message:
+#   https://luci-config.appspot.com/schemas/projects:buildbucket.cfg
+
+name: "roll"
+acls {
+  group: "all"
+}
+acls {
+  role: SCHEDULER
+  identity: "user:luci-scheduler@appspot.gserviceaccount.com"
+}
+acls {
+  role: SCHEDULER
+  group: "project-pigweed-committers"
+}
+swarming {
+  builders {
+    name: "clang-roller"
+    swarming_host: "chromium-swarm.appspot.com"
+    dimensions: "1800:cores:2"
+    dimensions: "cpu:x64|x86-64"
+    dimensions: "os:Debian"
+    dimensions: "pool:luci.pigweed.ci"
+    exe {
+      cipd_package: "pigweed/infra/recipe_bundles/pigweed.googlesource.com/infra/recipes"
+      cipd_version: "refs/heads/main"
+      cmd: "luciexe"
+    }
+    properties:
+      '{'
+      '  "$pigweed/checkout": {'
+      '    "branch": "main",'
+      '    "equivalent_remotes": [],'
+      '    "match_branch": true,'
+      '    "remote": "https://pigweed.googlesource.com/pigweed/pigweed",'
+      '    "use_repo": false'
+      '  },'
+      '  "allow_mismatched_refs": false,'
+      '  "bot_commit": true,'
+      '  "cipd_json_path": "pw_env_setup/py/pw_env_setup/cipd_setup/pigweed.json",'
+      '  "dry_run": false,'
+      '  "package_name": "clang",'
+      '  "package_spec": "fuchsia/third_party/clang/${platform}",'
+      '  "recipe": "cipd_roller",'
+      '  "ref": "integration",'
+      '  "tag": "git_revision"'
+      '}'
+    priority: 40
+    execution_timeout_secs: 7800
+    caches {
+      name: "builder"
+      path: "builder"
+    }
+    service_account: "pigweed-roller@pigweed.google.com.iam.gserviceaccount.com"
+    experimental: NO
+    experiments {
+      key: "luci.recipes.use_python3"
+      value: 100
+    }
+    experiments {
+      key: "luci.use_realms"
+      value: 100
+    }
+  }
+}
diff --git a/generated/pigweed/for_review_only/buildbucket/roll/cmake-roller.textproto b/generated/pigweed/for_review_only/buildbucket/roll/cmake-roller.textproto
new file mode 100644
index 0000000..badb2d7
--- /dev/null
+++ b/generated/pigweed/for_review_only/buildbucket/roll/cmake-roller.textproto
@@ -0,0 +1,68 @@
+# Auto-generated by lucicfg.
+# Do not modify manually.
+#
+# For the schema of this file, see Bucket message:
+#   https://luci-config.appspot.com/schemas/projects:buildbucket.cfg
+
+name: "roll"
+acls {
+  group: "all"
+}
+acls {
+  role: SCHEDULER
+  identity: "user:luci-scheduler@appspot.gserviceaccount.com"
+}
+acls {
+  role: SCHEDULER
+  group: "project-pigweed-committers"
+}
+swarming {
+  builders {
+    name: "cmake-roller"
+    swarming_host: "chromium-swarm.appspot.com"
+    dimensions: "1800:cores:2"
+    dimensions: "cpu:x64|x86-64"
+    dimensions: "os:Debian"
+    dimensions: "pool:luci.pigweed.ci"
+    exe {
+      cipd_package: "pigweed/infra/recipe_bundles/pigweed.googlesource.com/infra/recipes"
+      cipd_version: "refs/heads/main"
+      cmd: "luciexe"
+    }
+    properties:
+      '{'
+      '  "$pigweed/checkout": {'
+      '    "branch": "main",'
+      '    "equivalent_remotes": [],'
+      '    "match_branch": true,'
+      '    "remote": "https://pigweed.googlesource.com/pigweed/pigweed",'
+      '    "use_repo": false'
+      '  },'
+      '  "allow_mismatched_refs": false,'
+      '  "bot_commit": true,'
+      '  "cipd_json_path": "pw_env_setup/py/pw_env_setup/cipd_setup/pigweed.json",'
+      '  "dry_run": false,'
+      '  "package_name": "cmake",'
+      '  "package_spec": "infra/cmake/${platform}",'
+      '  "recipe": "cipd_roller",'
+      '  "ref": "latest",'
+      '  "tag": "version"'
+      '}'
+    priority: 40
+    execution_timeout_secs: 7800
+    caches {
+      name: "builder"
+      path: "builder"
+    }
+    service_account: "pigweed-roller@pigweed.google.com.iam.gserviceaccount.com"
+    experimental: NO
+    experiments {
+      key: "luci.recipes.use_python3"
+      value: 100
+    }
+    experiments {
+      key: "luci.use_realms"
+      value: 100
+    }
+  }
+}
diff --git a/generated/pigweed/for_review_only/buildbucket/roll/gcc-arm-none-eabi-roller.textproto b/generated/pigweed/for_review_only/buildbucket/roll/gcc-arm-none-eabi-roller.textproto
new file mode 100644
index 0000000..56b9b42
--- /dev/null
+++ b/generated/pigweed/for_review_only/buildbucket/roll/gcc-arm-none-eabi-roller.textproto
@@ -0,0 +1,68 @@
+# Auto-generated by lucicfg.
+# Do not modify manually.
+#
+# For the schema of this file, see Bucket message:
+#   https://luci-config.appspot.com/schemas/projects:buildbucket.cfg
+
+name: "roll"
+acls {
+  group: "all"
+}
+acls {
+  role: SCHEDULER
+  identity: "user:luci-scheduler@appspot.gserviceaccount.com"
+}
+acls {
+  role: SCHEDULER
+  group: "project-pigweed-committers"
+}
+swarming {
+  builders {
+    name: "gcc-arm-none-eabi-roller"
+    swarming_host: "chromium-swarm.appspot.com"
+    dimensions: "1800:cores:2"
+    dimensions: "cpu:x64|x86-64"
+    dimensions: "os:Debian"
+    dimensions: "pool:luci.pigweed.ci"
+    exe {
+      cipd_package: "pigweed/infra/recipe_bundles/pigweed.googlesource.com/infra/recipes"
+      cipd_version: "refs/heads/main"
+      cmd: "luciexe"
+    }
+    properties:
+      '{'
+      '  "$pigweed/checkout": {'
+      '    "branch": "main",'
+      '    "equivalent_remotes": [],'
+      '    "match_branch": true,'
+      '    "remote": "https://pigweed.googlesource.com/pigweed/pigweed",'
+      '    "use_repo": false'
+      '  },'
+      '  "allow_mismatched_refs": false,'
+      '  "bot_commit": true,'
+      '  "cipd_json_path": "pw_env_setup/py/pw_env_setup/cipd_setup/pigweed.json",'
+      '  "dry_run": true,'
+      '  "package_name": "gcc-arm-none-eabi",'
+      '  "package_spec": "pigweed/third_party/gcc-arm-none-eabi/${platform}",'
+      '  "recipe": "cipd_roller",'
+      '  "ref": "latest",'
+      '  "tag": "version"'
+      '}'
+    priority: 40
+    execution_timeout_secs: 7800
+    caches {
+      name: "builder"
+      path: "builder"
+    }
+    service_account: "pigweed-roller@pigweed.google.com.iam.gserviceaccount.com"
+    experimental: NO
+    experiments {
+      key: "luci.recipes.use_python3"
+      value: 100
+    }
+    experiments {
+      key: "luci.use_realms"
+      value: 100
+    }
+  }
+}
diff --git a/generated/pigweed/for_review_only/buildbucket/roll/gn-roller.textproto b/generated/pigweed/for_review_only/buildbucket/roll/gn-roller.textproto
new file mode 100644
index 0000000..33e78e4
--- /dev/null
+++ b/generated/pigweed/for_review_only/buildbucket/roll/gn-roller.textproto
@@ -0,0 +1,68 @@
+# Auto-generated by lucicfg.
+# Do not modify manually.
+#
+# For the schema of this file, see Bucket message:
+#   https://luci-config.appspot.com/schemas/projects:buildbucket.cfg
+
+name: "roll"
+acls {
+  group: "all"
+}
+acls {
+  role: SCHEDULER
+  identity: "user:luci-scheduler@appspot.gserviceaccount.com"
+}
+acls {
+  role: SCHEDULER
+  group: "project-pigweed-committers"
+}
+swarming {
+  builders {
+    name: "gn-roller"
+    swarming_host: "chromium-swarm.appspot.com"
+    dimensions: "1800:cores:2"
+    dimensions: "cpu:x64|x86-64"
+    dimensions: "os:Debian"
+    dimensions: "pool:luci.pigweed.ci"
+    exe {
+      cipd_package: "pigweed/infra/recipe_bundles/pigweed.googlesource.com/infra/recipes"
+      cipd_version: "refs/heads/main"
+      cmd: "luciexe"
+    }
+    properties:
+      '{'
+      '  "$pigweed/checkout": {'
+      '    "branch": "main",'
+      '    "equivalent_remotes": [],'
+      '    "match_branch": true,'
+      '    "remote": "https://pigweed.googlesource.com/pigweed/pigweed",'
+      '    "use_repo": false'
+      '  },'
+      '  "allow_mismatched_refs": false,'
+      '  "bot_commit": true,'
+      '  "cipd_json_path": "pw_env_setup/py/pw_env_setup/cipd_setup/pigweed.json",'
+      '  "dry_run": false,'
+      '  "package_name": "gn",'
+      '  "package_spec": "gn/gn/${platform}",'
+      '  "recipe": "cipd_roller",'
+      '  "ref": "latest",'
+      '  "tag": "git_revision"'
+      '}'
+    priority: 40
+    execution_timeout_secs: 7800
+    caches {
+      name: "builder"
+      path: "builder"
+    }
+    service_account: "pigweed-roller@pigweed.google.com.iam.gserviceaccount.com"
+    experimental: NO
+    experiments {
+      key: "luci.recipes.use_python3"
+      value: 100
+    }
+    experiments {
+      key: "luci.use_realms"
+      value: 100
+    }
+  }
+}
diff --git a/generated/pigweed/for_review_only/buildbucket/roll/go-roller.textproto b/generated/pigweed/for_review_only/buildbucket/roll/go-roller.textproto
new file mode 100644
index 0000000..2524419
--- /dev/null
+++ b/generated/pigweed/for_review_only/buildbucket/roll/go-roller.textproto
@@ -0,0 +1,68 @@
+# Auto-generated by lucicfg.
+# Do not modify manually.
+#
+# For the schema of this file, see Bucket message:
+#   https://luci-config.appspot.com/schemas/projects:buildbucket.cfg
+
+name: "roll"
+acls {
+  group: "all"
+}
+acls {
+  role: SCHEDULER
+  identity: "user:luci-scheduler@appspot.gserviceaccount.com"
+}
+acls {
+  role: SCHEDULER
+  group: "project-pigweed-committers"
+}
+swarming {
+  builders {
+    name: "go-roller"
+    swarming_host: "chromium-swarm.appspot.com"
+    dimensions: "1800:cores:2"
+    dimensions: "cpu:x64|x86-64"
+    dimensions: "os:Debian"
+    dimensions: "pool:luci.pigweed.ci"
+    exe {
+      cipd_package: "pigweed/infra/recipe_bundles/pigweed.googlesource.com/infra/recipes"
+      cipd_version: "refs/heads/main"
+      cmd: "luciexe"
+    }
+    properties:
+      '{'
+      '  "$pigweed/checkout": {'
+      '    "branch": "main",'
+      '    "equivalent_remotes": [],'
+      '    "match_branch": true,'
+      '    "remote": "https://pigweed.googlesource.com/pigweed/pigweed",'
+      '    "use_repo": false'
+      '  },'
+      '  "allow_mismatched_refs": false,'
+      '  "bot_commit": true,'
+      '  "cipd_json_path": "pw_env_setup/py/pw_env_setup/cipd_setup/pigweed.json",'
+      '  "dry_run": false,'
+      '  "package_name": "go",'
+      '  "package_spec": "infra/3pp/tools/go/${platform}",'
+      '  "recipe": "cipd_roller",'
+      '  "ref": "latest",'
+      '  "tag": "version"'
+      '}'
+    priority: 40
+    execution_timeout_secs: 7800
+    caches {
+      name: "builder"
+      path: "builder"
+    }
+    service_account: "pigweed-roller@pigweed.google.com.iam.gserviceaccount.com"
+    experimental: NO
+    experiments {
+      key: "luci.recipes.use_python3"
+      value: 100
+    }
+    experiments {
+      key: "luci.use_realms"
+      value: 100
+    }
+  }
+}
diff --git a/generated/pigweed/for_review_only/buildbucket/roll/host-tools-roller.textproto b/generated/pigweed/for_review_only/buildbucket/roll/host-tools-roller.textproto
new file mode 100644
index 0000000..9a7547b
--- /dev/null
+++ b/generated/pigweed/for_review_only/buildbucket/roll/host-tools-roller.textproto
@@ -0,0 +1,68 @@
+# Auto-generated by lucicfg.
+# Do not modify manually.
+#
+# For the schema of this file, see Bucket message:
+#   https://luci-config.appspot.com/schemas/projects:buildbucket.cfg
+
+name: "roll"
+acls {
+  group: "all"
+}
+acls {
+  role: SCHEDULER
+  identity: "user:luci-scheduler@appspot.gserviceaccount.com"
+}
+acls {
+  role: SCHEDULER
+  group: "project-pigweed-committers"
+}
+swarming {
+  builders {
+    name: "host-tools-roller"
+    swarming_host: "chromium-swarm.appspot.com"
+    dimensions: "1800:cores:2"
+    dimensions: "cpu:x64|x86-64"
+    dimensions: "os:Debian"
+    dimensions: "pool:luci.pigweed.ci"
+    exe {
+      cipd_package: "pigweed/infra/recipe_bundles/pigweed.googlesource.com/infra/recipes"
+      cipd_version: "refs/heads/main"
+      cmd: "luciexe"
+    }
+    properties:
+      '{'
+      '  "$pigweed/checkout": {'
+      '    "branch": "main",'
+      '    "equivalent_remotes": [],'
+      '    "match_branch": true,'
+      '    "remote": "https://pigweed.googlesource.com/pigweed/pigweed",'
+      '    "use_repo": false'
+      '  },'
+      '  "allow_mismatched_refs": false,'
+      '  "bot_commit": true,'
+      '  "cipd_json_path": "pw_env_setup/py/pw_env_setup/cipd_setup/pigweed.json",'
+      '  "dry_run": false,'
+      '  "package_name": "host_tools",'
+      '  "package_spec": "pigweed/host_tools/${platform}",'
+      '  "recipe": "cipd_roller",'
+      '  "ref": "latest",'
+      '  "tag": "git_revision"'
+      '}'
+    priority: 40
+    execution_timeout_secs: 7800
+    caches {
+      name: "builder"
+      path: "builder"
+    }
+    service_account: "pigweed-roller@pigweed.google.com.iam.gserviceaccount.com"
+    experimental: NO
+    experiments {
+      key: "luci.recipes.use_python3"
+      value: 100
+    }
+    experiments {
+      key: "luci.use_realms"
+      value: 100
+    }
+  }
+}
diff --git a/generated/pigweed/for_review_only/buildbucket/roll/kythe-libs-roller.textproto b/generated/pigweed/for_review_only/buildbucket/roll/kythe-libs-roller.textproto
new file mode 100644
index 0000000..59d096e
--- /dev/null
+++ b/generated/pigweed/for_review_only/buildbucket/roll/kythe-libs-roller.textproto
@@ -0,0 +1,68 @@
+# Auto-generated by lucicfg.
+# Do not modify manually.
+#
+# For the schema of this file, see Bucket message:
+#   https://luci-config.appspot.com/schemas/projects:buildbucket.cfg
+
+name: "roll"
+acls {
+  group: "all"
+}
+acls {
+  role: SCHEDULER
+  identity: "user:luci-scheduler@appspot.gserviceaccount.com"
+}
+acls {
+  role: SCHEDULER
+  group: "project-pigweed-committers"
+}
+swarming {
+  builders {
+    name: "kythe-libs-roller"
+    swarming_host: "chromium-swarm.appspot.com"
+    dimensions: "1800:cores:2"
+    dimensions: "cpu:x64|x86-64"
+    dimensions: "os:Debian"
+    dimensions: "pool:luci.pigweed.ci"
+    exe {
+      cipd_package: "pigweed/infra/recipe_bundles/pigweed.googlesource.com/infra/recipes"
+      cipd_version: "refs/heads/main"
+      cmd: "luciexe"
+    }
+    properties:
+      '{'
+      '  "$pigweed/checkout": {'
+      '    "branch": "main",'
+      '    "equivalent_remotes": [],'
+      '    "match_branch": true,'
+      '    "remote": "https://pigweed.googlesource.com/pigweed/pigweed",'
+      '    "use_repo": false'
+      '  },'
+      '  "allow_mismatched_refs": false,'
+      '  "bot_commit": true,'
+      '  "cipd_json_path": "pw_env_setup/py/pw_env_setup/cipd_setup/pigweed.json",'
+      '  "dry_run": false,'
+      '  "package_name": "kythe-libs",'
+      '  "package_spec": "fuchsia/third_party/kythe-libs/${platform}",'
+      '  "recipe": "cipd_roller",'
+      '  "ref": "latest",'
+      '  "tag": "version"'
+      '}'
+    priority: 40
+    execution_timeout_secs: 7800
+    caches {
+      name: "builder"
+      path: "builder"
+    }
+    service_account: "pigweed-roller@pigweed.google.com.iam.gserviceaccount.com"
+    experimental: NO
+    experiments {
+      key: "luci.recipes.use_python3"
+      value: 100
+    }
+    experiments {
+      key: "luci.use_realms"
+      value: 100
+    }
+  }
+}
diff --git a/generated/pigweed/for_review_only/buildbucket/roll/kythe-roller.textproto b/generated/pigweed/for_review_only/buildbucket/roll/kythe-roller.textproto
new file mode 100644
index 0000000..44d8ba3
--- /dev/null
+++ b/generated/pigweed/for_review_only/buildbucket/roll/kythe-roller.textproto
@@ -0,0 +1,68 @@
+# Auto-generated by lucicfg.
+# Do not modify manually.
+#
+# For the schema of this file, see Bucket message:
+#   https://luci-config.appspot.com/schemas/projects:buildbucket.cfg
+
+name: "roll"
+acls {
+  group: "all"
+}
+acls {
+  role: SCHEDULER
+  identity: "user:luci-scheduler@appspot.gserviceaccount.com"
+}
+acls {
+  role: SCHEDULER
+  group: "project-pigweed-committers"
+}
+swarming {
+  builders {
+    name: "kythe-roller"
+    swarming_host: "chromium-swarm.appspot.com"
+    dimensions: "1800:cores:2"
+    dimensions: "cpu:x64|x86-64"
+    dimensions: "os:Debian"
+    dimensions: "pool:luci.pigweed.ci"
+    exe {
+      cipd_package: "pigweed/infra/recipe_bundles/pigweed.googlesource.com/infra/recipes"
+      cipd_version: "refs/heads/main"
+      cmd: "luciexe"
+    }
+    properties:
+      '{'
+      '  "$pigweed/checkout": {'
+      '    "branch": "main",'
+      '    "equivalent_remotes": [],'
+      '    "match_branch": true,'
+      '    "remote": "https://pigweed.googlesource.com/pigweed/pigweed",'
+      '    "use_repo": false'
+      '  },'
+      '  "allow_mismatched_refs": false,'
+      '  "bot_commit": true,'
+      '  "cipd_json_path": "pw_env_setup/py/pw_env_setup/cipd_setup/pigweed.json",'
+      '  "dry_run": false,'
+      '  "package_name": "kythe",'
+      '  "package_spec": "fuchsia/third_party/kythe",'
+      '  "recipe": "cipd_roller",'
+      '  "ref": "latest",'
+      '  "tag": "version"'
+      '}'
+    priority: 40
+    execution_timeout_secs: 7800
+    caches {
+      name: "builder"
+      path: "builder"
+    }
+    service_account: "pigweed-roller@pigweed.google.com.iam.gserviceaccount.com"
+    experimental: NO
+    experiments {
+      key: "luci.recipes.use_python3"
+      value: 100
+    }
+    experiments {
+      key: "luci.use_realms"
+      value: 100
+    }
+  }
+}
diff --git a/generated/pigweed/for_review_only/buildbucket/roll/mingw64-roller.textproto b/generated/pigweed/for_review_only/buildbucket/roll/mingw64-roller.textproto
new file mode 100644
index 0000000..8c108fe
--- /dev/null
+++ b/generated/pigweed/for_review_only/buildbucket/roll/mingw64-roller.textproto
@@ -0,0 +1,68 @@
+# Auto-generated by lucicfg.
+# Do not modify manually.
+#
+# For the schema of this file, see Bucket message:
+#   https://luci-config.appspot.com/schemas/projects:buildbucket.cfg
+
+name: "roll"
+acls {
+  group: "all"
+}
+acls {
+  role: SCHEDULER
+  identity: "user:luci-scheduler@appspot.gserviceaccount.com"
+}
+acls {
+  role: SCHEDULER
+  group: "project-pigweed-committers"
+}
+swarming {
+  builders {
+    name: "mingw64-roller"
+    swarming_host: "chromium-swarm.appspot.com"
+    dimensions: "1800:cores:2"
+    dimensions: "cpu:x64|x86-64"
+    dimensions: "os:Debian"
+    dimensions: "pool:luci.pigweed.ci"
+    exe {
+      cipd_package: "pigweed/infra/recipe_bundles/pigweed.googlesource.com/infra/recipes"
+      cipd_version: "refs/heads/main"
+      cmd: "luciexe"
+    }
+    properties:
+      '{'
+      '  "$pigweed/checkout": {'
+      '    "branch": "main",'
+      '    "equivalent_remotes": [],'
+      '    "match_branch": true,'
+      '    "remote": "https://pigweed.googlesource.com/pigweed/pigweed",'
+      '    "use_repo": false'
+      '  },'
+      '  "allow_mismatched_refs": false,'
+      '  "bot_commit": true,'
+      '  "cipd_json_path": "pw_env_setup/py/pw_env_setup/cipd_setup/pigweed.json",'
+      '  "dry_run": false,'
+      '  "package_name": "mingw64",'
+      '  "package_spec": "pigweed/third_party/mingw64-x86_64-win32-seh/${platform}",'
+      '  "recipe": "cipd_roller",'
+      '  "ref": "latest",'
+      '  "tag": "version"'
+      '}'
+    priority: 40
+    execution_timeout_secs: 7800
+    caches {
+      name: "builder"
+      path: "builder"
+    }
+    service_account: "pigweed-roller@pigweed.google.com.iam.gserviceaccount.com"
+    experimental: NO
+    experiments {
+      key: "luci.recipes.use_python3"
+      value: 100
+    }
+    experiments {
+      key: "luci.use_realms"
+      value: 100
+    }
+  }
+}
diff --git a/generated/pigweed/for_review_only/buildbucket/roll/ninja-roller.textproto b/generated/pigweed/for_review_only/buildbucket/roll/ninja-roller.textproto
new file mode 100644
index 0000000..6bc10b5
--- /dev/null
+++ b/generated/pigweed/for_review_only/buildbucket/roll/ninja-roller.textproto
@@ -0,0 +1,68 @@
+# Auto-generated by lucicfg.
+# Do not modify manually.
+#
+# For the schema of this file, see Bucket message:
+#   https://luci-config.appspot.com/schemas/projects:buildbucket.cfg
+
+name: "roll"
+acls {
+  group: "all"
+}
+acls {
+  role: SCHEDULER
+  identity: "user:luci-scheduler@appspot.gserviceaccount.com"
+}
+acls {
+  role: SCHEDULER
+  group: "project-pigweed-committers"
+}
+swarming {
+  builders {
+    name: "ninja-roller"
+    swarming_host: "chromium-swarm.appspot.com"
+    dimensions: "1800:cores:2"
+    dimensions: "cpu:x64|x86-64"
+    dimensions: "os:Debian"
+    dimensions: "pool:luci.pigweed.ci"
+    exe {
+      cipd_package: "pigweed/infra/recipe_bundles/pigweed.googlesource.com/infra/recipes"
+      cipd_version: "refs/heads/main"
+      cmd: "luciexe"
+    }
+    properties:
+      '{'
+      '  "$pigweed/checkout": {'
+      '    "branch": "main",'
+      '    "equivalent_remotes": [],'
+      '    "match_branch": true,'
+      '    "remote": "https://pigweed.googlesource.com/pigweed/pigweed",'
+      '    "use_repo": false'
+      '  },'
+      '  "allow_mismatched_refs": false,'
+      '  "bot_commit": true,'
+      '  "cipd_json_path": "pw_env_setup/py/pw_env_setup/cipd_setup/pigweed.json",'
+      '  "dry_run": false,'
+      '  "package_name": "ninja",'
+      '  "package_spec": "infra/3pp/tools/ninja/${platform}",'
+      '  "recipe": "cipd_roller",'
+      '  "ref": "latest",'
+      '  "tag": "version"'
+      '}'
+    priority: 40
+    execution_timeout_secs: 7800
+    caches {
+      name: "builder"
+      path: "builder"
+    }
+    service_account: "pigweed-roller@pigweed.google.com.iam.gserviceaccount.com"
+    experimental: NO
+    experiments {
+      key: "luci.recipes.use_python3"
+      value: 100
+    }
+    experiments {
+      key: "luci.use_realms"
+      value: 100
+    }
+  }
+}
diff --git a/generated/pigweed/for_review_only/buildbucket/roll/opendice-boringssl-roller.textproto b/generated/pigweed/for_review_only/buildbucket/roll/opendice-boringssl-roller.textproto
new file mode 100644
index 0000000..1d6474f
--- /dev/null
+++ b/generated/pigweed/for_review_only/buildbucket/roll/opendice-boringssl-roller.textproto
@@ -0,0 +1,72 @@
+# Auto-generated by lucicfg.
+# Do not modify manually.
+#
+# For the schema of this file, see Bucket message:
+#   https://luci-config.appspot.com/schemas/projects:buildbucket.cfg
+
+name: "roll"
+acls {
+  group: "all"
+}
+acls {
+  role: SCHEDULER
+  identity: "user:luci-scheduler@appspot.gserviceaccount.com"
+}
+acls {
+  role: SCHEDULER
+  group: "project-pigweed-committers"
+}
+swarming {
+  builders {
+    name: "opendice-boringssl-roller"
+    swarming_host: "chromium-swarm.appspot.com"
+    dimensions: "1800:cores:2"
+    dimensions: "cpu:x64|x86-64"
+    dimensions: "os:Debian"
+    dimensions: "pool:luci.pigweed.ci"
+    exe {
+      cipd_package: "pigweed/infra/recipe_bundles/pigweed.googlesource.com/infra/recipes"
+      cipd_version: "refs/heads/main"
+      cmd: "luciexe"
+    }
+    properties:
+      '{'
+      '  "$pigweed/checkout": {'
+      '    "branch": "main",'
+      '    "equivalent_remotes": [],'
+      '    "match_branch": true,'
+      '    "remote": "https://pigweed.googlesource.com/open-dice",'
+      '    "use_repo": false'
+      '  },'
+      '  "$pigweed/cq_deps": {'
+      '    "disabled": true'
+      '  },'
+      '  "always_cc": false,'
+      '  "bot_commit": true,'
+      '  "cc_authors_on_rolls": false,'
+      '  "cc_domains": [],'
+      '  "cc_reviewers_on_rolls": false,'
+      '  "dry_run": false,'
+      '  "recipe": "submodule_roller",'
+      '  "submodule_branch": null,'
+      '  "submodule_name": "boringssl",'
+      '  "submodule_path": "third_party/boringssl/src"'
+      '}'
+    priority: 40
+    execution_timeout_secs: 7200
+    caches {
+      name: "builder"
+      path: "builder"
+    }
+    service_account: "pigweed-integration-roller@pigweed.google.com.iam.gserviceaccount.com"
+    experimental: NO
+    experiments {
+      key: "luci.recipes.use_python3"
+      value: 100
+    }
+    experiments {
+      key: "luci.use_realms"
+      value: 100
+    }
+  }
+}
diff --git a/generated/pigweed/for_review_only/buildbucket/roll/opendice-pigweed-roller.textproto b/generated/pigweed/for_review_only/buildbucket/roll/opendice-pigweed-roller.textproto
new file mode 100644
index 0000000..0bd7970
--- /dev/null
+++ b/generated/pigweed/for_review_only/buildbucket/roll/opendice-pigweed-roller.textproto
@@ -0,0 +1,72 @@
+# Auto-generated by lucicfg.
+# Do not modify manually.
+#
+# For the schema of this file, see Bucket message:
+#   https://luci-config.appspot.com/schemas/projects:buildbucket.cfg
+
+name: "roll"
+acls {
+  group: "all"
+}
+acls {
+  role: SCHEDULER
+  identity: "user:luci-scheduler@appspot.gserviceaccount.com"
+}
+acls {
+  role: SCHEDULER
+  group: "project-pigweed-committers"
+}
+swarming {
+  builders {
+    name: "opendice-pigweed-roller"
+    swarming_host: "chromium-swarm.appspot.com"
+    dimensions: "1800:cores:2"
+    dimensions: "cpu:x64|x86-64"
+    dimensions: "os:Debian"
+    dimensions: "pool:luci.pigweed.ci"
+    exe {
+      cipd_package: "pigweed/infra/recipe_bundles/pigweed.googlesource.com/infra/recipes"
+      cipd_version: "refs/heads/main"
+      cmd: "luciexe"
+    }
+    properties:
+      '{'
+      '  "$pigweed/checkout": {'
+      '    "branch": "main",'
+      '    "equivalent_remotes": [],'
+      '    "match_branch": true,'
+      '    "remote": "https://pigweed.googlesource.com/open-dice",'
+      '    "use_repo": false'
+      '  },'
+      '  "$pigweed/cq_deps": {'
+      '    "ignore_errors": true'
+      '  },'
+      '  "always_cc": false,'
+      '  "bot_commit": true,'
+      '  "cc_authors_on_rolls": false,'
+      '  "cc_domains": [],'
+      '  "cc_reviewers_on_rolls": false,'
+      '  "dry_run": false,'
+      '  "recipe": "submodule_roller",'
+      '  "submodule_branch": null,'
+      '  "submodule_name": "pigweed",'
+      '  "submodule_path": "third_party/pigweed/src"'
+      '}'
+    priority: 40
+    execution_timeout_secs: 7200
+    caches {
+      name: "builder"
+      path: "builder"
+    }
+    service_account: "pigweed-integration-roller@pigweed.google.com.iam.gserviceaccount.com"
+    experimental: NO
+    experiments {
+      key: "luci.recipes.use_python3"
+      value: 100
+    }
+    experiments {
+      key: "luci.use_realms"
+      value: 100
+    }
+  }
+}
diff --git a/generated/pigweed/for_review_only/buildbucket/roll/openocd-roller.textproto b/generated/pigweed/for_review_only/buildbucket/roll/openocd-roller.textproto
new file mode 100644
index 0000000..c567a7a
--- /dev/null
+++ b/generated/pigweed/for_review_only/buildbucket/roll/openocd-roller.textproto
@@ -0,0 +1,68 @@
+# Auto-generated by lucicfg.
+# Do not modify manually.
+#
+# For the schema of this file, see Bucket message:
+#   https://luci-config.appspot.com/schemas/projects:buildbucket.cfg
+
+name: "roll"
+acls {
+  group: "all"
+}
+acls {
+  role: SCHEDULER
+  identity: "user:luci-scheduler@appspot.gserviceaccount.com"
+}
+acls {
+  role: SCHEDULER
+  group: "project-pigweed-committers"
+}
+swarming {
+  builders {
+    name: "openocd-roller"
+    swarming_host: "chromium-swarm.appspot.com"
+    dimensions: "1800:cores:2"
+    dimensions: "cpu:x64|x86-64"
+    dimensions: "os:Debian"
+    dimensions: "pool:luci.pigweed.ci"
+    exe {
+      cipd_package: "pigweed/infra/recipe_bundles/pigweed.googlesource.com/infra/recipes"
+      cipd_version: "refs/heads/main"
+      cmd: "luciexe"
+    }
+    properties:
+      '{'
+      '  "$pigweed/checkout": {'
+      '    "branch": "main",'
+      '    "equivalent_remotes": [],'
+      '    "match_branch": true,'
+      '    "remote": "https://pigweed.googlesource.com/pigweed/pigweed",'
+      '    "use_repo": false'
+      '  },'
+      '  "allow_mismatched_refs": false,'
+      '  "bot_commit": true,'
+      '  "cipd_json_path": "pw_env_setup/py/pw_env_setup/cipd_setup/pigweed.json",'
+      '  "dry_run": false,'
+      '  "package_name": "openocd",'
+      '  "package_spec": "pigweed/third_party/openocd/${platform}",'
+      '  "recipe": "cipd_roller",'
+      '  "ref": "latest",'
+      '  "tag": "git_revision"'
+      '}'
+    priority: 40
+    execution_timeout_secs: 7800
+    caches {
+      name: "builder"
+      path: "builder"
+    }
+    service_account: "pigweed-roller@pigweed.google.com.iam.gserviceaccount.com"
+    experimental: NO
+    experiments {
+      key: "luci.recipes.use_python3"
+      value: 100
+    }
+    experiments {
+      key: "luci.use_realms"
+      value: 100
+    }
+  }
+}
diff --git a/generated/pigweed/for_review_only/buildbucket/roll/pigweed-experimental-roller.textproto b/generated/pigweed/for_review_only/buildbucket/roll/pigweed-experimental-roller.textproto
new file mode 100644
index 0000000..637391f
--- /dev/null
+++ b/generated/pigweed/for_review_only/buildbucket/roll/pigweed-experimental-roller.textproto
@@ -0,0 +1,74 @@
+# Auto-generated by lucicfg.
+# Do not modify manually.
+#
+# For the schema of this file, see Bucket message:
+#   https://luci-config.appspot.com/schemas/projects:buildbucket.cfg
+
+name: "roll"
+acls {
+  group: "all"
+}
+acls {
+  role: SCHEDULER
+  identity: "user:luci-scheduler@appspot.gserviceaccount.com"
+}
+acls {
+  role: SCHEDULER
+  group: "project-pigweed-committers"
+}
+swarming {
+  builders {
+    name: "pigweed-experimental-roller"
+    swarming_host: "chromium-swarm.appspot.com"
+    dimensions: "1800:cores:2"
+    dimensions: "cpu:x64|x86-64"
+    dimensions: "os:Debian"
+    dimensions: "pool:luci.pigweed.ci"
+    exe {
+      cipd_package: "pigweed/infra/recipe_bundles/pigweed.googlesource.com/infra/recipes"
+      cipd_version: "refs/heads/main"
+      cmd: "luciexe"
+    }
+    properties:
+      '{'
+      '  "$pigweed/checkout": {'
+      '    "branch": "main",'
+      '    "equivalent_remotes": [],'
+      '    "match_branch": true,'
+      '    "remote": "https://pigweed.googlesource.com/pigweed/experimental",'
+      '    "use_repo": false'
+      '  },'
+      '  "$pigweed/cq_deps": {'
+      '    "ignore_errors": true'
+      '  },'
+      '  "always_cc": false,'
+      '  "bot_commit": true,'
+      '  "cc_authors_on_rolls": true,'
+      '  "cc_domains": ['
+      '    "google.com"'
+      '  ],'
+      '  "cc_reviewers_on_rolls": false,'
+      '  "dry_run": false,'
+      '  "recipe": "submodule_roller",'
+      '  "submodule_branch": null,'
+      '  "submodule_name": "third_party/pigweed",'
+      '  "submodule_path": "third_party/pigweed"'
+      '}'
+    priority: 40
+    execution_timeout_secs: 5400
+    caches {
+      name: "builder"
+      path: "builder"
+    }
+    service_account: "pigweed-integration-roller@pigweed.google.com.iam.gserviceaccount.com"
+    experimental: NO
+    experiments {
+      key: "luci.recipes.use_python3"
+      value: 100
+    }
+    experiments {
+      key: "luci.use_realms"
+      value: 100
+    }
+  }
+}
diff --git a/generated/pigweed/for_review_only/buildbucket/roll/pigweed-sample-project-roller.textproto b/generated/pigweed/for_review_only/buildbucket/roll/pigweed-sample-project-roller.textproto
new file mode 100644
index 0000000..2d2f772
--- /dev/null
+++ b/generated/pigweed/for_review_only/buildbucket/roll/pigweed-sample-project-roller.textproto
@@ -0,0 +1,74 @@
+# Auto-generated by lucicfg.
+# Do not modify manually.
+#
+# For the schema of this file, see Bucket message:
+#   https://luci-config.appspot.com/schemas/projects:buildbucket.cfg
+
+name: "roll"
+acls {
+  group: "all"
+}
+acls {
+  role: SCHEDULER
+  identity: "user:luci-scheduler@appspot.gserviceaccount.com"
+}
+acls {
+  role: SCHEDULER
+  group: "project-pigweed-committers"
+}
+swarming {
+  builders {
+    name: "pigweed-sample-project-roller"
+    swarming_host: "chromium-swarm.appspot.com"
+    dimensions: "1800:cores:2"
+    dimensions: "cpu:x64|x86-64"
+    dimensions: "os:Debian"
+    dimensions: "pool:luci.pigweed.ci"
+    exe {
+      cipd_package: "pigweed/infra/recipe_bundles/pigweed.googlesource.com/infra/recipes"
+      cipd_version: "refs/heads/main"
+      cmd: "luciexe"
+    }
+    properties:
+      '{'
+      '  "$pigweed/checkout": {'
+      '    "branch": "main",'
+      '    "equivalent_remotes": [],'
+      '    "match_branch": true,'
+      '    "remote": "https://pigweed.googlesource.com/pigweed/sample_project",'
+      '    "use_repo": false'
+      '  },'
+      '  "$pigweed/cq_deps": {'
+      '    "ignore_errors": true'
+      '  },'
+      '  "always_cc": false,'
+      '  "bot_commit": true,'
+      '  "cc_authors_on_rolls": true,'
+      '  "cc_domains": ['
+      '    "google.com"'
+      '  ],'
+      '  "cc_reviewers_on_rolls": false,'
+      '  "dry_run": false,'
+      '  "recipe": "submodule_roller",'
+      '  "submodule_branch": null,'
+      '  "submodule_name": "third_party/pigweed",'
+      '  "submodule_path": "third_party/pigweed"'
+      '}'
+    priority: 40
+    execution_timeout_secs: 5400
+    caches {
+      name: "builder"
+      path: "builder"
+    }
+    service_account: "pigweed-integration-roller@pigweed.google.com.iam.gserviceaccount.com"
+    experimental: NO
+    experiments {
+      key: "luci.recipes.use_python3"
+      value: 100
+    }
+    experiments {
+      key: "luci.use_realms"
+      value: 100
+    }
+  }
+}
diff --git a/generated/pigweed/for_review_only/buildbucket/roll/pigweed-update-python-versions.textproto b/generated/pigweed/for_review_only/buildbucket/roll/pigweed-update-python-versions.textproto
new file mode 100644
index 0000000..4eab86b
--- /dev/null
+++ b/generated/pigweed/for_review_only/buildbucket/roll/pigweed-update-python-versions.textproto
@@ -0,0 +1,69 @@
+# Auto-generated by lucicfg.
+# Do not modify manually.
+#
+# For the schema of this file, see Bucket message:
+#   https://luci-config.appspot.com/schemas/projects:buildbucket.cfg
+
+name: "roll"
+acls {
+  group: "all"
+}
+acls {
+  role: SCHEDULER
+  identity: "user:luci-scheduler@appspot.gserviceaccount.com"
+}
+acls {
+  role: SCHEDULER
+  group: "project-pigweed-committers"
+}
+swarming {
+  builders {
+    name: "pigweed-update-python-versions"
+    swarming_host: "chromium-swarm.appspot.com"
+    dimensions: "1800:cores:2"
+    dimensions: "cpu:x64|x86-64"
+    dimensions: "os:Debian"
+    dimensions: "pool:luci.pigweed.ci"
+    exe {
+      cipd_package: "pigweed/infra/recipe_bundles/pigweed.googlesource.com/infra/recipes"
+      cipd_version: "refs/heads/main"
+      cmd: "luciexe"
+    }
+    properties:
+      '{'
+      '  "$pigweed/checkout": {'
+      '    "branch": "main",'
+      '    "equivalent_remotes": [],'
+      '    "match_branch": true,'
+      '    "remote": "https://pigweed.googlesource.com/pigweed/pigweed",'
+      '    "use_repo": false'
+      '  },'
+      '  "$pigweed/environment": {'
+      '    "config_file": "pw_env_setup/config.json"'
+      '  },'
+      '  "bot_commit": true,'
+      '  "path_to_constraint_file": "pw_env_setup/py/pw_env_setup/virtualenv_setup/constraint.list",'
+      '  "recipe": "update_python_versions"'
+      '}'
+    priority: 40
+    execution_timeout_secs: 7800
+    caches {
+      name: "builder"
+      path: "builder"
+    }
+    caches {
+      name: "pip"
+      path: "pip"
+      wait_for_warm_cache_secs: 60
+    }
+    service_account: "pigweed-roller@pigweed.google.com.iam.gserviceaccount.com"
+    experiments {
+      key: "luci.recipes.use_python3"
+      value: 100
+    }
+    experiments {
+      key: "luci.use_realms"
+      value: 100
+    }
+  }
+}
diff --git a/generated/pigweed/for_review_only/buildbucket/roll/protoc-gen-go-roller.textproto b/generated/pigweed/for_review_only/buildbucket/roll/protoc-gen-go-roller.textproto
new file mode 100644
index 0000000..44074a1
--- /dev/null
+++ b/generated/pigweed/for_review_only/buildbucket/roll/protoc-gen-go-roller.textproto
@@ -0,0 +1,68 @@
+# Auto-generated by lucicfg.
+# Do not modify manually.
+#
+# For the schema of this file, see Bucket message:
+#   https://luci-config.appspot.com/schemas/projects:buildbucket.cfg
+
+name: "roll"
+acls {
+  group: "all"
+}
+acls {
+  role: SCHEDULER
+  identity: "user:luci-scheduler@appspot.gserviceaccount.com"
+}
+acls {
+  role: SCHEDULER
+  group: "project-pigweed-committers"
+}
+swarming {
+  builders {
+    name: "protoc-gen-go-roller"
+    swarming_host: "chromium-swarm.appspot.com"
+    dimensions: "1800:cores:2"
+    dimensions: "cpu:x64|x86-64"
+    dimensions: "os:Debian"
+    dimensions: "pool:luci.pigweed.ci"
+    exe {
+      cipd_package: "pigweed/infra/recipe_bundles/pigweed.googlesource.com/infra/recipes"
+      cipd_version: "refs/heads/main"
+      cmd: "luciexe"
+    }
+    properties:
+      '{'
+      '  "$pigweed/checkout": {'
+      '    "branch": "main",'
+      '    "equivalent_remotes": [],'
+      '    "match_branch": true,'
+      '    "remote": "https://pigweed.googlesource.com/pigweed/pigweed",'
+      '    "use_repo": false'
+      '  },'
+      '  "allow_mismatched_refs": false,'
+      '  "bot_commit": true,'
+      '  "cipd_json_path": "pw_env_setup/py/pw_env_setup/cipd_setup/pigweed.json",'
+      '  "dry_run": false,'
+      '  "package_name": "protoc-gen-go",'
+      '  "package_spec": "pigweed/third_party/protoc-gen-go/${platform}",'
+      '  "recipe": "cipd_roller",'
+      '  "ref": "latest",'
+      '  "tag": "version"'
+      '}'
+    priority: 40
+    execution_timeout_secs: 7800
+    caches {
+      name: "builder"
+      path: "builder"
+    }
+    service_account: "pigweed-roller@pigweed.google.com.iam.gserviceaccount.com"
+    experimental: NO
+    experiments {
+      key: "luci.recipes.use_python3"
+      value: 100
+    }
+    experiments {
+      key: "luci.use_realms"
+      value: 100
+    }
+  }
+}
diff --git a/generated/pigweed/for_review_only/buildbucket/roll/qemu-roller.textproto b/generated/pigweed/for_review_only/buildbucket/roll/qemu-roller.textproto
new file mode 100644
index 0000000..346f6c7
--- /dev/null
+++ b/generated/pigweed/for_review_only/buildbucket/roll/qemu-roller.textproto
@@ -0,0 +1,68 @@
+# Auto-generated by lucicfg.
+# Do not modify manually.
+#
+# For the schema of this file, see Bucket message:
+#   https://luci-config.appspot.com/schemas/projects:buildbucket.cfg
+
+name: "roll"
+acls {
+  group: "all"
+}
+acls {
+  role: SCHEDULER
+  identity: "user:luci-scheduler@appspot.gserviceaccount.com"
+}
+acls {
+  role: SCHEDULER
+  group: "project-pigweed-committers"
+}
+swarming {
+  builders {
+    name: "qemu-roller"
+    swarming_host: "chromium-swarm.appspot.com"
+    dimensions: "1800:cores:2"
+    dimensions: "cpu:x64|x86-64"
+    dimensions: "os:Debian"
+    dimensions: "pool:luci.pigweed.ci"
+    exe {
+      cipd_package: "pigweed/infra/recipe_bundles/pigweed.googlesource.com/infra/recipes"
+      cipd_version: "refs/heads/main"
+      cmd: "luciexe"
+    }
+    properties:
+      '{'
+      '  "$pigweed/checkout": {'
+      '    "branch": "main",'
+      '    "equivalent_remotes": [],'
+      '    "match_branch": true,'
+      '    "remote": "https://pigweed.googlesource.com/pigweed/pigweed",'
+      '    "use_repo": false'
+      '  },'
+      '  "allow_mismatched_refs": false,'
+      '  "bot_commit": true,'
+      '  "cipd_json_path": "pw_env_setup/py/pw_env_setup/cipd_setup/pigweed.json",'
+      '  "dry_run": false,'
+      '  "package_name": "qemu",'
+      '  "package_spec": "fuchsia/third_party/qemu/${platform}",'
+      '  "recipe": "cipd_roller",'
+      '  "ref": "latest",'
+      '  "tag": "git_revision"'
+      '}'
+    priority: 40
+    execution_timeout_secs: 7800
+    caches {
+      name: "builder"
+      path: "builder"
+    }
+    service_account: "pigweed-roller@pigweed.google.com.iam.gserviceaccount.com"
+    experimental: NO
+    experiments {
+      key: "luci.recipes.use_python3"
+      value: 100
+    }
+    experiments {
+      key: "luci.use_realms"
+      value: 100
+    }
+  }
+}
diff --git a/generated/pigweed/for_review_only/buildbucket/roll/rbe-client-roller.textproto b/generated/pigweed/for_review_only/buildbucket/roll/rbe-client-roller.textproto
new file mode 100644
index 0000000..857eaa4
--- /dev/null
+++ b/generated/pigweed/for_review_only/buildbucket/roll/rbe-client-roller.textproto
@@ -0,0 +1,68 @@
+# Auto-generated by lucicfg.
+# Do not modify manually.
+#
+# For the schema of this file, see Bucket message:
+#   https://luci-config.appspot.com/schemas/projects:buildbucket.cfg
+
+name: "roll"
+acls {
+  group: "all"
+}
+acls {
+  role: SCHEDULER
+  identity: "user:luci-scheduler@appspot.gserviceaccount.com"
+}
+acls {
+  role: SCHEDULER
+  group: "project-pigweed-committers"
+}
+swarming {
+  builders {
+    name: "rbe-client-roller"
+    swarming_host: "chromium-swarm.appspot.com"
+    dimensions: "1800:cores:2"
+    dimensions: "cpu:x64|x86-64"
+    dimensions: "os:Debian"
+    dimensions: "pool:luci.pigweed.ci"
+    exe {
+      cipd_package: "pigweed/infra/recipe_bundles/pigweed.googlesource.com/infra/recipes"
+      cipd_version: "refs/heads/main"
+      cmd: "luciexe"
+    }
+    properties:
+      '{'
+      '  "$pigweed/checkout": {'
+      '    "branch": "main",'
+      '    "equivalent_remotes": [],'
+      '    "match_branch": true,'
+      '    "remote": "https://pigweed.googlesource.com/pigweed/pigweed",'
+      '    "use_repo": false'
+      '  },'
+      '  "allow_mismatched_refs": true,'
+      '  "bot_commit": true,'
+      '  "cipd_json_path": "pw_env_setup/py/pw_env_setup/cipd_setup/pigweed.json",'
+      '  "dry_run": true,'
+      '  "package_name": "rbe-client",'
+      '  "package_spec": "infra/rbe/client/${platform}",'
+      '  "recipe": "cipd_roller",'
+      '  "ref": "latest",'
+      '  "tag": "re_client_version"'
+      '}'
+    priority: 50
+    execution_timeout_secs: 7800
+    caches {
+      name: "builder"
+      path: "builder"
+    }
+    service_account: "pigweed-roller@pigweed.google.com.iam.gserviceaccount.com"
+    experimental: YES
+    experiments {
+      key: "luci.recipes.use_python3"
+      value: 100
+    }
+    experiments {
+      key: "luci.use_realms"
+      value: 100
+    }
+  }
+}
diff --git a/generated/pigweed/for_review_only/buildbucket/try/envtest-linux-python2.textproto b/generated/pigweed/for_review_only/buildbucket/try/envtest-linux-python2.textproto
new file mode 100644
index 0000000..ac90033
--- /dev/null
+++ b/generated/pigweed/for_review_only/buildbucket/try/envtest-linux-python2.textproto
@@ -0,0 +1,68 @@
+# Auto-generated by lucicfg.
+# Do not modify manually.
+#
+# For the schema of this file, see Bucket message:
+#   https://luci-config.appspot.com/schemas/projects:buildbucket.cfg
+
+name: "try"
+acls {
+  group: "all"
+}
+acls {
+  role: SCHEDULER
+  identity: "user:pigweed-try-builder@pigweed.google.com.iam.gserviceaccount.com"
+}
+acls {
+  role: SCHEDULER
+  group: "project-pigweed-tryjob-access"
+}
+swarming {
+  builders {
+    name: "envtest-linux-python2"
+    swarming_host: "chromium-swarm.appspot.com"
+    dimensions: "cores:16"
+    dimensions: "cpu:x64|x86-64"
+    dimensions: "os:Debian"
+    dimensions: "pool:luci.pigweed.try"
+    exe {
+      cipd_package: "pigweed/infra/recipe_bundles/pigweed.googlesource.com/infra/recipes"
+      cipd_version: "refs/heads/main"
+      cmd: "luciexe"
+    }
+    properties:
+      '{'
+      '  "$pigweed/checkout": {'
+      '    "branch": "main",'
+      '    "equivalent_remotes": [],'
+      '    "match_branch": true,'
+      '    "remote": "https://pigweed.googlesource.com/pigweed/pigweed",'
+      '    "use_repo": false'
+      '  },'
+      '  "command": "python -m pw_cli --directory $PW_PROJECT_ROOT --loglevel debug presubmit --step gn_gen_check",'
+      '  "environment_variables": ['
+      '    "PW_BOOTSTRAP_PYTHON=python2"'
+      '  ],'
+      '  "recipe": "envtest"'
+      '}'
+    priority: 40
+    execution_timeout_secs: 2700
+    caches {
+      name: "builder"
+      path: "builder"
+    }
+    caches {
+      name: "pip"
+      path: "pip"
+      wait_for_warm_cache_secs: 60
+    }
+    service_account: "pigweed-try-builder@pigweed.google.com.iam.gserviceaccount.com"
+    experiments {
+      key: "luci.recipes.use_python3"
+      value: 100
+    }
+    experiments {
+      key: "luci.use_realms"
+      value: 100
+    }
+  }
+}
diff --git a/generated/pigweed/for_review_only/buildbucket/try/envtest-linux-python3.textproto b/generated/pigweed/for_review_only/buildbucket/try/envtest-linux-python3.textproto
new file mode 100644
index 0000000..b3c781d
--- /dev/null
+++ b/generated/pigweed/for_review_only/buildbucket/try/envtest-linux-python3.textproto
@@ -0,0 +1,68 @@
+# Auto-generated by lucicfg.
+# Do not modify manually.
+#
+# For the schema of this file, see Bucket message:
+#   https://luci-config.appspot.com/schemas/projects:buildbucket.cfg
+
+name: "try"
+acls {
+  group: "all"
+}
+acls {
+  role: SCHEDULER
+  identity: "user:pigweed-try-builder@pigweed.google.com.iam.gserviceaccount.com"
+}
+acls {
+  role: SCHEDULER
+  group: "project-pigweed-tryjob-access"
+}
+swarming {
+  builders {
+    name: "envtest-linux-python3"
+    swarming_host: "chromium-swarm.appspot.com"
+    dimensions: "cores:16"
+    dimensions: "cpu:x64|x86-64"
+    dimensions: "os:Debian"
+    dimensions: "pool:luci.pigweed.try"
+    exe {
+      cipd_package: "pigweed/infra/recipe_bundles/pigweed.googlesource.com/infra/recipes"
+      cipd_version: "refs/heads/main"
+      cmd: "luciexe"
+    }
+    properties:
+      '{'
+      '  "$pigweed/checkout": {'
+      '    "branch": "main",'
+      '    "equivalent_remotes": [],'
+      '    "match_branch": true,'
+      '    "remote": "https://pigweed.googlesource.com/pigweed/pigweed",'
+      '    "use_repo": false'
+      '  },'
+      '  "command": "python -m pw_cli --directory $PW_PROJECT_ROOT --loglevel debug presubmit --step gn_gen_check",'
+      '  "environment_variables": ['
+      '    "PW_BOOTSTRAP_PYTHON=python3"'
+      '  ],'
+      '  "recipe": "envtest"'
+      '}'
+    priority: 40
+    execution_timeout_secs: 2700
+    caches {
+      name: "builder"
+      path: "builder"
+    }
+    caches {
+      name: "pip"
+      path: "pip"
+      wait_for_warm_cache_secs: 60
+    }
+    service_account: "pigweed-try-builder@pigweed.google.com.iam.gserviceaccount.com"
+    experiments {
+      key: "luci.recipes.use_python3"
+      value: 100
+    }
+    experiments {
+      key: "luci.use_realms"
+      value: 100
+    }
+  }
+}
diff --git a/generated/pigweed/for_review_only/buildbucket/try/envtest-mac.textproto b/generated/pigweed/for_review_only/buildbucket/try/envtest-mac.textproto
new file mode 100644
index 0000000..9eaff6a
--- /dev/null
+++ b/generated/pigweed/for_review_only/buildbucket/try/envtest-mac.textproto
@@ -0,0 +1,70 @@
+# Auto-generated by lucicfg.
+# Do not modify manually.
+#
+# For the schema of this file, see Bucket message:
+#   https://luci-config.appspot.com/schemas/projects:buildbucket.cfg
+
+name: "try"
+acls {
+  group: "all"
+}
+acls {
+  role: SCHEDULER
+  identity: "user:pigweed-try-builder@pigweed.google.com.iam.gserviceaccount.com"
+}
+acls {
+  role: SCHEDULER
+  group: "project-pigweed-tryjob-access"
+}
+swarming {
+  builders {
+    name: "envtest-mac"
+    swarming_host: "chromium-swarm.appspot.com"
+    dimensions: "cpu:x64|x86-64"
+    dimensions: "os:Mac"
+    dimensions: "pool:luci.pigweed.try"
+    exe {
+      cipd_package: "pigweed/infra/recipe_bundles/pigweed.googlesource.com/infra/recipes"
+      cipd_version: "refs/heads/main"
+      cmd: "luciexe"
+    }
+    properties:
+      '{'
+      '  "$pigweed/checkout": {'
+      '    "branch": "main",'
+      '    "equivalent_remotes": [],'
+      '    "match_branch": true,'
+      '    "remote": "https://pigweed.googlesource.com/pigweed/pigweed",'
+      '    "use_repo": false'
+      '  },'
+      '  "command": "python -m pw_cli --directory $PW_PROJECT_ROOT --loglevel debug presubmit --step gn_gen_check",'
+      '  "macos_sdk.version": "11c29",'
+      '  "recipe": "envtest"'
+      '}'
+    priority: 40
+    execution_timeout_secs: 2700
+    caches {
+      name: "builder"
+      path: "builder"
+    }
+    caches {
+      name: "macos_sdk"
+      path: "macos_sdk"
+      wait_for_warm_cache_secs: 120
+    }
+    caches {
+      name: "pip"
+      path: "pip"
+      wait_for_warm_cache_secs: 60
+    }
+    service_account: "pigweed-try-builder@pigweed.google.com.iam.gserviceaccount.com"
+    experiments {
+      key: "luci.recipes.use_python3"
+      value: 100
+    }
+    experiments {
+      key: "luci.use_realms"
+      value: 100
+    }
+  }
+}
diff --git a/generated/pigweed/for_review_only/buildbucket/try/envtest-windows.textproto b/generated/pigweed/for_review_only/buildbucket/try/envtest-windows.textproto
new file mode 100644
index 0000000..e501145
--- /dev/null
+++ b/generated/pigweed/for_review_only/buildbucket/try/envtest-windows.textproto
@@ -0,0 +1,65 @@
+# Auto-generated by lucicfg.
+# Do not modify manually.
+#
+# For the schema of this file, see Bucket message:
+#   https://luci-config.appspot.com/schemas/projects:buildbucket.cfg
+
+name: "try"
+acls {
+  group: "all"
+}
+acls {
+  role: SCHEDULER
+  identity: "user:pigweed-try-builder@pigweed.google.com.iam.gserviceaccount.com"
+}
+acls {
+  role: SCHEDULER
+  group: "project-pigweed-tryjob-access"
+}
+swarming {
+  builders {
+    name: "envtest-windows"
+    swarming_host: "chromium-swarm.appspot.com"
+    dimensions: "cores:16"
+    dimensions: "cpu:x64|x86-64"
+    dimensions: "os:Windows-10"
+    dimensions: "pool:luci.pigweed.try"
+    exe {
+      cipd_package: "pigweed/infra/recipe_bundles/pigweed.googlesource.com/infra/recipes"
+      cipd_version: "refs/heads/main"
+      cmd: "luciexe"
+    }
+    properties:
+      '{'
+      '  "$pigweed/checkout": {'
+      '    "branch": "main",'
+      '    "equivalent_remotes": [],'
+      '    "match_branch": true,'
+      '    "remote": "https://pigweed.googlesource.com/pigweed/pigweed",'
+      '    "use_repo": false'
+      '  },'
+      '  "command": "python -m pw_cli --directory $PW_PROJECT_ROOT --loglevel debug presubmit --step gn_gen_check",'
+      '  "recipe": "envtest"'
+      '}'
+    priority: 40
+    execution_timeout_secs: 2700
+    caches {
+      name: "builder"
+      path: "builder"
+    }
+    caches {
+      name: "pip"
+      path: "pip"
+      wait_for_warm_cache_secs: 60
+    }
+    service_account: "pigweed-try-builder@pigweed.google.com.iam.gserviceaccount.com"
+    experiments {
+      key: "luci.recipes.use_python3"
+      value: 100
+    }
+    experiments {
+      key: "luci.use_realms"
+      value: 100
+    }
+  }
+}
diff --git a/generated/pigweed/for_review_only/buildbucket/try/experimental-envtest.textproto b/generated/pigweed/for_review_only/buildbucket/try/experimental-envtest.textproto
new file mode 100644
index 0000000..a151cbc
--- /dev/null
+++ b/generated/pigweed/for_review_only/buildbucket/try/experimental-envtest.textproto
@@ -0,0 +1,67 @@
+# Auto-generated by lucicfg.
+# Do not modify manually.
+#
+# For the schema of this file, see Bucket message:
+#   https://luci-config.appspot.com/schemas/projects:buildbucket.cfg
+
+name: "try"
+acls {
+  group: "all"
+}
+acls {
+  role: SCHEDULER
+  identity: "user:pigweed-try-builder@pigweed.google.com.iam.gserviceaccount.com"
+}
+acls {
+  role: SCHEDULER
+  group: "project-pigweed-tryjob-access"
+}
+swarming {
+  builders {
+    name: "experimental-envtest"
+    swarming_host: "chromium-swarm.appspot.com"
+    dimensions: "cores:16"
+    dimensions: "cpu:x64|x86-64"
+    dimensions: "os:Debian"
+    dimensions: "pool:luci.pigweed.try"
+    exe {
+      cipd_package: "pigweed/infra/recipe_bundles/pigweed.googlesource.com/infra/recipes"
+      cipd_version: "refs/heads/main"
+      cmd: "luciexe"
+    }
+    properties:
+      '{'
+      '  "$pigweed/checkout": {'
+      '    "branch": "main",'
+      '    "equivalent_remotes": [],'
+      '    "match_branch": true,'
+      '    "remote": "https://pigweed.googlesource.com/pigweed/experimental",'
+      '    "use_repo": false'
+      '  },'
+      '  "command": "python -m pw_cli --directory $PW_PROJECT_ROOT --loglevel debug presubmit --step gn_gen_check",'
+      '  "dry_run": true,'
+      '  "recipe": "envtest"'
+      '}'
+    priority: 50
+    execution_timeout_secs: 3600
+    caches {
+      name: "builder"
+      path: "builder"
+    }
+    caches {
+      name: "pip"
+      path: "pip"
+      wait_for_warm_cache_secs: 60
+    }
+    service_account: "pigweed-try-builder@pigweed.google.com.iam.gserviceaccount.com"
+    experimental: YES
+    experiments {
+      key: "luci.recipes.use_python3"
+      value: 100
+    }
+    experiments {
+      key: "luci.use_realms"
+      value: 100
+    }
+  }
+}
diff --git a/generated/pigweed/for_review_only/buildbucket/try/experimental-full.textproto b/generated/pigweed/for_review_only/buildbucket/try/experimental-full.textproto
new file mode 100644
index 0000000..1a30914
--- /dev/null
+++ b/generated/pigweed/for_review_only/buildbucket/try/experimental-full.textproto
@@ -0,0 +1,77 @@
+# Auto-generated by lucicfg.
+# Do not modify manually.
+#
+# For the schema of this file, see Bucket message:
+#   https://luci-config.appspot.com/schemas/projects:buildbucket.cfg
+
+name: "try"
+acls {
+  group: "all"
+}
+acls {
+  role: SCHEDULER
+  identity: "user:pigweed-try-builder@pigweed.google.com.iam.gserviceaccount.com"
+}
+acls {
+  role: SCHEDULER
+  group: "project-pigweed-tryjob-access"
+}
+swarming {
+  builders {
+    name: "experimental-full"
+    swarming_host: "chromium-swarm.appspot.com"
+    dimensions: "cores:16"
+    dimensions: "cpu:x64|x86-64"
+    dimensions: "os:Debian"
+    dimensions: "pool:luci.pigweed.try"
+    exe {
+      cipd_package: "pigweed/infra/recipe_bundles/pigweed.googlesource.com/infra/recipes"
+      cipd_version: "refs/heads/main"
+      cmd: "luciexe"
+    }
+    properties:
+      '{'
+      '  "$pigweed/checkout": {'
+      '    "branch": "main",'
+      '    "equivalent_remotes": [],'
+      '    "match_branch": true,'
+      '    "remote": "https://pigweed.googlesource.com/pigweed/experimental",'
+      '    "use_repo": false'
+      '  },'
+      '  "$pigweed/environment": {'
+      '    "config_file": "env_setup.json",'
+      '    "relative_pigweed_root": "third_party/pigweed",'
+      '    "root_variable_name": "PIGWEED_EXPERIMENTAL_ROOT"'
+      '  },'
+      '  "$pigweed/pw_presubmit": {'
+      '    "program": ['
+      '      "full"'
+      '    ]'
+      '  },'
+      '  "program": ['
+      '    "full"'
+      '  ],'
+      '  "recipe": "pw_presubmit"'
+      '}'
+    priority: 40
+    execution_timeout_secs: 3600
+    caches {
+      name: "builder"
+      path: "builder"
+    }
+    caches {
+      name: "pip"
+      path: "pip"
+      wait_for_warm_cache_secs: 60
+    }
+    service_account: "pigweed-try-builder@pigweed.google.com.iam.gserviceaccount.com"
+    experiments {
+      key: "luci.recipes.use_python3"
+      value: 100
+    }
+    experiments {
+      key: "luci.use_realms"
+      value: 100
+    }
+  }
+}
diff --git a/generated/pigweed/for_review_only/buildbucket/try/experimental-lintformat-full.textproto b/generated/pigweed/for_review_only/buildbucket/try/experimental-lintformat-full.textproto
new file mode 100644
index 0000000..5a7bf54
--- /dev/null
+++ b/generated/pigweed/for_review_only/buildbucket/try/experimental-lintformat-full.textproto
@@ -0,0 +1,81 @@
+# Auto-generated by lucicfg.
+# Do not modify manually.
+#
+# For the schema of this file, see Bucket message:
+#   https://luci-config.appspot.com/schemas/projects:buildbucket.cfg
+
+name: "try"
+acls {
+  group: "all"
+}
+acls {
+  role: SCHEDULER
+  identity: "user:pigweed-try-builder@pigweed.google.com.iam.gserviceaccount.com"
+}
+acls {
+  role: SCHEDULER
+  group: "project-pigweed-tryjob-access"
+}
+swarming {
+  builders {
+    name: "experimental-lintformat-full"
+    swarming_host: "chromium-swarm.appspot.com"
+    dimensions: "cores:16"
+    dimensions: "cpu:x64|x86-64"
+    dimensions: "os:Debian"
+    dimensions: "pool:luci.pigweed.try"
+    exe {
+      cipd_package: "pigweed/infra/recipe_bundles/pigweed.googlesource.com/infra/recipes"
+      cipd_version: "refs/heads/main"
+      cmd: "luciexe"
+    }
+    properties:
+      '{'
+      '  "$pigweed/checkout": {'
+      '    "branch": "main",'
+      '    "equivalent_remotes": [],'
+      '    "match_branch": true,'
+      '    "remote": "https://pigweed.googlesource.com/pigweed/experimental",'
+      '    "use_repo": false'
+      '  },'
+      '  "$pigweed/environment": {'
+      '    "config_file": "env_setup.json",'
+      '    "relative_pigweed_root": "third_party/pigweed",'
+      '    "root_variable_name": "PIGWEED_EXPERIMENTAL_ROOT"'
+      '  },'
+      '  "$pigweed/pw_presubmit": {'
+      '    "only_on_changed_files": false,'
+      '    "program": ['
+      '      "lintformat"'
+      '    ]'
+      '  },'
+      '  "dry_run": true,'
+      '  "only_on_changed_files": false,'
+      '  "program": ['
+      '    "lintformat"'
+      '  ],'
+      '  "recipe": "pw_presubmit"'
+      '}'
+    priority: 50
+    execution_timeout_secs: 1500
+    caches {
+      name: "builder"
+      path: "builder"
+    }
+    caches {
+      name: "pip"
+      path: "pip"
+      wait_for_warm_cache_secs: 60
+    }
+    service_account: "pigweed-try-builder@pigweed.google.com.iam.gserviceaccount.com"
+    experimental: YES
+    experiments {
+      key: "luci.recipes.use_python3"
+      value: 100
+    }
+    experiments {
+      key: "luci.use_realms"
+      value: 100
+    }
+  }
+}
diff --git a/generated/pigweed/for_review_only/buildbucket/try/experimental-lintformat.textproto b/generated/pigweed/for_review_only/buildbucket/try/experimental-lintformat.textproto
new file mode 100644
index 0000000..d165ff6
--- /dev/null
+++ b/generated/pigweed/for_review_only/buildbucket/try/experimental-lintformat.textproto
@@ -0,0 +1,81 @@
+# Auto-generated by lucicfg.
+# Do not modify manually.
+#
+# For the schema of this file, see Bucket message:
+#   https://luci-config.appspot.com/schemas/projects:buildbucket.cfg
+
+name: "try"
+acls {
+  group: "all"
+}
+acls {
+  role: SCHEDULER
+  identity: "user:pigweed-try-builder@pigweed.google.com.iam.gserviceaccount.com"
+}
+acls {
+  role: SCHEDULER
+  group: "project-pigweed-tryjob-access"
+}
+swarming {
+  builders {
+    name: "experimental-lintformat"
+    swarming_host: "chromium-swarm.appspot.com"
+    dimensions: "cores:16"
+    dimensions: "cpu:x64|x86-64"
+    dimensions: "os:Debian"
+    dimensions: "pool:luci.pigweed.try"
+    exe {
+      cipd_package: "pigweed/infra/recipe_bundles/pigweed.googlesource.com/infra/recipes"
+      cipd_version: "refs/heads/main"
+      cmd: "luciexe"
+    }
+    properties:
+      '{'
+      '  "$pigweed/checkout": {'
+      '    "branch": "main",'
+      '    "equivalent_remotes": [],'
+      '    "match_branch": true,'
+      '    "remote": "https://pigweed.googlesource.com/pigweed/experimental",'
+      '    "use_repo": false'
+      '  },'
+      '  "$pigweed/environment": {'
+      '    "config_file": "env_setup.json",'
+      '    "relative_pigweed_root": "third_party/pigweed",'
+      '    "root_variable_name": "PIGWEED_EXPERIMENTAL_ROOT"'
+      '  },'
+      '  "$pigweed/pw_presubmit": {'
+      '    "only_on_changed_files": true,'
+      '    "program": ['
+      '      "lintformat"'
+      '    ]'
+      '  },'
+      '  "dry_run": true,'
+      '  "only_on_changed_files": true,'
+      '  "program": ['
+      '    "lintformat"'
+      '  ],'
+      '  "recipe": "pw_presubmit"'
+      '}'
+    priority: 50
+    execution_timeout_secs: 1500
+    caches {
+      name: "builder"
+      path: "builder"
+    }
+    caches {
+      name: "pip"
+      path: "pip"
+      wait_for_warm_cache_secs: 60
+    }
+    service_account: "pigweed-try-builder@pigweed.google.com.iam.gserviceaccount.com"
+    experimental: YES
+    experiments {
+      key: "luci.recipes.use_python3"
+      value: 100
+    }
+    experiments {
+      key: "luci.use_realms"
+      value: 100
+    }
+  }
+}
diff --git a/generated/pigweed/for_review_only/buildbucket/try/pigweed-lintformat-full.textproto b/generated/pigweed/for_review_only/buildbucket/try/pigweed-lintformat-full.textproto
new file mode 100644
index 0000000..1a314d1
--- /dev/null
+++ b/generated/pigweed/for_review_only/buildbucket/try/pigweed-lintformat-full.textproto
@@ -0,0 +1,77 @@
+# Auto-generated by lucicfg.
+# Do not modify manually.
+#
+# For the schema of this file, see Bucket message:
+#   https://luci-config.appspot.com/schemas/projects:buildbucket.cfg
+
+name: "try"
+acls {
+  group: "all"
+}
+acls {
+  role: SCHEDULER
+  identity: "user:pigweed-try-builder@pigweed.google.com.iam.gserviceaccount.com"
+}
+acls {
+  role: SCHEDULER
+  group: "project-pigweed-tryjob-access"
+}
+swarming {
+  builders {
+    name: "pigweed-lintformat-full"
+    swarming_host: "chromium-swarm.appspot.com"
+    dimensions: "cores:16"
+    dimensions: "cpu:x64|x86-64"
+    dimensions: "os:Debian"
+    dimensions: "pool:luci.pigweed.try"
+    exe {
+      cipd_package: "pigweed/infra/recipe_bundles/pigweed.googlesource.com/infra/recipes"
+      cipd_version: "refs/heads/main"
+      cmd: "luciexe"
+    }
+    properties:
+      '{'
+      '  "$pigweed/checkout": {'
+      '    "branch": "main",'
+      '    "equivalent_remotes": [],'
+      '    "match_branch": true,'
+      '    "remote": "https://pigweed.googlesource.com/pigweed/pigweed",'
+      '    "use_repo": false'
+      '  },'
+      '  "$pigweed/environment": {'
+      '    "config_file": "pw_env_setup/config.json"'
+      '  },'
+      '  "$pigweed/pw_presubmit": {'
+      '    "only_on_changed_files": false,'
+      '    "program": ['
+      '      "lintformat"'
+      '    ]'
+      '  },'
+      '  "only_on_changed_files": false,'
+      '  "program": ['
+      '    "lintformat"'
+      '  ],'
+      '  "recipe": "pw_presubmit"'
+      '}'
+    priority: 40
+    execution_timeout_secs: 1500
+    caches {
+      name: "builder"
+      path: "builder"
+    }
+    caches {
+      name: "pip"
+      path: "pip"
+      wait_for_warm_cache_secs: 60
+    }
+    service_account: "pigweed-try-builder@pigweed.google.com.iam.gserviceaccount.com"
+    experiments {
+      key: "luci.recipes.use_python3"
+      value: 100
+    }
+    experiments {
+      key: "luci.use_realms"
+      value: 100
+    }
+  }
+}
diff --git a/generated/pigweed/for_review_only/buildbucket/try/pigweed-lintformat.textproto b/generated/pigweed/for_review_only/buildbucket/try/pigweed-lintformat.textproto
new file mode 100644
index 0000000..ca2b657
--- /dev/null
+++ b/generated/pigweed/for_review_only/buildbucket/try/pigweed-lintformat.textproto
@@ -0,0 +1,77 @@
+# Auto-generated by lucicfg.
+# Do not modify manually.
+#
+# For the schema of this file, see Bucket message:
+#   https://luci-config.appspot.com/schemas/projects:buildbucket.cfg
+
+name: "try"
+acls {
+  group: "all"
+}
+acls {
+  role: SCHEDULER
+  identity: "user:pigweed-try-builder@pigweed.google.com.iam.gserviceaccount.com"
+}
+acls {
+  role: SCHEDULER
+  group: "project-pigweed-tryjob-access"
+}
+swarming {
+  builders {
+    name: "pigweed-lintformat"
+    swarming_host: "chromium-swarm.appspot.com"
+    dimensions: "cores:16"
+    dimensions: "cpu:x64|x86-64"
+    dimensions: "os:Debian"
+    dimensions: "pool:luci.pigweed.try"
+    exe {
+      cipd_package: "pigweed/infra/recipe_bundles/pigweed.googlesource.com/infra/recipes"
+      cipd_version: "refs/heads/main"
+      cmd: "luciexe"
+    }
+    properties:
+      '{'
+      '  "$pigweed/checkout": {'
+      '    "branch": "main",'
+      '    "equivalent_remotes": [],'
+      '    "match_branch": true,'
+      '    "remote": "https://pigweed.googlesource.com/pigweed/pigweed",'
+      '    "use_repo": false'
+      '  },'
+      '  "$pigweed/environment": {'
+      '    "config_file": "pw_env_setup/config.json"'
+      '  },'
+      '  "$pigweed/pw_presubmit": {'
+      '    "only_on_changed_files": true,'
+      '    "program": ['
+      '      "lintformat"'
+      '    ]'
+      '  },'
+      '  "only_on_changed_files": true,'
+      '  "program": ['
+      '    "lintformat"'
+      '  ],'
+      '  "recipe": "pw_presubmit"'
+      '}'
+    priority: 40
+    execution_timeout_secs: 1500
+    caches {
+      name: "builder"
+      path: "builder"
+    }
+    caches {
+      name: "pip"
+      path: "pip"
+      wait_for_warm_cache_secs: 60
+    }
+    service_account: "pigweed-try-builder@pigweed.google.com.iam.gserviceaccount.com"
+    experiments {
+      key: "luci.recipes.use_python3"
+      value: 100
+    }
+    experiments {
+      key: "luci.use_realms"
+      value: 100
+    }
+  }
+}
diff --git a/generated/pigweed/for_review_only/buildbucket/try/pigweed-linux-bazel-host-clang.textproto b/generated/pigweed/for_review_only/buildbucket/try/pigweed-linux-bazel-host-clang.textproto
new file mode 100644
index 0000000..9b070d6
--- /dev/null
+++ b/generated/pigweed/for_review_only/buildbucket/try/pigweed-linux-bazel-host-clang.textproto
@@ -0,0 +1,80 @@
+# Auto-generated by lucicfg.
+# Do not modify manually.
+#
+# For the schema of this file, see Bucket message:
+#   https://luci-config.appspot.com/schemas/projects:buildbucket.cfg
+
+name: "try"
+acls {
+  group: "all"
+}
+acls {
+  role: SCHEDULER
+  identity: "user:pigweed-try-builder@pigweed.google.com.iam.gserviceaccount.com"
+}
+acls {
+  role: SCHEDULER
+  group: "project-pigweed-tryjob-access"
+}
+swarming {
+  builders {
+    name: "pigweed-linux-bazel-host-clang"
+    swarming_host: "chromium-swarm.appspot.com"
+    dimensions: "cores:16"
+    dimensions: "cpu:x64|x86-64"
+    dimensions: "os:Debian"
+    dimensions: "pool:luci.pigweed.try"
+    exe {
+      cipd_package: "pigweed/infra/recipe_bundles/pigweed.googlesource.com/infra/recipes"
+      cipd_version: "refs/heads/main"
+      cmd: "luciexe"
+    }
+    properties:
+      '{'
+      '  "$pigweed/checkout": {'
+      '    "branch": "main",'
+      '    "equivalent_remotes": [],'
+      '    "match_branch": true,'
+      '    "remote": "https://pigweed.googlesource.com/pigweed/pigweed",'
+      '    "use_repo": false'
+      '  },'
+      '  "$pigweed/environment": {'
+      '    "config_file": "pw_env_setup/config.json"'
+      '  },'
+      '  "$pigweed/pw_presubmit": {'
+      '    "step": ['
+      '      "bazel_test"'
+      '    ]'
+      '  },'
+      '  "recipe": "pw_presubmit",'
+      '  "step": ['
+      '    "bazel_test"'
+      '  ]'
+      '}'
+    priority: 40
+    execution_timeout_secs: 2700
+    caches {
+      name: "bazel"
+      path: "bazel"
+      wait_for_warm_cache_secs: 60
+    }
+    caches {
+      name: "builder"
+      path: "builder"
+    }
+    caches {
+      name: "pip"
+      path: "pip"
+      wait_for_warm_cache_secs: 60
+    }
+    service_account: "pigweed-try-builder@pigweed.google.com.iam.gserviceaccount.com"
+    experiments {
+      key: "luci.recipes.use_python3"
+      value: 100
+    }
+    experiments {
+      key: "luci.use_realms"
+      value: 100
+    }
+  }
+}
diff --git a/generated/pigweed/for_review_only/buildbucket/try/pigweed-linux-cmake-host-clang.textproto b/generated/pigweed/for_review_only/buildbucket/try/pigweed-linux-cmake-host-clang.textproto
new file mode 100644
index 0000000..02da1f4
--- /dev/null
+++ b/generated/pigweed/for_review_only/buildbucket/try/pigweed-linux-cmake-host-clang.textproto
@@ -0,0 +1,75 @@
+# Auto-generated by lucicfg.
+# Do not modify manually.
+#
+# For the schema of this file, see Bucket message:
+#   https://luci-config.appspot.com/schemas/projects:buildbucket.cfg
+
+name: "try"
+acls {
+  group: "all"
+}
+acls {
+  role: SCHEDULER
+  identity: "user:pigweed-try-builder@pigweed.google.com.iam.gserviceaccount.com"
+}
+acls {
+  role: SCHEDULER
+  group: "project-pigweed-tryjob-access"
+}
+swarming {
+  builders {
+    name: "pigweed-linux-cmake-host-clang"
+    swarming_host: "chromium-swarm.appspot.com"
+    dimensions: "cores:16"
+    dimensions: "cpu:x64|x86-64"
+    dimensions: "os:Debian"
+    dimensions: "pool:luci.pigweed.try"
+    exe {
+      cipd_package: "pigweed/infra/recipe_bundles/pigweed.googlesource.com/infra/recipes"
+      cipd_version: "refs/heads/main"
+      cmd: "luciexe"
+    }
+    properties:
+      '{'
+      '  "$pigweed/checkout": {'
+      '    "branch": "main",'
+      '    "equivalent_remotes": [],'
+      '    "match_branch": true,'
+      '    "remote": "https://pigweed.googlesource.com/pigweed/pigweed",'
+      '    "use_repo": false'
+      '  },'
+      '  "$pigweed/environment": {'
+      '    "config_file": "pw_env_setup/config.json"'
+      '  },'
+      '  "$pigweed/pw_presubmit": {'
+      '    "step": ['
+      '      "cmake_tests"'
+      '    ]'
+      '  },'
+      '  "recipe": "pw_presubmit",'
+      '  "step": ['
+      '    "cmake_tests"'
+      '  ]'
+      '}'
+    priority: 40
+    execution_timeout_secs: 2700
+    caches {
+      name: "builder"
+      path: "builder"
+    }
+    caches {
+      name: "pip"
+      path: "pip"
+      wait_for_warm_cache_secs: 60
+    }
+    service_account: "pigweed-try-builder@pigweed.google.com.iam.gserviceaccount.com"
+    experiments {
+      key: "luci.recipes.use_python3"
+      value: 100
+    }
+    experiments {
+      key: "luci.use_realms"
+      value: 100
+    }
+  }
+}
diff --git a/generated/pigweed/for_review_only/buildbucket/try/pigweed-linux-compatibility-host-disco.textproto b/generated/pigweed/for_review_only/buildbucket/try/pigweed-linux-compatibility-host-disco.textproto
new file mode 100644
index 0000000..5d459a9
--- /dev/null
+++ b/generated/pigweed/for_review_only/buildbucket/try/pigweed-linux-compatibility-host-disco.textproto
@@ -0,0 +1,75 @@
+# Auto-generated by lucicfg.
+# Do not modify manually.
+#
+# For the schema of this file, see Bucket message:
+#   https://luci-config.appspot.com/schemas/projects:buildbucket.cfg
+
+name: "try"
+acls {
+  group: "all"
+}
+acls {
+  role: SCHEDULER
+  identity: "user:pigweed-try-builder@pigweed.google.com.iam.gserviceaccount.com"
+}
+acls {
+  role: SCHEDULER
+  group: "project-pigweed-tryjob-access"
+}
+swarming {
+  builders {
+    name: "pigweed-linux-compatibility-host-disco"
+    swarming_host: "chromium-swarm.appspot.com"
+    dimensions: "cores:16"
+    dimensions: "cpu:x64|x86-64"
+    dimensions: "os:Debian"
+    dimensions: "pool:luci.pigweed.try"
+    exe {
+      cipd_package: "pigweed/infra/recipe_bundles/pigweed.googlesource.com/infra/recipes"
+      cipd_version: "refs/heads/main"
+      cmd: "luciexe"
+    }
+    properties:
+      '{'
+      '  "$pigweed/checkout": {'
+      '    "branch": "main",'
+      '    "equivalent_remotes": [],'
+      '    "match_branch": true,'
+      '    "remote": "https://pigweed.googlesource.com/pigweed/pigweed",'
+      '    "use_repo": false'
+      '  },'
+      '  "$pigweed/environment": {'
+      '    "config_file": "pw_env_setup/compatibility.json"'
+      '  },'
+      '  "$pigweed/pw_presubmit": {'
+      '    "step": ['
+      '      "gn_full_build_check"'
+      '    ]'
+      '  },'
+      '  "recipe": "pw_presubmit",'
+      '  "step": ['
+      '    "gn_full_build_check"'
+      '  ]'
+      '}'
+    priority: 40
+    execution_timeout_secs: 2700
+    caches {
+      name: "builder"
+      path: "builder"
+    }
+    caches {
+      name: "pip"
+      path: "pip"
+      wait_for_warm_cache_secs: 60
+    }
+    service_account: "pigweed-try-builder@pigweed.google.com.iam.gserviceaccount.com"
+    experiments {
+      key: "luci.recipes.use_python3"
+      value: 100
+    }
+    experiments {
+      key: "luci.use_realms"
+      value: 100
+    }
+  }
+}
diff --git a/generated/pigweed/for_review_only/buildbucket/try/pigweed-linux-gn-crypto-boringssl.textproto b/generated/pigweed/for_review_only/buildbucket/try/pigweed-linux-gn-crypto-boringssl.textproto
new file mode 100644
index 0000000..5c30790
--- /dev/null
+++ b/generated/pigweed/for_review_only/buildbucket/try/pigweed-linux-gn-crypto-boringssl.textproto
@@ -0,0 +1,75 @@
+# Auto-generated by lucicfg.
+# Do not modify manually.
+#
+# For the schema of this file, see Bucket message:
+#   https://luci-config.appspot.com/schemas/projects:buildbucket.cfg
+
+name: "try"
+acls {
+  group: "all"
+}
+acls {
+  role: SCHEDULER
+  identity: "user:pigweed-try-builder@pigweed.google.com.iam.gserviceaccount.com"
+}
+acls {
+  role: SCHEDULER
+  group: "project-pigweed-tryjob-access"
+}
+swarming {
+  builders {
+    name: "pigweed-linux-gn-crypto-boringssl"
+    swarming_host: "chromium-swarm.appspot.com"
+    dimensions: "cores:16"
+    dimensions: "cpu:x64|x86-64"
+    dimensions: "os:Debian"
+    dimensions: "pool:luci.pigweed.try"
+    exe {
+      cipd_package: "pigweed/infra/recipe_bundles/pigweed.googlesource.com/infra/recipes"
+      cipd_version: "refs/heads/main"
+      cmd: "luciexe"
+    }
+    properties:
+      '{'
+      '  "$pigweed/checkout": {'
+      '    "branch": "main",'
+      '    "equivalent_remotes": [],'
+      '    "match_branch": true,'
+      '    "remote": "https://pigweed.googlesource.com/pigweed/pigweed",'
+      '    "use_repo": false'
+      '  },'
+      '  "$pigweed/environment": {'
+      '    "config_file": "pw_env_setup/config.json"'
+      '  },'
+      '  "$pigweed/pw_presubmit": {'
+      '    "step": ['
+      '      "gn_crypto_boringssl_build"'
+      '    ]'
+      '  },'
+      '  "recipe": "pw_presubmit",'
+      '  "step": ['
+      '    "gn_crypto_boringssl_build"'
+      '  ]'
+      '}'
+    priority: 40
+    execution_timeout_secs: 2700
+    caches {
+      name: "builder"
+      path: "builder"
+    }
+    caches {
+      name: "pip"
+      path: "pip"
+      wait_for_warm_cache_secs: 60
+    }
+    service_account: "pigweed-try-builder@pigweed.google.com.iam.gserviceaccount.com"
+    experiments {
+      key: "luci.recipes.use_python3"
+      value: 100
+    }
+    experiments {
+      key: "luci.use_realms"
+      value: 100
+    }
+  }
+}
diff --git a/generated/pigweed/for_review_only/buildbucket/try/pigweed-linux-gn-crypto-build-micro-ecc.textproto b/generated/pigweed/for_review_only/buildbucket/try/pigweed-linux-gn-crypto-build-micro-ecc.textproto
new file mode 100644
index 0000000..5c37853
--- /dev/null
+++ b/generated/pigweed/for_review_only/buildbucket/try/pigweed-linux-gn-crypto-build-micro-ecc.textproto
@@ -0,0 +1,75 @@
+# Auto-generated by lucicfg.
+# Do not modify manually.
+#
+# For the schema of this file, see Bucket message:
+#   https://luci-config.appspot.com/schemas/projects:buildbucket.cfg
+
+name: "try"
+acls {
+  group: "all"
+}
+acls {
+  role: SCHEDULER
+  identity: "user:pigweed-try-builder@pigweed.google.com.iam.gserviceaccount.com"
+}
+acls {
+  role: SCHEDULER
+  group: "project-pigweed-tryjob-access"
+}
+swarming {
+  builders {
+    name: "pigweed-linux-gn-crypto-build-micro-ecc"
+    swarming_host: "chromium-swarm.appspot.com"
+    dimensions: "cores:16"
+    dimensions: "cpu:x64|x86-64"
+    dimensions: "os:Debian"
+    dimensions: "pool:luci.pigweed.try"
+    exe {
+      cipd_package: "pigweed/infra/recipe_bundles/pigweed.googlesource.com/infra/recipes"
+      cipd_version: "refs/heads/main"
+      cmd: "luciexe"
+    }
+    properties:
+      '{'
+      '  "$pigweed/checkout": {'
+      '    "branch": "main",'
+      '    "equivalent_remotes": [],'
+      '    "match_branch": true,'
+      '    "remote": "https://pigweed.googlesource.com/pigweed/pigweed",'
+      '    "use_repo": false'
+      '  },'
+      '  "$pigweed/environment": {'
+      '    "config_file": "pw_env_setup/config.json"'
+      '  },'
+      '  "$pigweed/pw_presubmit": {'
+      '    "step": ['
+      '      "gn_crypto_micro_ecc_build"'
+      '    ]'
+      '  },'
+      '  "recipe": "pw_presubmit",'
+      '  "step": ['
+      '    "gn_crypto_micro_ecc_build"'
+      '  ]'
+      '}'
+    priority: 40
+    execution_timeout_secs: 2700
+    caches {
+      name: "builder"
+      path: "builder"
+    }
+    caches {
+      name: "pip"
+      path: "pip"
+      wait_for_warm_cache_secs: 60
+    }
+    service_account: "pigweed-try-builder@pigweed.google.com.iam.gserviceaccount.com"
+    experiments {
+      key: "luci.recipes.use_python3"
+      value: 100
+    }
+    experiments {
+      key: "luci.use_realms"
+      value: 100
+    }
+  }
+}
diff --git a/generated/pigweed/for_review_only/buildbucket/try/pigweed-linux-gn-crypto-mbedtls.textproto b/generated/pigweed/for_review_only/buildbucket/try/pigweed-linux-gn-crypto-mbedtls.textproto
new file mode 100644
index 0000000..ec748e3
--- /dev/null
+++ b/generated/pigweed/for_review_only/buildbucket/try/pigweed-linux-gn-crypto-mbedtls.textproto
@@ -0,0 +1,75 @@
+# Auto-generated by lucicfg.
+# Do not modify manually.
+#
+# For the schema of this file, see Bucket message:
+#   https://luci-config.appspot.com/schemas/projects:buildbucket.cfg
+
+name: "try"
+acls {
+  group: "all"
+}
+acls {
+  role: SCHEDULER
+  identity: "user:pigweed-try-builder@pigweed.google.com.iam.gserviceaccount.com"
+}
+acls {
+  role: SCHEDULER
+  group: "project-pigweed-tryjob-access"
+}
+swarming {
+  builders {
+    name: "pigweed-linux-gn-crypto-mbedtls"
+    swarming_host: "chromium-swarm.appspot.com"
+    dimensions: "cores:16"
+    dimensions: "cpu:x64|x86-64"
+    dimensions: "os:Debian"
+    dimensions: "pool:luci.pigweed.try"
+    exe {
+      cipd_package: "pigweed/infra/recipe_bundles/pigweed.googlesource.com/infra/recipes"
+      cipd_version: "refs/heads/main"
+      cmd: "luciexe"
+    }
+    properties:
+      '{'
+      '  "$pigweed/checkout": {'
+      '    "branch": "main",'
+      '    "equivalent_remotes": [],'
+      '    "match_branch": true,'
+      '    "remote": "https://pigweed.googlesource.com/pigweed/pigweed",'
+      '    "use_repo": false'
+      '  },'
+      '  "$pigweed/environment": {'
+      '    "config_file": "pw_env_setup/config.json"'
+      '  },'
+      '  "$pigweed/pw_presubmit": {'
+      '    "step": ['
+      '      "gn_crypto_mbedtls_build"'
+      '    ]'
+      '  },'
+      '  "recipe": "pw_presubmit",'
+      '  "step": ['
+      '    "gn_crypto_mbedtls_build"'
+      '  ]'
+      '}'
+    priority: 40
+    execution_timeout_secs: 2700
+    caches {
+      name: "builder"
+      path: "builder"
+    }
+    caches {
+      name: "pip"
+      path: "pip"
+      wait_for_warm_cache_secs: 60
+    }
+    service_account: "pigweed-try-builder@pigweed.google.com.iam.gserviceaccount.com"
+    experiments {
+      key: "luci.recipes.use_python3"
+      value: 100
+    }
+    experiments {
+      key: "luci.use_realms"
+      value: 100
+    }
+  }
+}
diff --git a/generated/pigweed/for_review_only/buildbucket/try/pigweed-linux-gn-hosttools.textproto b/generated/pigweed/for_review_only/buildbucket/try/pigweed-linux-gn-hosttools.textproto
new file mode 100644
index 0000000..b61f8b9
--- /dev/null
+++ b/generated/pigweed/for_review_only/buildbucket/try/pigweed-linux-gn-hosttools.textproto
@@ -0,0 +1,80 @@
+# Auto-generated by lucicfg.
+# Do not modify manually.
+#
+# For the schema of this file, see Bucket message:
+#   https://luci-config.appspot.com/schemas/projects:buildbucket.cfg
+
+name: "try"
+acls {
+  group: "all"
+}
+acls {
+  role: SCHEDULER
+  identity: "user:pigweed-try-builder@pigweed.google.com.iam.gserviceaccount.com"
+}
+acls {
+  role: SCHEDULER
+  group: "project-pigweed-tryjob-access"
+}
+swarming {
+  builders {
+    name: "pigweed-linux-gn-hosttools"
+    swarming_host: "chromium-swarm.appspot.com"
+    dimensions: "cores:16"
+    dimensions: "cpu:x64|x86-64"
+    dimensions: "os:Debian"
+    dimensions: "pool:luci.pigweed.try"
+    exe {
+      cipd_package: "pigweed/infra/recipe_bundles/pigweed.googlesource.com/infra/recipes"
+      cipd_version: "refs/heads/main"
+      cmd: "luciexe"
+    }
+    properties:
+      '{'
+      '  "$pigweed/checkout": {'
+      '    "branch": "main",'
+      '    "equivalent_remotes": [],'
+      '    "match_branch": true,'
+      '    "remote": "https://pigweed.googlesource.com/pigweed/pigweed",'
+      '    "use_repo": false'
+      '  },'
+      '  "$pigweed/environment": {'
+      '    "config_file": "pw_env_setup/config.json"'
+      '  },'
+      '  "$pigweed/pw_presubmit": {'
+      '    "step": ['
+      '      "gn_host_tools"'
+      '    ]'
+      '  },'
+      '  "recipe": "pw_presubmit",'
+      '  "step": ['
+      '    "gn_host_tools"'
+      '  ]'
+      '}'
+    priority: 40
+    execution_timeout_secs: 2700
+    caches {
+      name: "builder"
+      path: "builder"
+    }
+    caches {
+      name: "go"
+      path: "go"
+      wait_for_warm_cache_secs: 120
+    }
+    caches {
+      name: "pip"
+      path: "pip"
+      wait_for_warm_cache_secs: 60
+    }
+    service_account: "pigweed-try-builder@pigweed.google.com.iam.gserviceaccount.com"
+    experiments {
+      key: "luci.recipes.use_python3"
+      value: 100
+    }
+    experiments {
+      key: "luci.use_realms"
+      value: 100
+    }
+  }
+}
diff --git a/generated/pigweed/for_review_only/buildbucket/try/pigweed-linux-gn-nanopb.textproto b/generated/pigweed/for_review_only/buildbucket/try/pigweed-linux-gn-nanopb.textproto
new file mode 100644
index 0000000..f393a57
--- /dev/null
+++ b/generated/pigweed/for_review_only/buildbucket/try/pigweed-linux-gn-nanopb.textproto
@@ -0,0 +1,75 @@
+# Auto-generated by lucicfg.
+# Do not modify manually.
+#
+# For the schema of this file, see Bucket message:
+#   https://luci-config.appspot.com/schemas/projects:buildbucket.cfg
+
+name: "try"
+acls {
+  group: "all"
+}
+acls {
+  role: SCHEDULER
+  identity: "user:pigweed-try-builder@pigweed.google.com.iam.gserviceaccount.com"
+}
+acls {
+  role: SCHEDULER
+  group: "project-pigweed-tryjob-access"
+}
+swarming {
+  builders {
+    name: "pigweed-linux-gn-nanopb"
+    swarming_host: "chromium-swarm.appspot.com"
+    dimensions: "cores:16"
+    dimensions: "cpu:x64|x86-64"
+    dimensions: "os:Debian"
+    dimensions: "pool:luci.pigweed.try"
+    exe {
+      cipd_package: "pigweed/infra/recipe_bundles/pigweed.googlesource.com/infra/recipes"
+      cipd_version: "refs/heads/main"
+      cmd: "luciexe"
+    }
+    properties:
+      '{'
+      '  "$pigweed/checkout": {'
+      '    "branch": "main",'
+      '    "equivalent_remotes": [],'
+      '    "match_branch": true,'
+      '    "remote": "https://pigweed.googlesource.com/pigweed/pigweed",'
+      '    "use_repo": false'
+      '  },'
+      '  "$pigweed/environment": {'
+      '    "config_file": "pw_env_setup/config.json"'
+      '  },'
+      '  "$pigweed/pw_presubmit": {'
+      '    "step": ['
+      '      "gn_nanopb_build"'
+      '    ]'
+      '  },'
+      '  "recipe": "pw_presubmit",'
+      '  "step": ['
+      '    "gn_nanopb_build"'
+      '  ]'
+      '}'
+    priority: 40
+    execution_timeout_secs: 2700
+    caches {
+      name: "builder"
+      path: "builder"
+    }
+    caches {
+      name: "pip"
+      path: "pip"
+      wait_for_warm_cache_secs: 60
+    }
+    service_account: "pigweed-try-builder@pigweed.google.com.iam.gserviceaccount.com"
+    experiments {
+      key: "luci.recipes.use_python3"
+      value: 100
+    }
+    experiments {
+      key: "luci.use_realms"
+      value: 100
+    }
+  }
+}
diff --git a/generated/pigweed/for_review_only/buildbucket/try/pigweed-linux-gn-software-update.textproto b/generated/pigweed/for_review_only/buildbucket/try/pigweed-linux-gn-software-update.textproto
new file mode 100644
index 0000000..e51a7ad
--- /dev/null
+++ b/generated/pigweed/for_review_only/buildbucket/try/pigweed-linux-gn-software-update.textproto
@@ -0,0 +1,75 @@
+# Auto-generated by lucicfg.
+# Do not modify manually.
+#
+# For the schema of this file, see Bucket message:
+#   https://luci-config.appspot.com/schemas/projects:buildbucket.cfg
+
+name: "try"
+acls {
+  group: "all"
+}
+acls {
+  role: SCHEDULER
+  identity: "user:pigweed-try-builder@pigweed.google.com.iam.gserviceaccount.com"
+}
+acls {
+  role: SCHEDULER
+  group: "project-pigweed-tryjob-access"
+}
+swarming {
+  builders {
+    name: "pigweed-linux-gn-software-update"
+    swarming_host: "chromium-swarm.appspot.com"
+    dimensions: "cores:16"
+    dimensions: "cpu:x64|x86-64"
+    dimensions: "os:Debian"
+    dimensions: "pool:luci.pigweed.try"
+    exe {
+      cipd_package: "pigweed/infra/recipe_bundles/pigweed.googlesource.com/infra/recipes"
+      cipd_version: "refs/heads/main"
+      cmd: "luciexe"
+    }
+    properties:
+      '{'
+      '  "$pigweed/checkout": {'
+      '    "branch": "main",'
+      '    "equivalent_remotes": [],'
+      '    "match_branch": true,'
+      '    "remote": "https://pigweed.googlesource.com/pigweed/pigweed",'
+      '    "use_repo": false'
+      '  },'
+      '  "$pigweed/environment": {'
+      '    "config_file": "pw_env_setup/config.json"'
+      '  },'
+      '  "$pigweed/pw_presubmit": {'
+      '    "step": ['
+      '      "gn_software_update_build"'
+      '    ]'
+      '  },'
+      '  "recipe": "pw_presubmit",'
+      '  "step": ['
+      '    "gn_software_update_build"'
+      '  ]'
+      '}'
+    priority: 40
+    execution_timeout_secs: 2700
+    caches {
+      name: "builder"
+      path: "builder"
+    }
+    caches {
+      name: "pip"
+      path: "pip"
+      wait_for_warm_cache_secs: 60
+    }
+    service_account: "pigweed-try-builder@pigweed.google.com.iam.gserviceaccount.com"
+    experiments {
+      key: "luci.recipes.use_python3"
+      value: 100
+    }
+    experiments {
+      key: "luci.use_realms"
+      value: 100
+    }
+  }
+}
diff --git a/generated/pigweed/for_review_only/buildbucket/try/pigweed-linux-gn-teensy.textproto b/generated/pigweed/for_review_only/buildbucket/try/pigweed-linux-gn-teensy.textproto
new file mode 100644
index 0000000..e3b7c10
--- /dev/null
+++ b/generated/pigweed/for_review_only/buildbucket/try/pigweed-linux-gn-teensy.textproto
@@ -0,0 +1,75 @@
+# Auto-generated by lucicfg.
+# Do not modify manually.
+#
+# For the schema of this file, see Bucket message:
+#   https://luci-config.appspot.com/schemas/projects:buildbucket.cfg
+
+name: "try"
+acls {
+  group: "all"
+}
+acls {
+  role: SCHEDULER
+  identity: "user:pigweed-try-builder@pigweed.google.com.iam.gserviceaccount.com"
+}
+acls {
+  role: SCHEDULER
+  group: "project-pigweed-tryjob-access"
+}
+swarming {
+  builders {
+    name: "pigweed-linux-gn-teensy"
+    swarming_host: "chromium-swarm.appspot.com"
+    dimensions: "cores:16"
+    dimensions: "cpu:x64|x86-64"
+    dimensions: "os:Debian"
+    dimensions: "pool:luci.pigweed.try"
+    exe {
+      cipd_package: "pigweed/infra/recipe_bundles/pigweed.googlesource.com/infra/recipes"
+      cipd_version: "refs/heads/main"
+      cmd: "luciexe"
+    }
+    properties:
+      '{'
+      '  "$pigweed/checkout": {'
+      '    "branch": "main",'
+      '    "equivalent_remotes": [],'
+      '    "match_branch": true,'
+      '    "remote": "https://pigweed.googlesource.com/pigweed/pigweed",'
+      '    "use_repo": false'
+      '  },'
+      '  "$pigweed/environment": {'
+      '    "config_file": "pw_env_setup/config.json"'
+      '  },'
+      '  "$pigweed/pw_presubmit": {'
+      '    "step": ['
+      '      "gn_teensy_build"'
+      '    ]'
+      '  },'
+      '  "recipe": "pw_presubmit",'
+      '  "step": ['
+      '    "gn_teensy_build"'
+      '  ]'
+      '}'
+    priority: 40
+    execution_timeout_secs: 2700
+    caches {
+      name: "builder"
+      path: "builder"
+    }
+    caches {
+      name: "pip"
+      path: "pip"
+      wait_for_warm_cache_secs: 60
+    }
+    service_account: "pigweed-try-builder@pigweed.google.com.iam.gserviceaccount.com"
+    experiments {
+      key: "luci.recipes.use_python3"
+      value: 100
+    }
+    experiments {
+      key: "luci.use_realms"
+      value: 100
+    }
+  }
+}
diff --git a/generated/pigweed/for_review_only/buildbucket/try/pigweed-linux-main-host-disco.textproto b/generated/pigweed/for_review_only/buildbucket/try/pigweed-linux-main-host-disco.textproto
new file mode 100644
index 0000000..c7892d5
--- /dev/null
+++ b/generated/pigweed/for_review_only/buildbucket/try/pigweed-linux-main-host-disco.textproto
@@ -0,0 +1,75 @@
+# Auto-generated by lucicfg.
+# Do not modify manually.
+#
+# For the schema of this file, see Bucket message:
+#   https://luci-config.appspot.com/schemas/projects:buildbucket.cfg
+
+name: "try"
+acls {
+  group: "all"
+}
+acls {
+  role: SCHEDULER
+  identity: "user:pigweed-try-builder@pigweed.google.com.iam.gserviceaccount.com"
+}
+acls {
+  role: SCHEDULER
+  group: "project-pigweed-tryjob-access"
+}
+swarming {
+  builders {
+    name: "pigweed-linux-main-host-disco"
+    swarming_host: "chromium-swarm.appspot.com"
+    dimensions: "cores:16"
+    dimensions: "cpu:x64|x86-64"
+    dimensions: "os:Debian"
+    dimensions: "pool:luci.pigweed.try"
+    exe {
+      cipd_package: "pigweed/infra/recipe_bundles/pigweed.googlesource.com/infra/recipes"
+      cipd_version: "refs/heads/main"
+      cmd: "luciexe"
+    }
+    properties:
+      '{'
+      '  "$pigweed/checkout": {'
+      '    "branch": "main",'
+      '    "equivalent_remotes": [],'
+      '    "match_branch": true,'
+      '    "remote": "https://pigweed.googlesource.com/pigweed/pigweed",'
+      '    "use_repo": false'
+      '  },'
+      '  "$pigweed/environment": {'
+      '    "config_file": "pw_env_setup/config.json"'
+      '  },'
+      '  "$pigweed/pw_presubmit": {'
+      '    "step": ['
+      '      "gn_full_build_check"'
+      '    ]'
+      '  },'
+      '  "recipe": "pw_presubmit",'
+      '  "step": ['
+      '    "gn_full_build_check"'
+      '  ]'
+      '}'
+    priority: 40
+    execution_timeout_secs: 2700
+    caches {
+      name: "builder"
+      path: "builder"
+    }
+    caches {
+      name: "pip"
+      path: "pip"
+      wait_for_warm_cache_secs: 60
+    }
+    service_account: "pigweed-try-builder@pigweed.google.com.iam.gserviceaccount.com"
+    experiments {
+      key: "luci.recipes.use_python3"
+      value: 100
+    }
+    experiments {
+      key: "luci.use_realms"
+      value: 100
+    }
+  }
+}
diff --git a/generated/pigweed/for_review_only/buildbucket/try/pigweed-linux-qemu-compatibility-clang-armgcc.textproto b/generated/pigweed/for_review_only/buildbucket/try/pigweed-linux-qemu-compatibility-clang-armgcc.textproto
new file mode 100644
index 0000000..17f44a6
--- /dev/null
+++ b/generated/pigweed/for_review_only/buildbucket/try/pigweed-linux-qemu-compatibility-clang-armgcc.textproto
@@ -0,0 +1,75 @@
+# Auto-generated by lucicfg.
+# Do not modify manually.
+#
+# For the schema of this file, see Bucket message:
+#   https://luci-config.appspot.com/schemas/projects:buildbucket.cfg
+
+name: "try"
+acls {
+  group: "all"
+}
+acls {
+  role: SCHEDULER
+  identity: "user:pigweed-try-builder@pigweed.google.com.iam.gserviceaccount.com"
+}
+acls {
+  role: SCHEDULER
+  group: "project-pigweed-tryjob-access"
+}
+swarming {
+  builders {
+    name: "pigweed-linux-qemu-compatibility-clang-armgcc"
+    swarming_host: "chromium-swarm.appspot.com"
+    dimensions: "cores:16"
+    dimensions: "cpu:x64|x86-64"
+    dimensions: "os:Debian"
+    dimensions: "pool:luci.pigweed.try"
+    exe {
+      cipd_package: "pigweed/infra/recipe_bundles/pigweed.googlesource.com/infra/recipes"
+      cipd_version: "refs/heads/main"
+      cmd: "luciexe"
+    }
+    properties:
+      '{'
+      '  "$pigweed/checkout": {'
+      '    "branch": "main",'
+      '    "equivalent_remotes": [],'
+      '    "match_branch": true,'
+      '    "remote": "https://pigweed.googlesource.com/pigweed/pigweed",'
+      '    "use_repo": false'
+      '  },'
+      '  "$pigweed/environment": {'
+      '    "config_file": "pw_env_setup/compatibility.json"'
+      '  },'
+      '  "$pigweed/pw_presubmit": {'
+      '    "step": ['
+      '      "gn_full_qemu_check"'
+      '    ]'
+      '  },'
+      '  "recipe": "pw_presubmit",'
+      '  "step": ['
+      '    "gn_full_qemu_check"'
+      '  ]'
+      '}'
+    priority: 40
+    execution_timeout_secs: 2700
+    caches {
+      name: "builder"
+      path: "builder"
+    }
+    caches {
+      name: "pip"
+      path: "pip"
+      wait_for_warm_cache_secs: 60
+    }
+    service_account: "pigweed-try-builder@pigweed.google.com.iam.gserviceaccount.com"
+    experiments {
+      key: "luci.recipes.use_python3"
+      value: 100
+    }
+    experiments {
+      key: "luci.use_realms"
+      value: 100
+    }
+  }
+}
diff --git a/generated/pigweed/for_review_only/buildbucket/try/pigweed-linux-qemu-main-clang-armgcc.textproto b/generated/pigweed/for_review_only/buildbucket/try/pigweed-linux-qemu-main-clang-armgcc.textproto
new file mode 100644
index 0000000..0c761cf
--- /dev/null
+++ b/generated/pigweed/for_review_only/buildbucket/try/pigweed-linux-qemu-main-clang-armgcc.textproto
@@ -0,0 +1,75 @@
+# Auto-generated by lucicfg.
+# Do not modify manually.
+#
+# For the schema of this file, see Bucket message:
+#   https://luci-config.appspot.com/schemas/projects:buildbucket.cfg
+
+name: "try"
+acls {
+  group: "all"
+}
+acls {
+  role: SCHEDULER
+  identity: "user:pigweed-try-builder@pigweed.google.com.iam.gserviceaccount.com"
+}
+acls {
+  role: SCHEDULER
+  group: "project-pigweed-tryjob-access"
+}
+swarming {
+  builders {
+    name: "pigweed-linux-qemu-main-clang-armgcc"
+    swarming_host: "chromium-swarm.appspot.com"
+    dimensions: "cores:16"
+    dimensions: "cpu:x64|x86-64"
+    dimensions: "os:Debian"
+    dimensions: "pool:luci.pigweed.try"
+    exe {
+      cipd_package: "pigweed/infra/recipe_bundles/pigweed.googlesource.com/infra/recipes"
+      cipd_version: "refs/heads/main"
+      cmd: "luciexe"
+    }
+    properties:
+      '{'
+      '  "$pigweed/checkout": {'
+      '    "branch": "main",'
+      '    "equivalent_remotes": [],'
+      '    "match_branch": true,'
+      '    "remote": "https://pigweed.googlesource.com/pigweed/pigweed",'
+      '    "use_repo": false'
+      '  },'
+      '  "$pigweed/environment": {'
+      '    "config_file": "pw_env_setup/config.json"'
+      '  },'
+      '  "$pigweed/pw_presubmit": {'
+      '    "step": ['
+      '      "gn_full_qemu_check"'
+      '    ]'
+      '  },'
+      '  "recipe": "pw_presubmit",'
+      '  "step": ['
+      '    "gn_full_qemu_check"'
+      '  ]'
+      '}'
+    priority: 40
+    execution_timeout_secs: 2700
+    caches {
+      name: "builder"
+      path: "builder"
+    }
+    caches {
+      name: "pip"
+      path: "pip"
+      wait_for_warm_cache_secs: 60
+    }
+    service_account: "pigweed-try-builder@pigweed.google.com.iam.gserviceaccount.com"
+    experiments {
+      key: "luci.recipes.use_python3"
+      value: 100
+    }
+    experiments {
+      key: "luci.use_realms"
+      value: 100
+    }
+  }
+}
diff --git a/generated/pigweed/for_review_only/buildbucket/try/pigweed-linux-san-asan.textproto b/generated/pigweed/for_review_only/buildbucket/try/pigweed-linux-san-asan.textproto
new file mode 100644
index 0000000..07e3e42
--- /dev/null
+++ b/generated/pigweed/for_review_only/buildbucket/try/pigweed-linux-san-asan.textproto
@@ -0,0 +1,75 @@
+# Auto-generated by lucicfg.
+# Do not modify manually.
+#
+# For the schema of this file, see Bucket message:
+#   https://luci-config.appspot.com/schemas/projects:buildbucket.cfg
+
+name: "try"
+acls {
+  group: "all"
+}
+acls {
+  role: SCHEDULER
+  identity: "user:pigweed-try-builder@pigweed.google.com.iam.gserviceaccount.com"
+}
+acls {
+  role: SCHEDULER
+  group: "project-pigweed-tryjob-access"
+}
+swarming {
+  builders {
+    name: "pigweed-linux-san-asan"
+    swarming_host: "chromium-swarm.appspot.com"
+    dimensions: "cores:16"
+    dimensions: "cpu:x64|x86-64"
+    dimensions: "os:Debian"
+    dimensions: "pool:luci.pigweed.try"
+    exe {
+      cipd_package: "pigweed/infra/recipe_bundles/pigweed.googlesource.com/infra/recipes"
+      cipd_version: "refs/heads/main"
+      cmd: "luciexe"
+    }
+    properties:
+      '{'
+      '  "$pigweed/checkout": {'
+      '    "branch": "main",'
+      '    "equivalent_remotes": [],'
+      '    "match_branch": true,'
+      '    "remote": "https://pigweed.googlesource.com/pigweed/pigweed",'
+      '    "use_repo": false'
+      '  },'
+      '  "$pigweed/environment": {'
+      '    "config_file": "pw_env_setup/config.json"'
+      '  },'
+      '  "$pigweed/pw_presubmit": {'
+      '    "step": ['
+      '      "asan"'
+      '    ]'
+      '  },'
+      '  "recipe": "pw_presubmit",'
+      '  "step": ['
+      '    "asan"'
+      '  ]'
+      '}'
+    priority: 40
+    execution_timeout_secs: 2700
+    caches {
+      name: "builder"
+      path: "builder"
+    }
+    caches {
+      name: "pip"
+      path: "pip"
+      wait_for_warm_cache_secs: 60
+    }
+    service_account: "pigweed-try-builder@pigweed.google.com.iam.gserviceaccount.com"
+    experiments {
+      key: "luci.recipes.use_python3"
+      value: 100
+    }
+    experiments {
+      key: "luci.use_realms"
+      value: 100
+    }
+  }
+}
diff --git a/generated/pigweed/for_review_only/buildbucket/try/pigweed-linux-san-tsan.textproto b/generated/pigweed/for_review_only/buildbucket/try/pigweed-linux-san-tsan.textproto
new file mode 100644
index 0000000..6c5c7d2
--- /dev/null
+++ b/generated/pigweed/for_review_only/buildbucket/try/pigweed-linux-san-tsan.textproto
@@ -0,0 +1,75 @@
+# Auto-generated by lucicfg.
+# Do not modify manually.
+#
+# For the schema of this file, see Bucket message:
+#   https://luci-config.appspot.com/schemas/projects:buildbucket.cfg
+
+name: "try"
+acls {
+  group: "all"
+}
+acls {
+  role: SCHEDULER
+  identity: "user:pigweed-try-builder@pigweed.google.com.iam.gserviceaccount.com"
+}
+acls {
+  role: SCHEDULER
+  group: "project-pigweed-tryjob-access"
+}
+swarming {
+  builders {
+    name: "pigweed-linux-san-tsan"
+    swarming_host: "chromium-swarm.appspot.com"
+    dimensions: "cores:16"
+    dimensions: "cpu:x64|x86-64"
+    dimensions: "os:Debian"
+    dimensions: "pool:luci.pigweed.try"
+    exe {
+      cipd_package: "pigweed/infra/recipe_bundles/pigweed.googlesource.com/infra/recipes"
+      cipd_version: "refs/heads/main"
+      cmd: "luciexe"
+    }
+    properties:
+      '{'
+      '  "$pigweed/checkout": {'
+      '    "branch": "main",'
+      '    "equivalent_remotes": [],'
+      '    "match_branch": true,'
+      '    "remote": "https://pigweed.googlesource.com/pigweed/pigweed",'
+      '    "use_repo": false'
+      '  },'
+      '  "$pigweed/environment": {'
+      '    "config_file": "pw_env_setup/config.json"'
+      '  },'
+      '  "$pigweed/pw_presubmit": {'
+      '    "step": ['
+      '      "tsan"'
+      '    ]'
+      '  },'
+      '  "recipe": "pw_presubmit",'
+      '  "step": ['
+      '    "tsan"'
+      '  ]'
+      '}'
+    priority: 40
+    execution_timeout_secs: 2700
+    caches {
+      name: "builder"
+      path: "builder"
+    }
+    caches {
+      name: "pip"
+      path: "pip"
+      wait_for_warm_cache_secs: 60
+    }
+    service_account: "pigweed-try-builder@pigweed.google.com.iam.gserviceaccount.com"
+    experiments {
+      key: "luci.recipes.use_python3"
+      value: 100
+    }
+    experiments {
+      key: "luci.use_realms"
+      value: 100
+    }
+  }
+}
diff --git a/generated/pigweed/for_review_only/buildbucket/try/pigweed-linux-san-ubsan.textproto b/generated/pigweed/for_review_only/buildbucket/try/pigweed-linux-san-ubsan.textproto
new file mode 100644
index 0000000..36ccb13
--- /dev/null
+++ b/generated/pigweed/for_review_only/buildbucket/try/pigweed-linux-san-ubsan.textproto
@@ -0,0 +1,75 @@
+# Auto-generated by lucicfg.
+# Do not modify manually.
+#
+# For the schema of this file, see Bucket message:
+#   https://luci-config.appspot.com/schemas/projects:buildbucket.cfg
+
+name: "try"
+acls {
+  group: "all"
+}
+acls {
+  role: SCHEDULER
+  identity: "user:pigweed-try-builder@pigweed.google.com.iam.gserviceaccount.com"
+}
+acls {
+  role: SCHEDULER
+  group: "project-pigweed-tryjob-access"
+}
+swarming {
+  builders {
+    name: "pigweed-linux-san-ubsan"
+    swarming_host: "chromium-swarm.appspot.com"
+    dimensions: "cores:16"
+    dimensions: "cpu:x64|x86-64"
+    dimensions: "os:Debian"
+    dimensions: "pool:luci.pigweed.try"
+    exe {
+      cipd_package: "pigweed/infra/recipe_bundles/pigweed.googlesource.com/infra/recipes"
+      cipd_version: "refs/heads/main"
+      cmd: "luciexe"
+    }
+    properties:
+      '{'
+      '  "$pigweed/checkout": {'
+      '    "branch": "main",'
+      '    "equivalent_remotes": [],'
+      '    "match_branch": true,'
+      '    "remote": "https://pigweed.googlesource.com/pigweed/pigweed",'
+      '    "use_repo": false'
+      '  },'
+      '  "$pigweed/environment": {'
+      '    "config_file": "pw_env_setup/config.json"'
+      '  },'
+      '  "$pigweed/pw_presubmit": {'
+      '    "step": ['
+      '      "ubsan"'
+      '    ]'
+      '  },'
+      '  "recipe": "pw_presubmit",'
+      '  "step": ['
+      '    "ubsan"'
+      '  ]'
+      '}'
+    priority: 40
+    execution_timeout_secs: 2700
+    caches {
+      name: "builder"
+      path: "builder"
+    }
+    caches {
+      name: "pip"
+      path: "pip"
+      wait_for_warm_cache_secs: 60
+    }
+    service_account: "pigweed-try-builder@pigweed.google.com.iam.gserviceaccount.com"
+    experiments {
+      key: "luci.recipes.use_python3"
+      value: 100
+    }
+    experiments {
+      key: "luci.use_realms"
+      value: 100
+    }
+  }
+}
diff --git a/generated/pigweed/for_review_only/buildbucket/try/pigweed-linux-static-analysis.textproto b/generated/pigweed/for_review_only/buildbucket/try/pigweed-linux-static-analysis.textproto
new file mode 100644
index 0000000..857ce33
--- /dev/null
+++ b/generated/pigweed/for_review_only/buildbucket/try/pigweed-linux-static-analysis.textproto
@@ -0,0 +1,75 @@
+# Auto-generated by lucicfg.
+# Do not modify manually.
+#
+# For the schema of this file, see Bucket message:
+#   https://luci-config.appspot.com/schemas/projects:buildbucket.cfg
+
+name: "try"
+acls {
+  group: "all"
+}
+acls {
+  role: SCHEDULER
+  identity: "user:pigweed-try-builder@pigweed.google.com.iam.gserviceaccount.com"
+}
+acls {
+  role: SCHEDULER
+  group: "project-pigweed-tryjob-access"
+}
+swarming {
+  builders {
+    name: "pigweed-linux-static-analysis"
+    swarming_host: "chromium-swarm.appspot.com"
+    dimensions: "cores:16"
+    dimensions: "cpu:x64|x86-64"
+    dimensions: "os:Debian"
+    dimensions: "pool:luci.pigweed.try"
+    exe {
+      cipd_package: "pigweed/infra/recipe_bundles/pigweed.googlesource.com/infra/recipes"
+      cipd_version: "refs/heads/main"
+      cmd: "luciexe"
+    }
+    properties:
+      '{'
+      '  "$pigweed/checkout": {'
+      '    "branch": "main",'
+      '    "equivalent_remotes": [],'
+      '    "match_branch": true,'
+      '    "remote": "https://pigweed.googlesource.com/pigweed/pigweed",'
+      '    "use_repo": false'
+      '  },'
+      '  "$pigweed/environment": {'
+      '    "config_file": "pw_env_setup/config.json"'
+      '  },'
+      '  "$pigweed/pw_presubmit": {'
+      '    "step": ['
+      '      "static_analysis"'
+      '    ]'
+      '  },'
+      '  "recipe": "pw_presubmit",'
+      '  "step": ['
+      '    "static_analysis"'
+      '  ]'
+      '}'
+    priority: 40
+    execution_timeout_secs: 2700
+    caches {
+      name: "builder"
+      path: "builder"
+    }
+    caches {
+      name: "pip"
+      path: "pip"
+      wait_for_warm_cache_secs: 60
+    }
+    service_account: "pigweed-try-builder@pigweed.google.com.iam.gserviceaccount.com"
+    experiments {
+      key: "luci.recipes.use_python3"
+      value: 100
+    }
+    experiments {
+      key: "luci.use_realms"
+      value: 100
+    }
+  }
+}
diff --git a/generated/pigweed/for_review_only/buildbucket/try/pigweed-mac-bazel-host-clang.textproto b/generated/pigweed/for_review_only/buildbucket/try/pigweed-mac-bazel-host-clang.textproto
new file mode 100644
index 0000000..e723422
--- /dev/null
+++ b/generated/pigweed/for_review_only/buildbucket/try/pigweed-mac-bazel-host-clang.textproto
@@ -0,0 +1,87 @@
+# Auto-generated by lucicfg.
+# Do not modify manually.
+#
+# For the schema of this file, see Bucket message:
+#   https://luci-config.appspot.com/schemas/projects:buildbucket.cfg
+
+name: "try"
+acls {
+  group: "all"
+}
+acls {
+  role: SCHEDULER
+  identity: "user:pigweed-try-builder@pigweed.google.com.iam.gserviceaccount.com"
+}
+acls {
+  role: SCHEDULER
+  group: "project-pigweed-tryjob-access"
+}
+swarming {
+  builders {
+    name: "pigweed-mac-bazel-host-clang"
+    swarming_host: "chromium-swarm.appspot.com"
+    dimensions: "cpu:x64|x86-64"
+    dimensions: "os:Mac"
+    dimensions: "pool:luci.pigweed.try"
+    exe {
+      cipd_package: "pigweed/infra/recipe_bundles/pigweed.googlesource.com/infra/recipes"
+      cipd_version: "refs/heads/main"
+      cmd: "luciexe"
+    }
+    properties:
+      '{'
+      '  "$pigweed/checkout": {'
+      '    "branch": "main",'
+      '    "equivalent_remotes": [],'
+      '    "match_branch": true,'
+      '    "remote": "https://pigweed.googlesource.com/pigweed/pigweed",'
+      '    "use_repo": false'
+      '  },'
+      '  "$pigweed/environment": {'
+      '    "config_file": "pw_env_setup/config.json"'
+      '  },'
+      '  "$pigweed/pw_presubmit": {'
+      '    "step": ['
+      '      "bazel_test"'
+      '    ]'
+      '  },'
+      '  "dry_run": true,'
+      '  "macos_sdk.version": "11c29",'
+      '  "recipe": "pw_presubmit",'
+      '  "step": ['
+      '    "bazel_test"'
+      '  ]'
+      '}'
+    priority: 50
+    execution_timeout_secs: 2700
+    caches {
+      name: "bazel"
+      path: "bazel"
+      wait_for_warm_cache_secs: 60
+    }
+    caches {
+      name: "builder"
+      path: "builder"
+    }
+    caches {
+      name: "macos_sdk"
+      path: "macos_sdk"
+      wait_for_warm_cache_secs: 120
+    }
+    caches {
+      name: "pip"
+      path: "pip"
+      wait_for_warm_cache_secs: 60
+    }
+    service_account: "pigweed-try-builder@pigweed.google.com.iam.gserviceaccount.com"
+    experimental: YES
+    experiments {
+      key: "luci.recipes.use_python3"
+      value: 100
+    }
+    experiments {
+      key: "luci.use_realms"
+      value: 100
+    }
+  }
+}
diff --git a/generated/pigweed/for_review_only/buildbucket/try/pigweed-mac-cmake-host-clang.textproto b/generated/pigweed/for_review_only/buildbucket/try/pigweed-mac-cmake-host-clang.textproto
new file mode 100644
index 0000000..3288d32
--- /dev/null
+++ b/generated/pigweed/for_review_only/buildbucket/try/pigweed-mac-cmake-host-clang.textproto
@@ -0,0 +1,82 @@
+# Auto-generated by lucicfg.
+# Do not modify manually.
+#
+# For the schema of this file, see Bucket message:
+#   https://luci-config.appspot.com/schemas/projects:buildbucket.cfg
+
+name: "try"
+acls {
+  group: "all"
+}
+acls {
+  role: SCHEDULER
+  identity: "user:pigweed-try-builder@pigweed.google.com.iam.gserviceaccount.com"
+}
+acls {
+  role: SCHEDULER
+  group: "project-pigweed-tryjob-access"
+}
+swarming {
+  builders {
+    name: "pigweed-mac-cmake-host-clang"
+    swarming_host: "chromium-swarm.appspot.com"
+    dimensions: "cpu:x64|x86-64"
+    dimensions: "os:Mac"
+    dimensions: "pool:luci.pigweed.try"
+    exe {
+      cipd_package: "pigweed/infra/recipe_bundles/pigweed.googlesource.com/infra/recipes"
+      cipd_version: "refs/heads/main"
+      cmd: "luciexe"
+    }
+    properties:
+      '{'
+      '  "$pigweed/checkout": {'
+      '    "branch": "main",'
+      '    "equivalent_remotes": [],'
+      '    "match_branch": true,'
+      '    "remote": "https://pigweed.googlesource.com/pigweed/pigweed",'
+      '    "use_repo": false'
+      '  },'
+      '  "$pigweed/environment": {'
+      '    "config_file": "pw_env_setup/config.json"'
+      '  },'
+      '  "$pigweed/pw_presubmit": {'
+      '    "step": ['
+      '      "cmake_tests"'
+      '    ]'
+      '  },'
+      '  "dry_run": true,'
+      '  "macos_sdk.version": "11c29",'
+      '  "recipe": "pw_presubmit",'
+      '  "step": ['
+      '    "cmake_tests"'
+      '  ]'
+      '}'
+    priority: 50
+    execution_timeout_secs: 2700
+    caches {
+      name: "builder"
+      path: "builder"
+    }
+    caches {
+      name: "macos_sdk"
+      path: "macos_sdk"
+      wait_for_warm_cache_secs: 120
+    }
+    caches {
+      name: "pip"
+      path: "pip"
+      wait_for_warm_cache_secs: 60
+    }
+    service_account: "pigweed-try-builder@pigweed.google.com.iam.gserviceaccount.com"
+    experimental: YES
+    experiments {
+      key: "luci.recipes.use_python3"
+      value: 100
+    }
+    experiments {
+      key: "luci.use_realms"
+      value: 100
+    }
+  }
+}
diff --git a/generated/pigweed/for_review_only/buildbucket/try/pigweed-mac-compatibility-host-disco.textproto b/generated/pigweed/for_review_only/buildbucket/try/pigweed-mac-compatibility-host-disco.textproto
new file mode 100644
index 0000000..08a5835
--- /dev/null
+++ b/generated/pigweed/for_review_only/buildbucket/try/pigweed-mac-compatibility-host-disco.textproto
@@ -0,0 +1,80 @@
+# Auto-generated by lucicfg.
+# Do not modify manually.
+#
+# For the schema of this file, see Bucket message:
+#   https://luci-config.appspot.com/schemas/projects:buildbucket.cfg
+
+name: "try"
+acls {
+  group: "all"
+}
+acls {
+  role: SCHEDULER
+  identity: "user:pigweed-try-builder@pigweed.google.com.iam.gserviceaccount.com"
+}
+acls {
+  role: SCHEDULER
+  group: "project-pigweed-tryjob-access"
+}
+swarming {
+  builders {
+    name: "pigweed-mac-compatibility-host-disco"
+    swarming_host: "chromium-swarm.appspot.com"
+    dimensions: "cpu:x64|x86-64"
+    dimensions: "os:Mac"
+    dimensions: "pool:luci.pigweed.try"
+    exe {
+      cipd_package: "pigweed/infra/recipe_bundles/pigweed.googlesource.com/infra/recipes"
+      cipd_version: "refs/heads/main"
+      cmd: "luciexe"
+    }
+    properties:
+      '{'
+      '  "$pigweed/checkout": {'
+      '    "branch": "main",'
+      '    "equivalent_remotes": [],'
+      '    "match_branch": true,'
+      '    "remote": "https://pigweed.googlesource.com/pigweed/pigweed",'
+      '    "use_repo": false'
+      '  },'
+      '  "$pigweed/environment": {'
+      '    "config_file": "pw_env_setup/compatibility.json"'
+      '  },'
+      '  "$pigweed/pw_presubmit": {'
+      '    "step": ['
+      '      "gn_full_build_check"'
+      '    ]'
+      '  },'
+      '  "macos_sdk.version": "11c29",'
+      '  "recipe": "pw_presubmit",'
+      '  "step": ['
+      '    "gn_full_build_check"'
+      '  ]'
+      '}'
+    priority: 40
+    execution_timeout_secs: 2700
+    caches {
+      name: "builder"
+      path: "builder"
+    }
+    caches {
+      name: "macos_sdk"
+      path: "macos_sdk"
+      wait_for_warm_cache_secs: 120
+    }
+    caches {
+      name: "pip"
+      path: "pip"
+      wait_for_warm_cache_secs: 60
+    }
+    service_account: "pigweed-try-builder@pigweed.google.com.iam.gserviceaccount.com"
+    experiments {
+      key: "luci.recipes.use_python3"
+      value: 100
+    }
+    experiments {
+      key: "luci.use_realms"
+      value: 100
+    }
+  }
+}
diff --git a/generated/pigweed/for_review_only/buildbucket/try/pigweed-mac-gn-hosttools.textproto b/generated/pigweed/for_review_only/buildbucket/try/pigweed-mac-gn-hosttools.textproto
new file mode 100644
index 0000000..74b1588
--- /dev/null
+++ b/generated/pigweed/for_review_only/buildbucket/try/pigweed-mac-gn-hosttools.textproto
@@ -0,0 +1,85 @@
+# Auto-generated by lucicfg.
+# Do not modify manually.
+#
+# For the schema of this file, see Bucket message:
+#   https://luci-config.appspot.com/schemas/projects:buildbucket.cfg
+
+name: "try"
+acls {
+  group: "all"
+}
+acls {
+  role: SCHEDULER
+  identity: "user:pigweed-try-builder@pigweed.google.com.iam.gserviceaccount.com"
+}
+acls {
+  role: SCHEDULER
+  group: "project-pigweed-tryjob-access"
+}
+swarming {
+  builders {
+    name: "pigweed-mac-gn-hosttools"
+    swarming_host: "chromium-swarm.appspot.com"
+    dimensions: "cpu:x64|x86-64"
+    dimensions: "os:Mac"
+    dimensions: "pool:luci.pigweed.try"
+    exe {
+      cipd_package: "pigweed/infra/recipe_bundles/pigweed.googlesource.com/infra/recipes"
+      cipd_version: "refs/heads/main"
+      cmd: "luciexe"
+    }
+    properties:
+      '{'
+      '  "$pigweed/checkout": {'
+      '    "branch": "main",'
+      '    "equivalent_remotes": [],'
+      '    "match_branch": true,'
+      '    "remote": "https://pigweed.googlesource.com/pigweed/pigweed",'
+      '    "use_repo": false'
+      '  },'
+      '  "$pigweed/environment": {'
+      '    "config_file": "pw_env_setup/config.json"'
+      '  },'
+      '  "$pigweed/pw_presubmit": {'
+      '    "step": ['
+      '      "gn_host_tools"'
+      '    ]'
+      '  },'
+      '  "macos_sdk.version": "11c29",'
+      '  "recipe": "pw_presubmit",'
+      '  "step": ['
+      '    "gn_host_tools"'
+      '  ]'
+      '}'
+    priority: 40
+    execution_timeout_secs: 2700
+    caches {
+      name: "builder"
+      path: "builder"
+    }
+    caches {
+      name: "go"
+      path: "go"
+      wait_for_warm_cache_secs: 120
+    }
+    caches {
+      name: "macos_sdk"
+      path: "macos_sdk"
+      wait_for_warm_cache_secs: 120
+    }
+    caches {
+      name: "pip"
+      path: "pip"
+      wait_for_warm_cache_secs: 60
+    }
+    service_account: "pigweed-try-builder@pigweed.google.com.iam.gserviceaccount.com"
+    experiments {
+      key: "luci.recipes.use_python3"
+      value: 100
+    }
+    experiments {
+      key: "luci.use_realms"
+      value: 100
+    }
+  }
+}
diff --git a/generated/pigweed/for_review_only/buildbucket/try/pigweed-mac-gn-nanopb.textproto b/generated/pigweed/for_review_only/buildbucket/try/pigweed-mac-gn-nanopb.textproto
new file mode 100644
index 0000000..9dbbbe9
--- /dev/null
+++ b/generated/pigweed/for_review_only/buildbucket/try/pigweed-mac-gn-nanopb.textproto
@@ -0,0 +1,80 @@
+# Auto-generated by lucicfg.
+# Do not modify manually.
+#
+# For the schema of this file, see Bucket message:
+#   https://luci-config.appspot.com/schemas/projects:buildbucket.cfg
+
+name: "try"
+acls {
+  group: "all"
+}
+acls {
+  role: SCHEDULER
+  identity: "user:pigweed-try-builder@pigweed.google.com.iam.gserviceaccount.com"
+}
+acls {
+  role: SCHEDULER
+  group: "project-pigweed-tryjob-access"
+}
+swarming {
+  builders {
+    name: "pigweed-mac-gn-nanopb"
+    swarming_host: "chromium-swarm.appspot.com"
+    dimensions: "cpu:x64|x86-64"
+    dimensions: "os:Mac"
+    dimensions: "pool:luci.pigweed.try"
+    exe {
+      cipd_package: "pigweed/infra/recipe_bundles/pigweed.googlesource.com/infra/recipes"
+      cipd_version: "refs/heads/main"
+      cmd: "luciexe"
+    }
+    properties:
+      '{'
+      '  "$pigweed/checkout": {'
+      '    "branch": "main",'
+      '    "equivalent_remotes": [],'
+      '    "match_branch": true,'
+      '    "remote": "https://pigweed.googlesource.com/pigweed/pigweed",'
+      '    "use_repo": false'
+      '  },'
+      '  "$pigweed/environment": {'
+      '    "config_file": "pw_env_setup/config.json"'
+      '  },'
+      '  "$pigweed/pw_presubmit": {'
+      '    "step": ['
+      '      "gn_nanopb_build"'
+      '    ]'
+      '  },'
+      '  "macos_sdk.version": "11c29",'
+      '  "recipe": "pw_presubmit",'
+      '  "step": ['
+      '    "gn_nanopb_build"'
+      '  ]'
+      '}'
+    priority: 40
+    execution_timeout_secs: 2700
+    caches {
+      name: "builder"
+      path: "builder"
+    }
+    caches {
+      name: "macos_sdk"
+      path: "macos_sdk"
+      wait_for_warm_cache_secs: 120
+    }
+    caches {
+      name: "pip"
+      path: "pip"
+      wait_for_warm_cache_secs: 60
+    }
+    service_account: "pigweed-try-builder@pigweed.google.com.iam.gserviceaccount.com"
+    experiments {
+      key: "luci.recipes.use_python3"
+      value: 100
+    }
+    experiments {
+      key: "luci.use_realms"
+      value: 100
+    }
+  }
+}
diff --git a/generated/pigweed/for_review_only/buildbucket/try/pigweed-mac-gn-teensy.textproto b/generated/pigweed/for_review_only/buildbucket/try/pigweed-mac-gn-teensy.textproto
new file mode 100644
index 0000000..714c0ec
--- /dev/null
+++ b/generated/pigweed/for_review_only/buildbucket/try/pigweed-mac-gn-teensy.textproto
@@ -0,0 +1,80 @@
+# Auto-generated by lucicfg.
+# Do not modify manually.
+#
+# For the schema of this file, see Bucket message:
+#   https://luci-config.appspot.com/schemas/projects:buildbucket.cfg
+
+name: "try"
+acls {
+  group: "all"
+}
+acls {
+  role: SCHEDULER
+  identity: "user:pigweed-try-builder@pigweed.google.com.iam.gserviceaccount.com"
+}
+acls {
+  role: SCHEDULER
+  group: "project-pigweed-tryjob-access"
+}
+swarming {
+  builders {
+    name: "pigweed-mac-gn-teensy"
+    swarming_host: "chromium-swarm.appspot.com"
+    dimensions: "cpu:x64|x86-64"
+    dimensions: "os:Mac"
+    dimensions: "pool:luci.pigweed.try"
+    exe {
+      cipd_package: "pigweed/infra/recipe_bundles/pigweed.googlesource.com/infra/recipes"
+      cipd_version: "refs/heads/main"
+      cmd: "luciexe"
+    }
+    properties:
+      '{'
+      '  "$pigweed/checkout": {'
+      '    "branch": "main",'
+      '    "equivalent_remotes": [],'
+      '    "match_branch": true,'
+      '    "remote": "https://pigweed.googlesource.com/pigweed/pigweed",'
+      '    "use_repo": false'
+      '  },'
+      '  "$pigweed/environment": {'
+      '    "config_file": "pw_env_setup/config.json"'
+      '  },'
+      '  "$pigweed/pw_presubmit": {'
+      '    "step": ['
+      '      "gn_teensy_build"'
+      '    ]'
+      '  },'
+      '  "macos_sdk.version": "11c29",'
+      '  "recipe": "pw_presubmit",'
+      '  "step": ['
+      '    "gn_teensy_build"'
+      '  ]'
+      '}'
+    priority: 40
+    execution_timeout_secs: 2700
+    caches {
+      name: "builder"
+      path: "builder"
+    }
+    caches {
+      name: "macos_sdk"
+      path: "macos_sdk"
+      wait_for_warm_cache_secs: 120
+    }
+    caches {
+      name: "pip"
+      path: "pip"
+      wait_for_warm_cache_secs: 60
+    }
+    service_account: "pigweed-try-builder@pigweed.google.com.iam.gserviceaccount.com"
+    experiments {
+      key: "luci.recipes.use_python3"
+      value: 100
+    }
+    experiments {
+      key: "luci.use_realms"
+      value: 100
+    }
+  }
+}
diff --git a/generated/pigweed/for_review_only/buildbucket/try/pigweed-mac-main-host-disco.textproto b/generated/pigweed/for_review_only/buildbucket/try/pigweed-mac-main-host-disco.textproto
new file mode 100644
index 0000000..a41858b
--- /dev/null
+++ b/generated/pigweed/for_review_only/buildbucket/try/pigweed-mac-main-host-disco.textproto
@@ -0,0 +1,80 @@
+# Auto-generated by lucicfg.
+# Do not modify manually.
+#
+# For the schema of this file, see Bucket message:
+#   https://luci-config.appspot.com/schemas/projects:buildbucket.cfg
+
+name: "try"
+acls {
+  group: "all"
+}
+acls {
+  role: SCHEDULER
+  identity: "user:pigweed-try-builder@pigweed.google.com.iam.gserviceaccount.com"
+}
+acls {
+  role: SCHEDULER
+  group: "project-pigweed-tryjob-access"
+}
+swarming {
+  builders {
+    name: "pigweed-mac-main-host-disco"
+    swarming_host: "chromium-swarm.appspot.com"
+    dimensions: "cpu:x64|x86-64"
+    dimensions: "os:Mac"
+    dimensions: "pool:luci.pigweed.try"
+    exe {
+      cipd_package: "pigweed/infra/recipe_bundles/pigweed.googlesource.com/infra/recipes"
+      cipd_version: "refs/heads/main"
+      cmd: "luciexe"
+    }
+    properties:
+      '{'
+      '  "$pigweed/checkout": {'
+      '    "branch": "main",'
+      '    "equivalent_remotes": [],'
+      '    "match_branch": true,'
+      '    "remote": "https://pigweed.googlesource.com/pigweed/pigweed",'
+      '    "use_repo": false'
+      '  },'
+      '  "$pigweed/environment": {'
+      '    "config_file": "pw_env_setup/config.json"'
+      '  },'
+      '  "$pigweed/pw_presubmit": {'
+      '    "step": ['
+      '      "gn_full_build_check"'
+      '    ]'
+      '  },'
+      '  "macos_sdk.version": "11c29",'
+      '  "recipe": "pw_presubmit",'
+      '  "step": ['
+      '    "gn_full_build_check"'
+      '  ]'
+      '}'
+    priority: 40
+    execution_timeout_secs: 2700
+    caches {
+      name: "builder"
+      path: "builder"
+    }
+    caches {
+      name: "macos_sdk"
+      path: "macos_sdk"
+      wait_for_warm_cache_secs: 120
+    }
+    caches {
+      name: "pip"
+      path: "pip"
+      wait_for_warm_cache_secs: 60
+    }
+    service_account: "pigweed-try-builder@pigweed.google.com.iam.gserviceaccount.com"
+    experiments {
+      key: "luci.recipes.use_python3"
+      value: 100
+    }
+    experiments {
+      key: "luci.use_realms"
+      value: 100
+    }
+  }
+}
diff --git a/generated/pigweed/for_review_only/buildbucket/try/pigweed-mac-qemu-compatibility-clang-armgcc.textproto b/generated/pigweed/for_review_only/buildbucket/try/pigweed-mac-qemu-compatibility-clang-armgcc.textproto
new file mode 100644
index 0000000..64cddf1
--- /dev/null
+++ b/generated/pigweed/for_review_only/buildbucket/try/pigweed-mac-qemu-compatibility-clang-armgcc.textproto
@@ -0,0 +1,82 @@
+# Auto-generated by lucicfg.
+# Do not modify manually.
+#
+# For the schema of this file, see Bucket message:
+#   https://luci-config.appspot.com/schemas/projects:buildbucket.cfg
+
+name: "try"
+acls {
+  group: "all"
+}
+acls {
+  role: SCHEDULER
+  identity: "user:pigweed-try-builder@pigweed.google.com.iam.gserviceaccount.com"
+}
+acls {
+  role: SCHEDULER
+  group: "project-pigweed-tryjob-access"
+}
+swarming {
+  builders {
+    name: "pigweed-mac-qemu-compatibility-clang-armgcc"
+    swarming_host: "chromium-swarm.appspot.com"
+    dimensions: "cpu:x64|x86-64"
+    dimensions: "os:Mac"
+    dimensions: "pool:luci.pigweed.try"
+    exe {
+      cipd_package: "pigweed/infra/recipe_bundles/pigweed.googlesource.com/infra/recipes"
+      cipd_version: "refs/heads/main"
+      cmd: "luciexe"
+    }
+    properties:
+      '{'
+      '  "$pigweed/checkout": {'
+      '    "branch": "main",'
+      '    "equivalent_remotes": [],'
+      '    "match_branch": true,'
+      '    "remote": "https://pigweed.googlesource.com/pigweed/pigweed",'
+      '    "use_repo": false'
+      '  },'
+      '  "$pigweed/environment": {'
+      '    "config_file": "pw_env_setup/compatibility.json"'
+      '  },'
+      '  "$pigweed/pw_presubmit": {'
+      '    "step": ['
+      '      "gn_full_qemu_check"'
+      '    ]'
+      '  },'
+      '  "dry_run": true,'
+      '  "macos_sdk.version": "11c29",'
+      '  "recipe": "pw_presubmit",'
+      '  "step": ['
+      '    "gn_full_qemu_check"'
+      '  ]'
+      '}'
+    priority: 50
+    execution_timeout_secs: 2700
+    caches {
+      name: "builder"
+      path: "builder"
+    }
+    caches {
+      name: "macos_sdk"
+      path: "macos_sdk"
+      wait_for_warm_cache_secs: 120
+    }
+    caches {
+      name: "pip"
+      path: "pip"
+      wait_for_warm_cache_secs: 60
+    }
+    service_account: "pigweed-try-builder@pigweed.google.com.iam.gserviceaccount.com"
+    experimental: YES
+    experiments {
+      key: "luci.recipes.use_python3"
+      value: 100
+    }
+    experiments {
+      key: "luci.use_realms"
+      value: 100
+    }
+  }
+}
diff --git a/generated/pigweed/for_review_only/buildbucket/try/pigweed-mac-qemu-main-clang-armgcc.textproto b/generated/pigweed/for_review_only/buildbucket/try/pigweed-mac-qemu-main-clang-armgcc.textproto
new file mode 100644
index 0000000..481fa1b
--- /dev/null
+++ b/generated/pigweed/for_review_only/buildbucket/try/pigweed-mac-qemu-main-clang-armgcc.textproto
@@ -0,0 +1,80 @@
+# Auto-generated by lucicfg.
+# Do not modify manually.
+#
+# For the schema of this file, see Bucket message:
+#   https://luci-config.appspot.com/schemas/projects:buildbucket.cfg
+
+name: "try"
+acls {
+  group: "all"
+}
+acls {
+  role: SCHEDULER
+  identity: "user:pigweed-try-builder@pigweed.google.com.iam.gserviceaccount.com"
+}
+acls {
+  role: SCHEDULER
+  group: "project-pigweed-tryjob-access"
+}
+swarming {
+  builders {
+    name: "pigweed-mac-qemu-main-clang-armgcc"
+    swarming_host: "chromium-swarm.appspot.com"
+    dimensions: "cpu:x64|x86-64"
+    dimensions: "os:Mac"
+    dimensions: "pool:luci.pigweed.try"
+    exe {
+      cipd_package: "pigweed/infra/recipe_bundles/pigweed.googlesource.com/infra/recipes"
+      cipd_version: "refs/heads/main"
+      cmd: "luciexe"
+    }
+    properties:
+      '{'
+      '  "$pigweed/checkout": {'
+      '    "branch": "main",'
+      '    "equivalent_remotes": [],'
+      '    "match_branch": true,'
+      '    "remote": "https://pigweed.googlesource.com/pigweed/pigweed",'
+      '    "use_repo": false'
+      '  },'
+      '  "$pigweed/environment": {'
+      '    "config_file": "pw_env_setup/config.json"'
+      '  },'
+      '  "$pigweed/pw_presubmit": {'
+      '    "step": ['
+      '      "gn_full_qemu_check"'
+      '    ]'
+      '  },'
+      '  "macos_sdk.version": "11c29",'
+      '  "recipe": "pw_presubmit",'
+      '  "step": ['
+      '    "gn_full_qemu_check"'
+      '  ]'
+      '}'
+    priority: 40
+    execution_timeout_secs: 2700
+    caches {
+      name: "builder"
+      path: "builder"
+    }
+    caches {
+      name: "macos_sdk"
+      path: "macos_sdk"
+      wait_for_warm_cache_secs: 120
+    }
+    caches {
+      name: "pip"
+      path: "pip"
+      wait_for_warm_cache_secs: 60
+    }
+    service_account: "pigweed-try-builder@pigweed.google.com.iam.gserviceaccount.com"
+    experiments {
+      key: "luci.recipes.use_python3"
+      value: 100
+    }
+    experiments {
+      key: "luci.use_realms"
+      value: 100
+    }
+  }
+}
diff --git a/generated/pigweed/for_review_only/buildbucket/try/pigweed-renode.textproto b/generated/pigweed/for_review_only/buildbucket/try/pigweed-renode.textproto
new file mode 100644
index 0000000..aaaef70
--- /dev/null
+++ b/generated/pigweed/for_review_only/buildbucket/try/pigweed-renode.textproto
@@ -0,0 +1,70 @@
+# Auto-generated by lucicfg.
+# Do not modify manually.
+#
+# For the schema of this file, see Bucket message:
+#   https://luci-config.appspot.com/schemas/projects:buildbucket.cfg
+
+name: "try"
+acls {
+  group: "all"
+}
+acls {
+  role: SCHEDULER
+  identity: "user:pigweed-try-builder@pigweed.google.com.iam.gserviceaccount.com"
+}
+acls {
+  role: SCHEDULER
+  group: "project-pigweed-tryjob-access"
+}
+swarming {
+  builders {
+    name: "pigweed-renode"
+    swarming_host: "chromium-swarm.appspot.com"
+    dimensions: "cores:16"
+    dimensions: "cpu:x64|x86-64"
+    dimensions: "os:Debian"
+    dimensions: "pool:luci.pigweed.try"
+    exe {
+      cipd_package: "pigweed/infra/recipe_bundles/pigweed.googlesource.com/infra/recipes"
+      cipd_version: "refs/heads/main"
+      cmd: "luciexe"
+    }
+    properties:
+      '{'
+      '  "$pigweed/checkout": {'
+      '    "branch": "main",'
+      '    "equivalent_remotes": [],'
+      '    "match_branch": true,'
+      '    "remote": "https://pigweed.googlesource.com/pigweed/pigweed",'
+      '    "use_repo": false'
+      '  },'
+      '  "$pigweed/environment": {'
+      '    "config_file": "pw_env_setup/config.json"'
+      '  },'
+      '  "dry_run": true,'
+      '  "recipe": "run_script",'
+      '  "script": "pw_unit_test/renode/test.sh"'
+      '}'
+    priority: 35
+    execution_timeout_secs: 2700
+    caches {
+      name: "builder"
+      path: "builder"
+    }
+    caches {
+      name: "pip"
+      path: "pip"
+      wait_for_warm_cache_secs: 60
+    }
+    service_account: "pigweed-try-builder@pigweed.google.com.iam.gserviceaccount.com"
+    experimental: YES
+    experiments {
+      key: "luci.recipes.use_python3"
+      value: 100
+    }
+    experiments {
+      key: "luci.use_realms"
+      value: 100
+    }
+  }
+}
diff --git a/generated/pigweed/for_review_only/buildbucket/try/pigweed-stm32f429i-combined.textproto b/generated/pigweed/for_review_only/buildbucket/try/pigweed-stm32f429i-combined.textproto
new file mode 100644
index 0000000..bbb3f1e
--- /dev/null
+++ b/generated/pigweed/for_review_only/buildbucket/try/pigweed-stm32f429i-combined.textproto
@@ -0,0 +1,77 @@
+# Auto-generated by lucicfg.
+# Do not modify manually.
+#
+# For the schema of this file, see Bucket message:
+#   https://luci-config.appspot.com/schemas/projects:buildbucket.cfg
+
+name: "try"
+acls {
+  group: "all"
+}
+acls {
+  role: SCHEDULER
+  identity: "user:pigweed-try-builder@pigweed.google.com.iam.gserviceaccount.com"
+}
+acls {
+  role: SCHEDULER
+  group: "project-pigweed-tryjob-access"
+}
+swarming {
+  builders {
+    name: "pigweed-stm32f429i-combined"
+    swarming_host: "chromium-swarm.appspot.com"
+    dimensions: "cores:16"
+    dimensions: "cpu:x64|x86-64"
+    dimensions: "os:Debian"
+    dimensions: "pool:luci.pigweed.try"
+    exe {
+      cipd_package: "pigweed/infra/recipe_bundles/pigweed.googlesource.com/infra/recipes"
+      cipd_version: "refs/heads/main"
+      cmd: "luciexe"
+    }
+    properties:
+      '{'
+      '  "$pigweed/checkout": {'
+      '    "branch": "main",'
+      '    "equivalent_remotes": [],'
+      '    "match_branch": true,'
+      '    "remote": "https://pigweed.googlesource.com/pigweed/pigweed",'
+      '    "use_repo": false'
+      '  },'
+      '  "$pigweed/environment": {'
+      '    "config_file": "pw_env_setup/config.json"'
+      '  },'
+      '  "$pigweed/pw_presubmit": {'
+      '    "step": ['
+      '      "stm32f429i"'
+      '    ]'
+      '  },'
+      '  "dry_run": true,'
+      '  "recipe": "pw_presubmit",'
+      '  "step": ['
+      '    "stm32f429i"'
+      '  ]'
+      '}'
+    priority: 50
+    execution_timeout_secs: 2700
+    caches {
+      name: "builder"
+      path: "builder"
+    }
+    caches {
+      name: "pip"
+      path: "pip"
+      wait_for_warm_cache_secs: 60
+    }
+    service_account: "pigweed-try-builder@pigweed.google.com.iam.gserviceaccount.com"
+    experimental: YES
+    experiments {
+      key: "luci.recipes.use_python3"
+      value: 100
+    }
+    experiments {
+      key: "luci.use_realms"
+      value: 100
+    }
+  }
+}
diff --git a/generated/pigweed/for_review_only/buildbucket/try/pigweed-stm32f429i-subbuild.textproto b/generated/pigweed/for_review_only/buildbucket/try/pigweed-stm32f429i-subbuild.textproto
new file mode 100644
index 0000000..87a1b74
--- /dev/null
+++ b/generated/pigweed/for_review_only/buildbucket/try/pigweed-stm32f429i-subbuild.textproto
@@ -0,0 +1,77 @@
+# Auto-generated by lucicfg.
+# Do not modify manually.
+#
+# For the schema of this file, see Bucket message:
+#   https://luci-config.appspot.com/schemas/projects:buildbucket.cfg
+
+name: "try"
+acls {
+  group: "all"
+}
+acls {
+  role: SCHEDULER
+  identity: "user:pigweed-try-builder@pigweed.google.com.iam.gserviceaccount.com"
+}
+acls {
+  role: SCHEDULER
+  group: "project-pigweed-tryjob-access"
+}
+swarming {
+  builders {
+    name: "pigweed-stm32f429i-subbuild"
+    swarming_host: "chromium-swarm.appspot.com"
+    dimensions: "cores:16"
+    dimensions: "cpu:x64|x86-64"
+    dimensions: "os:Debian"
+    dimensions: "pool:luci.pigweed.try"
+    exe {
+      cipd_package: "pigweed/infra/recipe_bundles/pigweed.googlesource.com/infra/recipes"
+      cipd_version: "refs/heads/main"
+      cmd: "luciexe"
+    }
+    properties:
+      '{'
+      '  "$pigweed/build": {'
+      '    "gn_args": [],'
+      '    "ninja_targets": ['
+      '      "stm32f429i_debug",'
+      '      "stm32f429i_size_optimized",'
+      '      "stm32f429i_speed_optimized"'
+      '    ]'
+      '  },'
+      '  "$pigweed/checkout": {'
+      '    "branch": "main",'
+      '    "equivalent_remotes": [],'
+      '    "match_branch": true,'
+      '    "remote": "https://pigweed.googlesource.com/pigweed/pigweed",'
+      '    "use_repo": false'
+      '  },'
+      '  "$pigweed/environment": {'
+      '    "config_file": "pw_env_setup/config.json"'
+      '  },'
+      '  "dry_run": true,'
+      '  "recipe": "build"'
+      '}'
+    priority: 50
+    execution_timeout_secs: 2700
+    caches {
+      name: "builder"
+      path: "builder"
+    }
+    caches {
+      name: "pip"
+      path: "pip"
+      wait_for_warm_cache_secs: 60
+    }
+    service_account: "pigweed-try-builder@pigweed.google.com.iam.gserviceaccount.com"
+    experimental: YES
+    experiments {
+      key: "luci.recipes.use_python3"
+      value: 100
+    }
+    experiments {
+      key: "luci.use_realms"
+      value: 100
+    }
+  }
+}
diff --git a/generated/pigweed/for_review_only/buildbucket/try/pigweed-stm32f429i.textproto b/generated/pigweed/for_review_only/buildbucket/try/pigweed-stm32f429i.textproto
new file mode 100644
index 0000000..1e637c8
--- /dev/null
+++ b/generated/pigweed/for_review_only/buildbucket/try/pigweed-stm32f429i.textproto
@@ -0,0 +1,77 @@
+# Auto-generated by lucicfg.
+# Do not modify manually.
+#
+# For the schema of this file, see Bucket message:
+#   https://luci-config.appspot.com/schemas/projects:buildbucket.cfg
+
+name: "try"
+acls {
+  group: "all"
+}
+acls {
+  role: SCHEDULER
+  identity: "user:pigweed-try-builder@pigweed.google.com.iam.gserviceaccount.com"
+}
+acls {
+  role: SCHEDULER
+  group: "project-pigweed-tryjob-access"
+}
+swarming {
+  builders {
+    name: "pigweed-stm32f429i"
+    swarming_host: "chromium-swarm.appspot.com"
+    dimensions: "120:cores:2"
+    dimensions: "cpu:x64|x86-64"
+    dimensions: "os:Debian"
+    dimensions: "pool:luci.pigweed.try"
+    exe {
+      cipd_package: "pigweed/infra/recipe_bundles/pigweed.googlesource.com/infra/recipes"
+      cipd_version: "refs/heads/main"
+      cmd: "luciexe"
+    }
+    properties:
+      '{'
+      '  "$pigweed/build": {'
+      '    "gn_args": [],'
+      '    "ninja_targets": ['
+      '      "stm32f429i_debug",'
+      '      "stm32f429i_size_optimized",'
+      '      "stm32f429i_speed_optimized"'
+      '    ]'
+      '  },'
+      '  "$pigweed/checkout": {'
+      '    "branch": "main",'
+      '    "equivalent_remotes": [],'
+      '    "match_branch": true,'
+      '    "remote": "https://pigweed.googlesource.com/pigweed/pigweed",'
+      '    "use_repo": false'
+      '  },'
+      '  "$pigweed/environment": {'
+      '    "config_file": "pw_env_setup/config.json"'
+      '  },'
+      '  "dry_run": true,'
+      '  "recipe": "pigweed"'
+      '}'
+    priority: 50
+    execution_timeout_secs: 2700
+    caches {
+      name: "builder"
+      path: "builder"
+    }
+    caches {
+      name: "pip"
+      path: "pip"
+      wait_for_warm_cache_secs: 60
+    }
+    service_account: "pigweed-try-builder@pigweed.google.com.iam.gserviceaccount.com"
+    experimental: YES
+    experiments {
+      key: "luci.recipes.use_python3"
+      value: 100
+    }
+    experiments {
+      key: "luci.use_realms"
+      value: 100
+    }
+  }
+}
diff --git a/generated/pigweed/for_review_only/buildbucket/try/pigweed-windows-bazel-host-clang.textproto b/generated/pigweed/for_review_only/buildbucket/try/pigweed-windows-bazel-host-clang.textproto
new file mode 100644
index 0000000..ce8bef7
--- /dev/null
+++ b/generated/pigweed/for_review_only/buildbucket/try/pigweed-windows-bazel-host-clang.textproto
@@ -0,0 +1,82 @@
+# Auto-generated by lucicfg.
+# Do not modify manually.
+#
+# For the schema of this file, see Bucket message:
+#   https://luci-config.appspot.com/schemas/projects:buildbucket.cfg
+
+name: "try"
+acls {
+  group: "all"
+}
+acls {
+  role: SCHEDULER
+  identity: "user:pigweed-try-builder@pigweed.google.com.iam.gserviceaccount.com"
+}
+acls {
+  role: SCHEDULER
+  group: "project-pigweed-tryjob-access"
+}
+swarming {
+  builders {
+    name: "pigweed-windows-bazel-host-clang"
+    swarming_host: "chromium-swarm.appspot.com"
+    dimensions: "cores:16"
+    dimensions: "cpu:x64|x86-64"
+    dimensions: "os:Windows-10"
+    dimensions: "pool:luci.pigweed.try"
+    exe {
+      cipd_package: "pigweed/infra/recipe_bundles/pigweed.googlesource.com/infra/recipes"
+      cipd_version: "refs/heads/main"
+      cmd: "luciexe"
+    }
+    properties:
+      '{'
+      '  "$pigweed/checkout": {'
+      '    "branch": "main",'
+      '    "equivalent_remotes": [],'
+      '    "match_branch": true,'
+      '    "remote": "https://pigweed.googlesource.com/pigweed/pigweed",'
+      '    "use_repo": false'
+      '  },'
+      '  "$pigweed/environment": {'
+      '    "config_file": "pw_env_setup/config.json"'
+      '  },'
+      '  "$pigweed/pw_presubmit": {'
+      '    "step": ['
+      '      "bazel_test"'
+      '    ]'
+      '  },'
+      '  "dry_run": true,'
+      '  "recipe": "pw_presubmit",'
+      '  "step": ['
+      '    "bazel_test"'
+      '  ]'
+      '}'
+    priority: 50
+    execution_timeout_secs: 2700
+    caches {
+      name: "bazel"
+      path: "bazel"
+      wait_for_warm_cache_secs: 60
+    }
+    caches {
+      name: "builder"
+      path: "builder"
+    }
+    caches {
+      name: "pip"
+      path: "pip"
+      wait_for_warm_cache_secs: 60
+    }
+    service_account: "pigweed-try-builder@pigweed.google.com.iam.gserviceaccount.com"
+    experimental: YES
+    experiments {
+      key: "luci.recipes.use_python3"
+      value: 100
+    }
+    experiments {
+      key: "luci.use_realms"
+      value: 100
+    }
+  }
+}
diff --git a/generated/pigweed/for_review_only/buildbucket/try/pigweed-windows-compatibility-host-disco.textproto b/generated/pigweed/for_review_only/buildbucket/try/pigweed-windows-compatibility-host-disco.textproto
new file mode 100644
index 0000000..9d9e80e
--- /dev/null
+++ b/generated/pigweed/for_review_only/buildbucket/try/pigweed-windows-compatibility-host-disco.textproto
@@ -0,0 +1,77 @@
+# Auto-generated by lucicfg.
+# Do not modify manually.
+#
+# For the schema of this file, see Bucket message:
+#   https://luci-config.appspot.com/schemas/projects:buildbucket.cfg
+
+name: "try"
+acls {
+  group: "all"
+}
+acls {
+  role: SCHEDULER
+  identity: "user:pigweed-try-builder@pigweed.google.com.iam.gserviceaccount.com"
+}
+acls {
+  role: SCHEDULER
+  group: "project-pigweed-tryjob-access"
+}
+swarming {
+  builders {
+    name: "pigweed-windows-compatibility-host-disco"
+    swarming_host: "chromium-swarm.appspot.com"
+    dimensions: "cores:16"
+    dimensions: "cpu:x64|x86-64"
+    dimensions: "os:Windows-10"
+    dimensions: "pool:luci.pigweed.try"
+    exe {
+      cipd_package: "pigweed/infra/recipe_bundles/pigweed.googlesource.com/infra/recipes"
+      cipd_version: "refs/heads/main"
+      cmd: "luciexe"
+    }
+    properties:
+      '{'
+      '  "$pigweed/checkout": {'
+      '    "branch": "main",'
+      '    "equivalent_remotes": [],'
+      '    "match_branch": true,'
+      '    "remote": "https://pigweed.googlesource.com/pigweed/pigweed",'
+      '    "use_repo": false'
+      '  },'
+      '  "$pigweed/environment": {'
+      '    "config_file": "pw_env_setup/compatibility.json"'
+      '  },'
+      '  "$pigweed/pw_presubmit": {'
+      '    "step": ['
+      '      "gn_full_build_check"'
+      '    ]'
+      '  },'
+      '  "dry_run": true,'
+      '  "recipe": "pw_presubmit",'
+      '  "step": ['
+      '    "gn_full_build_check"'
+      '  ]'
+      '}'
+    priority: 50
+    execution_timeout_secs: 2700
+    caches {
+      name: "builder"
+      path: "builder"
+    }
+    caches {
+      name: "pip"
+      path: "pip"
+      wait_for_warm_cache_secs: 60
+    }
+    service_account: "pigweed-try-builder@pigweed.google.com.iam.gserviceaccount.com"
+    experimental: YES
+    experiments {
+      key: "luci.recipes.use_python3"
+      value: 100
+    }
+    experiments {
+      key: "luci.use_realms"
+      value: 100
+    }
+  }
+}
diff --git a/generated/pigweed/for_review_only/buildbucket/try/pigweed-windows-gn-hosttools.textproto b/generated/pigweed/for_review_only/buildbucket/try/pigweed-windows-gn-hosttools.textproto
new file mode 100644
index 0000000..9720c3e
--- /dev/null
+++ b/generated/pigweed/for_review_only/buildbucket/try/pigweed-windows-gn-hosttools.textproto
@@ -0,0 +1,80 @@
+# Auto-generated by lucicfg.
+# Do not modify manually.
+#
+# For the schema of this file, see Bucket message:
+#   https://luci-config.appspot.com/schemas/projects:buildbucket.cfg
+
+name: "try"
+acls {
+  group: "all"
+}
+acls {
+  role: SCHEDULER
+  identity: "user:pigweed-try-builder@pigweed.google.com.iam.gserviceaccount.com"
+}
+acls {
+  role: SCHEDULER
+  group: "project-pigweed-tryjob-access"
+}
+swarming {
+  builders {
+    name: "pigweed-windows-gn-hosttools"
+    swarming_host: "chromium-swarm.appspot.com"
+    dimensions: "cores:16"
+    dimensions: "cpu:x64|x86-64"
+    dimensions: "os:Windows-10"
+    dimensions: "pool:luci.pigweed.try"
+    exe {
+      cipd_package: "pigweed/infra/recipe_bundles/pigweed.googlesource.com/infra/recipes"
+      cipd_version: "refs/heads/main"
+      cmd: "luciexe"
+    }
+    properties:
+      '{'
+      '  "$pigweed/checkout": {'
+      '    "branch": "main",'
+      '    "equivalent_remotes": [],'
+      '    "match_branch": true,'
+      '    "remote": "https://pigweed.googlesource.com/pigweed/pigweed",'
+      '    "use_repo": false'
+      '  },'
+      '  "$pigweed/environment": {'
+      '    "config_file": "pw_env_setup/config.json"'
+      '  },'
+      '  "$pigweed/pw_presubmit": {'
+      '    "step": ['
+      '      "gn_host_tools"'
+      '    ]'
+      '  },'
+      '  "recipe": "pw_presubmit",'
+      '  "step": ['
+      '    "gn_host_tools"'
+      '  ]'
+      '}'
+    priority: 40
+    execution_timeout_secs: 2700
+    caches {
+      name: "builder"
+      path: "builder"
+    }
+    caches {
+      name: "go"
+      path: "go"
+      wait_for_warm_cache_secs: 120
+    }
+    caches {
+      name: "pip"
+      path: "pip"
+      wait_for_warm_cache_secs: 60
+    }
+    service_account: "pigweed-try-builder@pigweed.google.com.iam.gserviceaccount.com"
+    experiments {
+      key: "luci.recipes.use_python3"
+      value: 100
+    }
+    experiments {
+      key: "luci.use_realms"
+      value: 100
+    }
+  }
+}
diff --git a/generated/pigweed/for_review_only/buildbucket/try/pigweed-windows-gn-nanopb.textproto b/generated/pigweed/for_review_only/buildbucket/try/pigweed-windows-gn-nanopb.textproto
new file mode 100644
index 0000000..e2aa466
--- /dev/null
+++ b/generated/pigweed/for_review_only/buildbucket/try/pigweed-windows-gn-nanopb.textproto
@@ -0,0 +1,77 @@
+# Auto-generated by lucicfg.
+# Do not modify manually.
+#
+# For the schema of this file, see Bucket message:
+#   https://luci-config.appspot.com/schemas/projects:buildbucket.cfg
+
+name: "try"
+acls {
+  group: "all"
+}
+acls {
+  role: SCHEDULER
+  identity: "user:pigweed-try-builder@pigweed.google.com.iam.gserviceaccount.com"
+}
+acls {
+  role: SCHEDULER
+  group: "project-pigweed-tryjob-access"
+}
+swarming {
+  builders {
+    name: "pigweed-windows-gn-nanopb"
+    swarming_host: "chromium-swarm.appspot.com"
+    dimensions: "cores:16"
+    dimensions: "cpu:x64|x86-64"
+    dimensions: "os:Windows-10"
+    dimensions: "pool:luci.pigweed.try"
+    exe {
+      cipd_package: "pigweed/infra/recipe_bundles/pigweed.googlesource.com/infra/recipes"
+      cipd_version: "refs/heads/main"
+      cmd: "luciexe"
+    }
+    properties:
+      '{'
+      '  "$pigweed/checkout": {'
+      '    "branch": "main",'
+      '    "equivalent_remotes": [],'
+      '    "match_branch": true,'
+      '    "remote": "https://pigweed.googlesource.com/pigweed/pigweed",'
+      '    "use_repo": false'
+      '  },'
+      '  "$pigweed/environment": {'
+      '    "config_file": "pw_env_setup/config.json"'
+      '  },'
+      '  "$pigweed/pw_presubmit": {'
+      '    "step": ['
+      '      "gn_nanopb_build"'
+      '    ]'
+      '  },'
+      '  "dry_run": true,'
+      '  "recipe": "pw_presubmit",'
+      '  "step": ['
+      '    "gn_nanopb_build"'
+      '  ]'
+      '}'
+    priority: 50
+    execution_timeout_secs: 2700
+    caches {
+      name: "builder"
+      path: "builder"
+    }
+    caches {
+      name: "pip"
+      path: "pip"
+      wait_for_warm_cache_secs: 60
+    }
+    service_account: "pigweed-try-builder@pigweed.google.com.iam.gserviceaccount.com"
+    experimental: YES
+    experiments {
+      key: "luci.recipes.use_python3"
+      value: 100
+    }
+    experiments {
+      key: "luci.use_realms"
+      value: 100
+    }
+  }
+}
diff --git a/generated/pigweed/for_review_only/buildbucket/try/pigweed-windows-main-host-disco.textproto b/generated/pigweed/for_review_only/buildbucket/try/pigweed-windows-main-host-disco.textproto
new file mode 100644
index 0000000..1cfd167
--- /dev/null
+++ b/generated/pigweed/for_review_only/buildbucket/try/pigweed-windows-main-host-disco.textproto
@@ -0,0 +1,75 @@
+# Auto-generated by lucicfg.
+# Do not modify manually.
+#
+# For the schema of this file, see Bucket message:
+#   https://luci-config.appspot.com/schemas/projects:buildbucket.cfg
+
+name: "try"
+acls {
+  group: "all"
+}
+acls {
+  role: SCHEDULER
+  identity: "user:pigweed-try-builder@pigweed.google.com.iam.gserviceaccount.com"
+}
+acls {
+  role: SCHEDULER
+  group: "project-pigweed-tryjob-access"
+}
+swarming {
+  builders {
+    name: "pigweed-windows-main-host-disco"
+    swarming_host: "chromium-swarm.appspot.com"
+    dimensions: "cores:16"
+    dimensions: "cpu:x64|x86-64"
+    dimensions: "os:Windows-10"
+    dimensions: "pool:luci.pigweed.try"
+    exe {
+      cipd_package: "pigweed/infra/recipe_bundles/pigweed.googlesource.com/infra/recipes"
+      cipd_version: "refs/heads/main"
+      cmd: "luciexe"
+    }
+    properties:
+      '{'
+      '  "$pigweed/checkout": {'
+      '    "branch": "main",'
+      '    "equivalent_remotes": [],'
+      '    "match_branch": true,'
+      '    "remote": "https://pigweed.googlesource.com/pigweed/pigweed",'
+      '    "use_repo": false'
+      '  },'
+      '  "$pigweed/environment": {'
+      '    "config_file": "pw_env_setup/config.json"'
+      '  },'
+      '  "$pigweed/pw_presubmit": {'
+      '    "step": ['
+      '      "gn_full_build_check"'
+      '    ]'
+      '  },'
+      '  "recipe": "pw_presubmit",'
+      '  "step": ['
+      '    "gn_full_build_check"'
+      '  ]'
+      '}'
+    priority: 40
+    execution_timeout_secs: 2700
+    caches {
+      name: "builder"
+      path: "builder"
+    }
+    caches {
+      name: "pip"
+      path: "pip"
+      wait_for_warm_cache_secs: 60
+    }
+    service_account: "pigweed-try-builder@pigweed.google.com.iam.gserviceaccount.com"
+    experiments {
+      key: "luci.recipes.use_python3"
+      value: 100
+    }
+    experiments {
+      key: "luci.use_realms"
+      value: 100
+    }
+  }
+}
diff --git a/generated/pigweed/for_review_only/buildbucket/try/pigweed-windows-qemu-compatibility-clang-armgcc.textproto b/generated/pigweed/for_review_only/buildbucket/try/pigweed-windows-qemu-compatibility-clang-armgcc.textproto
new file mode 100644
index 0000000..6f57bdb
--- /dev/null
+++ b/generated/pigweed/for_review_only/buildbucket/try/pigweed-windows-qemu-compatibility-clang-armgcc.textproto
@@ -0,0 +1,77 @@
+# Auto-generated by lucicfg.
+# Do not modify manually.
+#
+# For the schema of this file, see Bucket message:
+#   https://luci-config.appspot.com/schemas/projects:buildbucket.cfg
+
+name: "try"
+acls {
+  group: "all"
+}
+acls {
+  role: SCHEDULER
+  identity: "user:pigweed-try-builder@pigweed.google.com.iam.gserviceaccount.com"
+}
+acls {
+  role: SCHEDULER
+  group: "project-pigweed-tryjob-access"
+}
+swarming {
+  builders {
+    name: "pigweed-windows-qemu-compatibility-clang-armgcc"
+    swarming_host: "chromium-swarm.appspot.com"
+    dimensions: "cores:16"
+    dimensions: "cpu:x64|x86-64"
+    dimensions: "os:Windows-10"
+    dimensions: "pool:luci.pigweed.try"
+    exe {
+      cipd_package: "pigweed/infra/recipe_bundles/pigweed.googlesource.com/infra/recipes"
+      cipd_version: "refs/heads/main"
+      cmd: "luciexe"
+    }
+    properties:
+      '{'
+      '  "$pigweed/checkout": {'
+      '    "branch": "main",'
+      '    "equivalent_remotes": [],'
+      '    "match_branch": true,'
+      '    "remote": "https://pigweed.googlesource.com/pigweed/pigweed",'
+      '    "use_repo": false'
+      '  },'
+      '  "$pigweed/environment": {'
+      '    "config_file": "pw_env_setup/compatibility.json"'
+      '  },'
+      '  "$pigweed/pw_presubmit": {'
+      '    "step": ['
+      '      "gn_full_qemu_check"'
+      '    ]'
+      '  },'
+      '  "dry_run": true,'
+      '  "recipe": "pw_presubmit",'
+      '  "step": ['
+      '    "gn_full_qemu_check"'
+      '  ]'
+      '}'
+    priority: 50
+    execution_timeout_secs: 2700
+    caches {
+      name: "builder"
+      path: "builder"
+    }
+    caches {
+      name: "pip"
+      path: "pip"
+      wait_for_warm_cache_secs: 60
+    }
+    service_account: "pigweed-try-builder@pigweed.google.com.iam.gserviceaccount.com"
+    experimental: YES
+    experiments {
+      key: "luci.recipes.use_python3"
+      value: 100
+    }
+    experiments {
+      key: "luci.use_realms"
+      value: 100
+    }
+  }
+}
diff --git a/generated/pigweed/for_review_only/buildbucket/try/pigweed-windows-qemu-main-clang-armgcc.textproto b/generated/pigweed/for_review_only/buildbucket/try/pigweed-windows-qemu-main-clang-armgcc.textproto
new file mode 100644
index 0000000..9064a0e
--- /dev/null
+++ b/generated/pigweed/for_review_only/buildbucket/try/pigweed-windows-qemu-main-clang-armgcc.textproto
@@ -0,0 +1,77 @@
+# Auto-generated by lucicfg.
+# Do not modify manually.
+#
+# For the schema of this file, see Bucket message:
+#   https://luci-config.appspot.com/schemas/projects:buildbucket.cfg
+
+name: "try"
+acls {
+  group: "all"
+}
+acls {
+  role: SCHEDULER
+  identity: "user:pigweed-try-builder@pigweed.google.com.iam.gserviceaccount.com"
+}
+acls {
+  role: SCHEDULER
+  group: "project-pigweed-tryjob-access"
+}
+swarming {
+  builders {
+    name: "pigweed-windows-qemu-main-clang-armgcc"
+    swarming_host: "chromium-swarm.appspot.com"
+    dimensions: "cores:16"
+    dimensions: "cpu:x64|x86-64"
+    dimensions: "os:Windows-10"
+    dimensions: "pool:luci.pigweed.try"
+    exe {
+      cipd_package: "pigweed/infra/recipe_bundles/pigweed.googlesource.com/infra/recipes"
+      cipd_version: "refs/heads/main"
+      cmd: "luciexe"
+    }
+    properties:
+      '{'
+      '  "$pigweed/checkout": {'
+      '    "branch": "main",'
+      '    "equivalent_remotes": [],'
+      '    "match_branch": true,'
+      '    "remote": "https://pigweed.googlesource.com/pigweed/pigweed",'
+      '    "use_repo": false'
+      '  },'
+      '  "$pigweed/environment": {'
+      '    "config_file": "pw_env_setup/config.json"'
+      '  },'
+      '  "$pigweed/pw_presubmit": {'
+      '    "step": ['
+      '      "gn_full_qemu_check"'
+      '    ]'
+      '  },'
+      '  "dry_run": true,'
+      '  "recipe": "pw_presubmit",'
+      '  "step": ['
+      '    "gn_full_qemu_check"'
+      '  ]'
+      '}'
+    priority: 50
+    execution_timeout_secs: 2700
+    caches {
+      name: "builder"
+      path: "builder"
+    }
+    caches {
+      name: "pip"
+      path: "pip"
+      wait_for_warm_cache_secs: 60
+    }
+    service_account: "pigweed-try-builder@pigweed.google.com.iam.gserviceaccount.com"
+    experimental: YES
+    experiments {
+      key: "luci.recipes.use_python3"
+      value: 100
+    }
+    experiments {
+      key: "luci.use_realms"
+      value: 100
+    }
+  }
+}
diff --git a/generated/pigweed/for_review_only/buildbucket/try/pigweed-xref-generator.textproto b/generated/pigweed/for_review_only/buildbucket/try/pigweed-xref-generator.textproto
new file mode 100644
index 0000000..7a786a3
--- /dev/null
+++ b/generated/pigweed/for_review_only/buildbucket/try/pigweed-xref-generator.textproto
@@ -0,0 +1,67 @@
+# Auto-generated by lucicfg.
+# Do not modify manually.
+#
+# For the schema of this file, see Bucket message:
+#   https://luci-config.appspot.com/schemas/projects:buildbucket.cfg
+
+name: "try"
+acls {
+  group: "all"
+}
+acls {
+  role: SCHEDULER
+  identity: "user:pigweed-try-builder@pigweed.google.com.iam.gserviceaccount.com"
+}
+acls {
+  role: SCHEDULER
+  group: "project-pigweed-tryjob-access"
+}
+swarming {
+  builders {
+    name: "pigweed-xref-generator"
+    swarming_host: "chromium-swarm.appspot.com"
+    dimensions: "cores:16"
+    dimensions: "cpu:x64|x86-64"
+    dimensions: "os:Debian"
+    dimensions: "pool:luci.pigweed.try"
+    exe {
+      cipd_package: "pigweed/infra/recipe_bundles/pigweed.googlesource.com/infra/recipes"
+      cipd_version: "refs/heads/main"
+      cmd: "luciexe"
+    }
+    properties:
+      '{'
+      '  "$pigweed/checkout": {'
+      '    "branch": "main",'
+      '    "equivalent_remotes": [],'
+      '    "match_branch": true,'
+      '    "remote": "https://pigweed.googlesource.com/pigweed/pigweed",'
+      '    "use_repo": false'
+      '  },'
+      '  "$pigweed/environment": {'
+      '    "config_file": "pw_env_setup/config.json"'
+      '  },'
+      '  "recipe": "xrefs"'
+      '}'
+    priority: 40
+    execution_timeout_secs: 2700
+    caches {
+      name: "builder"
+      path: "builder"
+    }
+    caches {
+      name: "pip"
+      path: "pip"
+      wait_for_warm_cache_secs: 60
+    }
+    service_account: "pigweed-try-builder@pigweed.google.com.iam.gserviceaccount.com"
+    experiments {
+      key: "luci.recipes.use_python3"
+      value: 100
+    }
+    experiments {
+      key: "luci.use_realms"
+      value: 100
+    }
+  }
+}
diff --git a/generated/pigweed/for_review_only/buildbucket/try/recipes-unittest-only.textproto b/generated/pigweed/for_review_only/buildbucket/try/recipes-unittest-only.textproto
new file mode 100644
index 0000000..e8bd7c6
--- /dev/null
+++ b/generated/pigweed/for_review_only/buildbucket/try/recipes-unittest-only.textproto
@@ -0,0 +1,60 @@
+# Auto-generated by lucicfg.
+# Do not modify manually.
+#
+# For the schema of this file, see Bucket message:
+#   https://luci-config.appspot.com/schemas/projects:buildbucket.cfg
+
+name: "try"
+acls {
+  group: "all"
+}
+acls {
+  role: SCHEDULER
+  identity: "user:pigweed-try-builder@pigweed.google.com.iam.gserviceaccount.com"
+}
+acls {
+  role: SCHEDULER
+  group: "project-pigweed-tryjob-access"
+}
+swarming {
+  builders {
+    name: "recipes-unittest-only"
+    swarming_host: "chromium-swarm.appspot.com"
+    dimensions: "120:cores:2"
+    dimensions: "cpu:x64|x86-64"
+    dimensions: "os:Debian"
+    dimensions: "pool:luci.pigweed.try"
+    exe {
+      cipd_package: "pigweed/infra/recipe_bundles/pigweed.googlesource.com/infra/recipes"
+      cipd_version: "refs/heads/main"
+      cmd: "luciexe"
+    }
+    properties:
+      '{'
+      '  "$pigweed/checkout": {'
+      '    "branch": "main",'
+      '    "equivalent_remotes": [],'
+      '    "match_branch": true,'
+      '    "remote": "https://pigweed.googlesource.com/infra/recipes",'
+      '    "use_repo": false'
+      '  },'
+      '  "recipe": "recipes",'
+      '  "unittest_only": true'
+      '}'
+    priority: 40
+    execution_timeout_secs: 3600
+    caches {
+      name: "builder"
+      path: "builder"
+    }
+    service_account: "pigweed-try-builder@pigweed.google.com.iam.gserviceaccount.com"
+    experiments {
+      key: "luci.recipes.use_python3"
+      value: 100
+    }
+    experiments {
+      key: "luci.use_realms"
+      value: 100
+    }
+  }
+}
diff --git a/generated/pigweed/for_review_only/buildbucket/try/recipes-with-led.textproto b/generated/pigweed/for_review_only/buildbucket/try/recipes-with-led.textproto
new file mode 100644
index 0000000..284480c
--- /dev/null
+++ b/generated/pigweed/for_review_only/buildbucket/try/recipes-with-led.textproto
@@ -0,0 +1,71 @@
+# Auto-generated by lucicfg.
+# Do not modify manually.
+#
+# For the schema of this file, see Bucket message:
+#   https://luci-config.appspot.com/schemas/projects:buildbucket.cfg
+
+name: "try"
+acls {
+  group: "all"
+}
+acls {
+  role: SCHEDULER
+  identity: "user:pigweed-try-builder@pigweed.google.com.iam.gserviceaccount.com"
+}
+acls {
+  role: SCHEDULER
+  group: "project-pigweed-tryjob-access"
+}
+swarming {
+  builders {
+    name: "recipes-with-led"
+    swarming_host: "chromium-swarm.appspot.com"
+    dimensions: "900:cores:2"
+    dimensions: "cpu:x64|x86-64"
+    dimensions: "os:Debian"
+    dimensions: "pool:luci.pigweed.try"
+    exe {
+      cipd_package: "pigweed/infra/recipe_bundles/pigweed.googlesource.com/infra/recipes"
+      cipd_version: "refs/heads/main"
+      cmd: "luciexe"
+    }
+    properties:
+      '{'
+      '  "$pigweed/checkout": {'
+      '    "branch": "main",'
+      '    "equivalent_remotes": [],'
+      '    "match_branch": true,'
+      '    "remote": "https://pigweed.googlesource.com/infra/recipes",'
+      '    "use_repo": false'
+      '  },'
+      '  "recipe": "recipes",'
+      '  "recipe_testing_options": {'
+      '    "projects": ['
+      '      {'
+      '        "cq_config_name": "commit-queue.cfg",'
+      '        "include_restricted": false,'
+      '        "include_unrestricted": true,'
+      '        "name": "pigweed"'
+      '      }'
+      '    ],'
+      '    "use_buildbucket": false'
+      '  },'
+      '  "unittest_only": false'
+      '}'
+    priority: 40
+    execution_timeout_secs: 14400
+    caches {
+      name: "builder"
+      path: "builder"
+    }
+    service_account: "pigweed-try-builder@pigweed.google.com.iam.gserviceaccount.com"
+    experiments {
+      key: "luci.recipes.use_python3"
+      value: 100
+    }
+    experiments {
+      key: "luci.use_realms"
+      value: 100
+    }
+  }
+}
diff --git a/generated/pigweed/for_review_only/buildbucket/try/sample-project-default-build-linux.textproto b/generated/pigweed/for_review_only/buildbucket/try/sample-project-default-build-linux.textproto
new file mode 100644
index 0000000..e7a3147
--- /dev/null
+++ b/generated/pigweed/for_review_only/buildbucket/try/sample-project-default-build-linux.textproto
@@ -0,0 +1,77 @@
+# Auto-generated by lucicfg.
+# Do not modify manually.
+#
+# For the schema of this file, see Bucket message:
+#   https://luci-config.appspot.com/schemas/projects:buildbucket.cfg
+
+name: "try"
+acls {
+  group: "all"
+}
+acls {
+  role: SCHEDULER
+  identity: "user:pigweed-try-builder@pigweed.google.com.iam.gserviceaccount.com"
+}
+acls {
+  role: SCHEDULER
+  group: "project-pigweed-tryjob-access"
+}
+swarming {
+  builders {
+    name: "sample-project-default-build-linux"
+    swarming_host: "chromium-swarm.appspot.com"
+    dimensions: "cores:16"
+    dimensions: "cpu:x64|x86-64"
+    dimensions: "os:Debian"
+    dimensions: "pool:luci.pigweed.try"
+    exe {
+      cipd_package: "pigweed/infra/recipe_bundles/pigweed.googlesource.com/infra/recipes"
+      cipd_version: "refs/heads/main"
+      cmd: "luciexe"
+    }
+    properties:
+      '{'
+      '  "$pigweed/checkout": {'
+      '    "branch": "main",'
+      '    "equivalent_remotes": [],'
+      '    "match_branch": true,'
+      '    "remote": "https://pigweed.googlesource.com/pigweed/sample_project",'
+      '    "use_repo": false'
+      '  },'
+      '  "$pigweed/environment": {'
+      '    "config_file": "env_setup.json",'
+      '    "relative_pigweed_root": "third_party/pigweed",'
+      '    "root_variable_name": "SAMPLE_PROJECT_ROOT"'
+      '  },'
+      '  "$pigweed/pw_presubmit": {'
+      '    "step": ['
+      '      "default_build"'
+      '    ]'
+      '  },'
+      '  "recipe": "pw_presubmit",'
+      '  "step": ['
+      '    "default_build"'
+      '  ]'
+      '}'
+    priority: 40
+    execution_timeout_secs: 3600
+    caches {
+      name: "builder"
+      path: "builder"
+    }
+    caches {
+      name: "pip"
+      path: "pip"
+      wait_for_warm_cache_secs: 60
+    }
+    service_account: "pigweed-try-builder@pigweed.google.com.iam.gserviceaccount.com"
+    experiments {
+      key: "luci.recipes.use_python3"
+      value: 100
+    }
+    experiments {
+      key: "luci.use_realms"
+      value: 100
+    }
+  }
+}
diff --git a/generated/pigweed/for_review_only/buildbucket/try/sample-project-default-build-mac.textproto b/generated/pigweed/for_review_only/buildbucket/try/sample-project-default-build-mac.textproto
new file mode 100644
index 0000000..4829e23
--- /dev/null
+++ b/generated/pigweed/for_review_only/buildbucket/try/sample-project-default-build-mac.textproto
@@ -0,0 +1,82 @@
+# Auto-generated by lucicfg.
+# Do not modify manually.
+#
+# For the schema of this file, see Bucket message:
+#   https://luci-config.appspot.com/schemas/projects:buildbucket.cfg
+
+name: "try"
+acls {
+  group: "all"
+}
+acls {
+  role: SCHEDULER
+  identity: "user:pigweed-try-builder@pigweed.google.com.iam.gserviceaccount.com"
+}
+acls {
+  role: SCHEDULER
+  group: "project-pigweed-tryjob-access"
+}
+swarming {
+  builders {
+    name: "sample-project-default-build-mac"
+    swarming_host: "chromium-swarm.appspot.com"
+    dimensions: "cpu:x64|x86-64"
+    dimensions: "os:Mac"
+    dimensions: "pool:luci.pigweed.try"
+    exe {
+      cipd_package: "pigweed/infra/recipe_bundles/pigweed.googlesource.com/infra/recipes"
+      cipd_version: "refs/heads/main"
+      cmd: "luciexe"
+    }
+    properties:
+      '{'
+      '  "$pigweed/checkout": {'
+      '    "branch": "main",'
+      '    "equivalent_remotes": [],'
+      '    "match_branch": true,'
+      '    "remote": "https://pigweed.googlesource.com/pigweed/sample_project",'
+      '    "use_repo": false'
+      '  },'
+      '  "$pigweed/environment": {'
+      '    "config_file": "env_setup.json",'
+      '    "relative_pigweed_root": "third_party/pigweed",'
+      '    "root_variable_name": "SAMPLE_PROJECT_ROOT"'
+      '  },'
+      '  "$pigweed/pw_presubmit": {'
+      '    "step": ['
+      '      "default_build"'
+      '    ]'
+      '  },'
+      '  "macos_sdk.version": "11c29",'
+      '  "recipe": "pw_presubmit",'
+      '  "step": ['
+      '    "default_build"'
+      '  ]'
+      '}'
+    priority: 40
+    execution_timeout_secs: 3600
+    caches {
+      name: "builder"
+      path: "builder"
+    }
+    caches {
+      name: "macos_sdk"
+      path: "macos_sdk"
+      wait_for_warm_cache_secs: 120
+    }
+    caches {
+      name: "pip"
+      path: "pip"
+      wait_for_warm_cache_secs: 60
+    }
+    service_account: "pigweed-try-builder@pigweed.google.com.iam.gserviceaccount.com"
+    experiments {
+      key: "luci.recipes.use_python3"
+      value: 100
+    }
+    experiments {
+      key: "luci.use_realms"
+      value: 100
+    }
+  }
+}
diff --git a/generated/pigweed/for_review_only/buildbucket/try/sample-project-default-build-windows.textproto b/generated/pigweed/for_review_only/buildbucket/try/sample-project-default-build-windows.textproto
new file mode 100644
index 0000000..5c44f7d
--- /dev/null
+++ b/generated/pigweed/for_review_only/buildbucket/try/sample-project-default-build-windows.textproto
@@ -0,0 +1,77 @@
+# Auto-generated by lucicfg.
+# Do not modify manually.
+#
+# For the schema of this file, see Bucket message:
+#   https://luci-config.appspot.com/schemas/projects:buildbucket.cfg
+
+name: "try"
+acls {
+  group: "all"
+}
+acls {
+  role: SCHEDULER
+  identity: "user:pigweed-try-builder@pigweed.google.com.iam.gserviceaccount.com"
+}
+acls {
+  role: SCHEDULER
+  group: "project-pigweed-tryjob-access"
+}
+swarming {
+  builders {
+    name: "sample-project-default-build-windows"
+    swarming_host: "chromium-swarm.appspot.com"
+    dimensions: "cores:16"
+    dimensions: "cpu:x64|x86-64"
+    dimensions: "os:Windows-10"
+    dimensions: "pool:luci.pigweed.try"
+    exe {
+      cipd_package: "pigweed/infra/recipe_bundles/pigweed.googlesource.com/infra/recipes"
+      cipd_version: "refs/heads/main"
+      cmd: "luciexe"
+    }
+    properties:
+      '{'
+      '  "$pigweed/checkout": {'
+      '    "branch": "main",'
+      '    "equivalent_remotes": [],'
+      '    "match_branch": true,'
+      '    "remote": "https://pigweed.googlesource.com/pigweed/sample_project",'
+      '    "use_repo": false'
+      '  },'
+      '  "$pigweed/environment": {'
+      '    "config_file": "env_setup.json",'
+      '    "relative_pigweed_root": "third_party/pigweed",'
+      '    "root_variable_name": "SAMPLE_PROJECT_ROOT"'
+      '  },'
+      '  "$pigweed/pw_presubmit": {'
+      '    "step": ['
+      '      "default_build"'
+      '    ]'
+      '  },'
+      '  "recipe": "pw_presubmit",'
+      '  "step": ['
+      '    "default_build"'
+      '  ]'
+      '}'
+    priority: 40
+    execution_timeout_secs: 3600
+    caches {
+      name: "builder"
+      path: "builder"
+    }
+    caches {
+      name: "pip"
+      path: "pip"
+      wait_for_warm_cache_secs: 60
+    }
+    service_account: "pigweed-try-builder@pigweed.google.com.iam.gserviceaccount.com"
+    experiments {
+      key: "luci.recipes.use_python3"
+      value: 100
+    }
+    experiments {
+      key: "luci.use_realms"
+      value: 100
+    }
+  }
+}
diff --git a/generated/pigweed/for_review_only/buildbucket/try/sample-project-envtest-linux.textproto b/generated/pigweed/for_review_only/buildbucket/try/sample-project-envtest-linux.textproto
new file mode 100644
index 0000000..955cd86
--- /dev/null
+++ b/generated/pigweed/for_review_only/buildbucket/try/sample-project-envtest-linux.textproto
@@ -0,0 +1,65 @@
+# Auto-generated by lucicfg.
+# Do not modify manually.
+#
+# For the schema of this file, see Bucket message:
+#   https://luci-config.appspot.com/schemas/projects:buildbucket.cfg
+
+name: "try"
+acls {
+  group: "all"
+}
+acls {
+  role: SCHEDULER
+  identity: "user:pigweed-try-builder@pigweed.google.com.iam.gserviceaccount.com"
+}
+acls {
+  role: SCHEDULER
+  group: "project-pigweed-tryjob-access"
+}
+swarming {
+  builders {
+    name: "sample-project-envtest-linux"
+    swarming_host: "chromium-swarm.appspot.com"
+    dimensions: "cores:16"
+    dimensions: "cpu:x64|x86-64"
+    dimensions: "os:Debian"
+    dimensions: "pool:luci.pigweed.try"
+    exe {
+      cipd_package: "pigweed/infra/recipe_bundles/pigweed.googlesource.com/infra/recipes"
+      cipd_version: "refs/heads/main"
+      cmd: "luciexe"
+    }
+    properties:
+      '{'
+      '  "$pigweed/checkout": {'
+      '    "branch": "main",'
+      '    "equivalent_remotes": [],'
+      '    "match_branch": true,'
+      '    "remote": "https://pigweed.googlesource.com/pigweed/sample_project",'
+      '    "use_repo": false'
+      '  },'
+      '  "command": "python -m pw_cli --directory $PW_PROJECT_ROOT --loglevel debug presubmit --step gn_gen_check",'
+      '  "recipe": "envtest"'
+      '}'
+    priority: 40
+    execution_timeout_secs: 3600
+    caches {
+      name: "builder"
+      path: "builder"
+    }
+    caches {
+      name: "pip"
+      path: "pip"
+      wait_for_warm_cache_secs: 60
+    }
+    service_account: "pigweed-try-builder@pigweed.google.com.iam.gserviceaccount.com"
+    experiments {
+      key: "luci.recipes.use_python3"
+      value: 100
+    }
+    experiments {
+      key: "luci.use_realms"
+      value: 100
+    }
+  }
+}
diff --git a/generated/pigweed/for_review_only/buildbucket/try/sample-project-envtest-mac.textproto b/generated/pigweed/for_review_only/buildbucket/try/sample-project-envtest-mac.textproto
new file mode 100644
index 0000000..e191896
--- /dev/null
+++ b/generated/pigweed/for_review_only/buildbucket/try/sample-project-envtest-mac.textproto
@@ -0,0 +1,70 @@
+# Auto-generated by lucicfg.
+# Do not modify manually.
+#
+# For the schema of this file, see Bucket message:
+#   https://luci-config.appspot.com/schemas/projects:buildbucket.cfg
+
+name: "try"
+acls {
+  group: "all"
+}
+acls {
+  role: SCHEDULER
+  identity: "user:pigweed-try-builder@pigweed.google.com.iam.gserviceaccount.com"
+}
+acls {
+  role: SCHEDULER
+  group: "project-pigweed-tryjob-access"
+}
+swarming {
+  builders {
+    name: "sample-project-envtest-mac"
+    swarming_host: "chromium-swarm.appspot.com"
+    dimensions: "cpu:x64|x86-64"
+    dimensions: "os:Mac"
+    dimensions: "pool:luci.pigweed.try"
+    exe {
+      cipd_package: "pigweed/infra/recipe_bundles/pigweed.googlesource.com/infra/recipes"
+      cipd_version: "refs/heads/main"
+      cmd: "luciexe"
+    }
+    properties:
+      '{'
+      '  "$pigweed/checkout": {'
+      '    "branch": "main",'
+      '    "equivalent_remotes": [],'
+      '    "match_branch": true,'
+      '    "remote": "https://pigweed.googlesource.com/pigweed/sample_project",'
+      '    "use_repo": false'
+      '  },'
+      '  "command": "python -m pw_cli --directory $PW_PROJECT_ROOT --loglevel debug presubmit --step gn_gen_check",'
+      '  "macos_sdk.version": "11c29",'
+      '  "recipe": "envtest"'
+      '}'
+    priority: 40
+    execution_timeout_secs: 3600
+    caches {
+      name: "builder"
+      path: "builder"
+    }
+    caches {
+      name: "macos_sdk"
+      path: "macos_sdk"
+      wait_for_warm_cache_secs: 120
+    }
+    caches {
+      name: "pip"
+      path: "pip"
+      wait_for_warm_cache_secs: 60
+    }
+    service_account: "pigweed-try-builder@pigweed.google.com.iam.gserviceaccount.com"
+    experiments {
+      key: "luci.recipes.use_python3"
+      value: 100
+    }
+    experiments {
+      key: "luci.use_realms"
+      value: 100
+    }
+  }
+}
diff --git a/generated/pigweed/for_review_only/buildbucket/try/sample-project-envtest-windows.textproto b/generated/pigweed/for_review_only/buildbucket/try/sample-project-envtest-windows.textproto
new file mode 100644
index 0000000..57104f3
--- /dev/null
+++ b/generated/pigweed/for_review_only/buildbucket/try/sample-project-envtest-windows.textproto
@@ -0,0 +1,67 @@
+# Auto-generated by lucicfg.
+# Do not modify manually.
+#
+# For the schema of this file, see Bucket message:
+#   https://luci-config.appspot.com/schemas/projects:buildbucket.cfg
+
+name: "try"
+acls {
+  group: "all"
+}
+acls {
+  role: SCHEDULER
+  identity: "user:pigweed-try-builder@pigweed.google.com.iam.gserviceaccount.com"
+}
+acls {
+  role: SCHEDULER
+  group: "project-pigweed-tryjob-access"
+}
+swarming {
+  builders {
+    name: "sample-project-envtest-windows"
+    swarming_host: "chromium-swarm.appspot.com"
+    dimensions: "cores:16"
+    dimensions: "cpu:x64|x86-64"
+    dimensions: "os:Windows-10"
+    dimensions: "pool:luci.pigweed.try"
+    exe {
+      cipd_package: "pigweed/infra/recipe_bundles/pigweed.googlesource.com/infra/recipes"
+      cipd_version: "refs/heads/main"
+      cmd: "luciexe"
+    }
+    properties:
+      '{'
+      '  "$pigweed/checkout": {'
+      '    "branch": "main",'
+      '    "equivalent_remotes": [],'
+      '    "match_branch": true,'
+      '    "remote": "https://pigweed.googlesource.com/pigweed/sample_project",'
+      '    "use_repo": false'
+      '  },'
+      '  "command": "python -m pw_cli --directory $PW_PROJECT_ROOT --loglevel debug presubmit --step gn_gen_check",'
+      '  "dry_run": true,'
+      '  "recipe": "envtest"'
+      '}'
+    priority: 50
+    execution_timeout_secs: 3600
+    caches {
+      name: "builder"
+      path: "builder"
+    }
+    caches {
+      name: "pip"
+      path: "pip"
+      wait_for_warm_cache_secs: 60
+    }
+    service_account: "pigweed-try-builder@pigweed.google.com.iam.gserviceaccount.com"
+    experimental: YES
+    experiments {
+      key: "luci.recipes.use_python3"
+      value: 100
+    }
+    experiments {
+      key: "luci.use_realms"
+      value: 100
+    }
+  }
+}
diff --git a/generated/pigweed/for_review_only/buildbucket/try/sample-project-lintformat-full.textproto b/generated/pigweed/for_review_only/buildbucket/try/sample-project-lintformat-full.textproto
new file mode 100644
index 0000000..b2f7541
--- /dev/null
+++ b/generated/pigweed/for_review_only/buildbucket/try/sample-project-lintformat-full.textproto
@@ -0,0 +1,79 @@
+# Auto-generated by lucicfg.
+# Do not modify manually.
+#
+# For the schema of this file, see Bucket message:
+#   https://luci-config.appspot.com/schemas/projects:buildbucket.cfg
+
+name: "try"
+acls {
+  group: "all"
+}
+acls {
+  role: SCHEDULER
+  identity: "user:pigweed-try-builder@pigweed.google.com.iam.gserviceaccount.com"
+}
+acls {
+  role: SCHEDULER
+  group: "project-pigweed-tryjob-access"
+}
+swarming {
+  builders {
+    name: "sample-project-lintformat-full"
+    swarming_host: "chromium-swarm.appspot.com"
+    dimensions: "cores:16"
+    dimensions: "cpu:x64|x86-64"
+    dimensions: "os:Debian"
+    dimensions: "pool:luci.pigweed.try"
+    exe {
+      cipd_package: "pigweed/infra/recipe_bundles/pigweed.googlesource.com/infra/recipes"
+      cipd_version: "refs/heads/main"
+      cmd: "luciexe"
+    }
+    properties:
+      '{'
+      '  "$pigweed/checkout": {'
+      '    "branch": "main",'
+      '    "equivalent_remotes": [],'
+      '    "match_branch": true,'
+      '    "remote": "https://pigweed.googlesource.com/pigweed/sample_project",'
+      '    "use_repo": false'
+      '  },'
+      '  "$pigweed/environment": {'
+      '    "config_file": "env_setup.json",'
+      '    "relative_pigweed_root": "third_party/pigweed",'
+      '    "root_variable_name": "SAMPLE_PROJECT_ROOT"'
+      '  },'
+      '  "$pigweed/pw_presubmit": {'
+      '    "only_on_changed_files": false,'
+      '    "program": ['
+      '      "lintformat"'
+      '    ]'
+      '  },'
+      '  "only_on_changed_files": false,'
+      '  "program": ['
+      '    "lintformat"'
+      '  ],'
+      '  "recipe": "pw_presubmit"'
+      '}'
+    priority: 40
+    execution_timeout_secs: 1500
+    caches {
+      name: "builder"
+      path: "builder"
+    }
+    caches {
+      name: "pip"
+      path: "pip"
+      wait_for_warm_cache_secs: 60
+    }
+    service_account: "pigweed-try-builder@pigweed.google.com.iam.gserviceaccount.com"
+    experiments {
+      key: "luci.recipes.use_python3"
+      value: 100
+    }
+    experiments {
+      key: "luci.use_realms"
+      value: 100
+    }
+  }
+}
diff --git a/generated/pigweed/for_review_only/buildbucket/try/sample-project-lintformat.textproto b/generated/pigweed/for_review_only/buildbucket/try/sample-project-lintformat.textproto
new file mode 100644
index 0000000..25c29ba
--- /dev/null
+++ b/generated/pigweed/for_review_only/buildbucket/try/sample-project-lintformat.textproto
@@ -0,0 +1,79 @@
+# Auto-generated by lucicfg.
+# Do not modify manually.
+#
+# For the schema of this file, see Bucket message:
+#   https://luci-config.appspot.com/schemas/projects:buildbucket.cfg
+
+name: "try"
+acls {
+  group: "all"
+}
+acls {
+  role: SCHEDULER
+  identity: "user:pigweed-try-builder@pigweed.google.com.iam.gserviceaccount.com"
+}
+acls {
+  role: SCHEDULER
+  group: "project-pigweed-tryjob-access"
+}
+swarming {
+  builders {
+    name: "sample-project-lintformat"
+    swarming_host: "chromium-swarm.appspot.com"
+    dimensions: "cores:16"
+    dimensions: "cpu:x64|x86-64"
+    dimensions: "os:Debian"
+    dimensions: "pool:luci.pigweed.try"
+    exe {
+      cipd_package: "pigweed/infra/recipe_bundles/pigweed.googlesource.com/infra/recipes"
+      cipd_version: "refs/heads/main"
+      cmd: "luciexe"
+    }
+    properties:
+      '{'
+      '  "$pigweed/checkout": {'
+      '    "branch": "main",'
+      '    "equivalent_remotes": [],'
+      '    "match_branch": true,'
+      '    "remote": "https://pigweed.googlesource.com/pigweed/sample_project",'
+      '    "use_repo": false'
+      '  },'
+      '  "$pigweed/environment": {'
+      '    "config_file": "env_setup.json",'
+      '    "relative_pigweed_root": "third_party/pigweed",'
+      '    "root_variable_name": "SAMPLE_PROJECT_ROOT"'
+      '  },'
+      '  "$pigweed/pw_presubmit": {'
+      '    "only_on_changed_files": true,'
+      '    "program": ['
+      '      "lintformat"'
+      '    ]'
+      '  },'
+      '  "only_on_changed_files": true,'
+      '  "program": ['
+      '    "lintformat"'
+      '  ],'
+      '  "recipe": "pw_presubmit"'
+      '}'
+    priority: 40
+    execution_timeout_secs: 1500
+    caches {
+      name: "builder"
+      path: "builder"
+    }
+    caches {
+      name: "pip"
+      path: "pip"
+      wait_for_warm_cache_secs: 60
+    }
+    service_account: "pigweed-try-builder@pigweed.google.com.iam.gserviceaccount.com"
+    experiments {
+      key: "luci.recipes.use_python3"
+      value: 100
+    }
+    experiments {
+      key: "luci.use_realms"
+      value: 100
+    }
+  }
+}
diff --git a/generated/pigweed/for_review_only/buildbucket/try/sample-project-renode-test.textproto b/generated/pigweed/for_review_only/buildbucket/try/sample-project-renode-test.textproto
new file mode 100644
index 0000000..ff416d0
--- /dev/null
+++ b/generated/pigweed/for_review_only/buildbucket/try/sample-project-renode-test.textproto
@@ -0,0 +1,72 @@
+# Auto-generated by lucicfg.
+# Do not modify manually.
+#
+# For the schema of this file, see Bucket message:
+#   https://luci-config.appspot.com/schemas/projects:buildbucket.cfg
+
+name: "try"
+acls {
+  group: "all"
+}
+acls {
+  role: SCHEDULER
+  identity: "user:pigweed-try-builder@pigweed.google.com.iam.gserviceaccount.com"
+}
+acls {
+  role: SCHEDULER
+  group: "project-pigweed-tryjob-access"
+}
+swarming {
+  builders {
+    name: "sample-project-renode-test"
+    swarming_host: "chromium-swarm.appspot.com"
+    dimensions: "cores:16"
+    dimensions: "cpu:x64|x86-64"
+    dimensions: "os:Debian"
+    dimensions: "pool:luci.pigweed.try"
+    exe {
+      cipd_package: "pigweed/infra/recipe_bundles/pigweed.googlesource.com/infra/recipes"
+      cipd_version: "refs/heads/main"
+      cmd: "luciexe"
+    }
+    properties:
+      '{'
+      '  "$pigweed/checkout": {'
+      '    "branch": "main",'
+      '    "equivalent_remotes": [],'
+      '    "match_branch": true,'
+      '    "remote": "https://pigweed.googlesource.com/pigweed/sample_project",'
+      '    "use_repo": false'
+      '  },'
+      '  "$pigweed/environment": {'
+      '    "config_file": "env_setup.json",'
+      '    "relative_pigweed_root": "third_party/pigweed",'
+      '    "root_variable_name": "SAMPLE_PROJECT_ROOT"'
+      '  },'
+      '  "dry_run": true,'
+      '  "recipe": "run_script",'
+      '  "script": "pigweed/pw_unit_test/renode/test.sh"'
+      '}'
+    priority: 50
+    execution_timeout_secs: 3600
+    caches {
+      name: "builder"
+      path: "builder"
+    }
+    caches {
+      name: "pip"
+      path: "pip"
+      wait_for_warm_cache_secs: 60
+    }
+    service_account: "pigweed-try-builder@pigweed.google.com.iam.gserviceaccount.com"
+    experimental: YES
+    experiments {
+      key: "luci.recipes.use_python3"
+      value: 100
+    }
+    experiments {
+      key: "luci.use_realms"
+      value: 100
+    }
+  }
+}
diff --git a/generated/pigweed/for_review_only/buildbucket/try/sample-project-xref-generator.textproto b/generated/pigweed/for_review_only/buildbucket/try/sample-project-xref-generator.textproto
new file mode 100644
index 0000000..dd48b28
--- /dev/null
+++ b/generated/pigweed/for_review_only/buildbucket/try/sample-project-xref-generator.textproto
@@ -0,0 +1,69 @@
+# Auto-generated by lucicfg.
+# Do not modify manually.
+#
+# For the schema of this file, see Bucket message:
+#   https://luci-config.appspot.com/schemas/projects:buildbucket.cfg
+
+name: "try"
+acls {
+  group: "all"
+}
+acls {
+  role: SCHEDULER
+  identity: "user:pigweed-try-builder@pigweed.google.com.iam.gserviceaccount.com"
+}
+acls {
+  role: SCHEDULER
+  group: "project-pigweed-tryjob-access"
+}
+swarming {
+  builders {
+    name: "sample-project-xref-generator"
+    swarming_host: "chromium-swarm.appspot.com"
+    dimensions: "cores:16"
+    dimensions: "cpu:x64|x86-64"
+    dimensions: "os:Debian"
+    dimensions: "pool:luci.pigweed.try"
+    exe {
+      cipd_package: "pigweed/infra/recipe_bundles/pigweed.googlesource.com/infra/recipes"
+      cipd_version: "refs/heads/main"
+      cmd: "luciexe"
+    }
+    properties:
+      '{'
+      '  "$pigweed/checkout": {'
+      '    "branch": "main",'
+      '    "equivalent_remotes": [],'
+      '    "match_branch": true,'
+      '    "remote": "https://pigweed.googlesource.com/pigweed/sample_project",'
+      '    "use_repo": false'
+      '  },'
+      '  "$pigweed/environment": {'
+      '    "config_file": "env_setup.json",'
+      '    "relative_pigweed_root": "third_party/pigweed",'
+      '    "root_variable_name": "SAMPLE_PROJECT_ROOT"'
+      '  },'
+      '  "recipe": "xrefs"'
+      '}'
+    priority: 40
+    execution_timeout_secs: 3600
+    caches {
+      name: "builder"
+      path: "builder"
+    }
+    caches {
+      name: "pip"
+      path: "pip"
+      wait_for_warm_cache_secs: 60
+    }
+    service_account: "pigweed-try-builder@pigweed.google.com.iam.gserviceaccount.com"
+    experiments {
+      key: "luci.recipes.use_python3"
+      value: 100
+    }
+    experiments {
+      key: "luci.use_realms"
+      value: 100
+    }
+  }
+}
diff --git a/generated/pigweed/for_review_only/buildbucket/try/static-checks-experimental.textproto b/generated/pigweed/for_review_only/buildbucket/try/static-checks-experimental.textproto
new file mode 100644
index 0000000..11e16b5
--- /dev/null
+++ b/generated/pigweed/for_review_only/buildbucket/try/static-checks-experimental.textproto
@@ -0,0 +1,60 @@
+# Auto-generated by lucicfg.
+# Do not modify manually.
+#
+# For the schema of this file, see Bucket message:
+#   https://luci-config.appspot.com/schemas/projects:buildbucket.cfg
+
+name: "try"
+acls {
+  group: "all"
+}
+acls {
+  role: SCHEDULER
+  identity: "user:pigweed-try-builder@pigweed.google.com.iam.gserviceaccount.com"
+}
+acls {
+  role: SCHEDULER
+  group: "project-pigweed-tryjob-access"
+}
+swarming {
+  builders {
+    name: "static-checks-experimental"
+    swarming_host: "chromium-swarm.appspot.com"
+    dimensions: "60:cores:2"
+    dimensions: "cpu:x64|x86-64"
+    dimensions: "os:Debian"
+    dimensions: "pool:luci.pigweed.try"
+    exe {
+      cipd_package: "pigweed/infra/recipe_bundles/pigweed.googlesource.com/infra/recipes"
+      cipd_version: "refs/heads/main"
+      cmd: "luciexe"
+    }
+    properties:
+      '{'
+      '  "doc_extensions": null,'
+      '  "forbid_requires": false,'
+      '  "ignored_accounts": ['
+      '    "pigweed-integration-roller@pigweed.google.com.iam.gserviceaccount.com",'
+      '    "pigweed-roller@pigweed.google.com.iam.gserviceaccount.com"'
+      '  ],'
+      '  "readability": [],'
+      '  "recipe": "static_checks",'
+      '  "require_tested": false'
+      '}'
+    priority: 40
+    execution_timeout_secs: 300
+    caches {
+      name: "builder"
+      path: "builder"
+    }
+    service_account: "pigweed-try-builder@pigweed.google.com.iam.gserviceaccount.com"
+    experiments {
+      key: "luci.recipes.use_python3"
+      value: 100
+    }
+    experiments {
+      key: "luci.use_realms"
+      value: 100
+    }
+  }
+}
diff --git a/generated/pigweed/for_review_only/buildbucket/try/static-checks-pigweed.textproto b/generated/pigweed/for_review_only/buildbucket/try/static-checks-pigweed.textproto
new file mode 100644
index 0000000..c25433e
--- /dev/null
+++ b/generated/pigweed/for_review_only/buildbucket/try/static-checks-pigweed.textproto
@@ -0,0 +1,63 @@
+# Auto-generated by lucicfg.
+# Do not modify manually.
+#
+# For the schema of this file, see Bucket message:
+#   https://luci-config.appspot.com/schemas/projects:buildbucket.cfg
+
+name: "try"
+acls {
+  group: "all"
+}
+acls {
+  role: SCHEDULER
+  identity: "user:pigweed-try-builder@pigweed.google.com.iam.gserviceaccount.com"
+}
+acls {
+  role: SCHEDULER
+  group: "project-pigweed-tryjob-access"
+}
+swarming {
+  builders {
+    name: "static-checks-pigweed"
+    swarming_host: "chromium-swarm.appspot.com"
+    dimensions: "60:cores:2"
+    dimensions: "cpu:x64|x86-64"
+    dimensions: "os:Debian"
+    dimensions: "pool:luci.pigweed.try"
+    exe {
+      cipd_package: "pigweed/infra/recipe_bundles/pigweed.googlesource.com/infra/recipes"
+      cipd_version: "refs/heads/main"
+      cmd: "luciexe"
+    }
+    properties:
+      '{'
+      '  "doc_extensions": ['
+      '    ".md",'
+      '    ".rst"'
+      '  ],'
+      '  "forbid_requires": false,'
+      '  "ignored_accounts": ['
+      '    "pigweed-integration-roller@pigweed.google.com.iam.gserviceaccount.com",'
+      '    "pigweed-roller@pigweed.google.com.iam.gserviceaccount.com"'
+      '  ],'
+      '  "readability": [],'
+      '  "recipe": "static_checks",'
+      '  "require_tested": false'
+      '}'
+    priority: 40
+    execution_timeout_secs: 300
+    caches {
+      name: "builder"
+      path: "builder"
+    }
+    service_account: "pigweed-try-builder@pigweed.google.com.iam.gserviceaccount.com"
+    experiments {
+      key: "luci.recipes.use_python3"
+      value: 100
+    }
+    experiments {
+      key: "luci.use_realms"
+      value: 100
+    }
+  }
+}
diff --git a/generated/pigweed/for_review_only/buildbucket/try/static-checks-sample-project.textproto b/generated/pigweed/for_review_only/buildbucket/try/static-checks-sample-project.textproto
new file mode 100644
index 0000000..fe9dcf5
--- /dev/null
+++ b/generated/pigweed/for_review_only/buildbucket/try/static-checks-sample-project.textproto
@@ -0,0 +1,60 @@
+# Auto-generated by lucicfg.
+# Do not modify manually.
+#
+# For the schema of this file, see Bucket message:
+#   https://luci-config.appspot.com/schemas/projects:buildbucket.cfg
+
+name: "try"
+acls {
+  group: "all"
+}
+acls {
+  role: SCHEDULER
+  identity: "user:pigweed-try-builder@pigweed.google.com.iam.gserviceaccount.com"
+}
+acls {
+  role: SCHEDULER
+  group: "project-pigweed-tryjob-access"
+}
+swarming {
+  builders {
+    name: "static-checks-sample-project"
+    swarming_host: "chromium-swarm.appspot.com"
+    dimensions: "60:cores:2"
+    dimensions: "cpu:x64|x86-64"
+    dimensions: "os:Debian"
+    dimensions: "pool:luci.pigweed.try"
+    exe {
+      cipd_package: "pigweed/infra/recipe_bundles/pigweed.googlesource.com/infra/recipes"
+      cipd_version: "refs/heads/main"
+      cmd: "luciexe"
+    }
+    properties:
+      '{'
+      '  "doc_extensions": null,'
+      '  "forbid_requires": false,'
+      '  "ignored_accounts": ['
+      '    "pigweed-integration-roller@pigweed.google.com.iam.gserviceaccount.com",'
+      '    "pigweed-roller@pigweed.google.com.iam.gserviceaccount.com"'
+      '  ],'
+      '  "readability": [],'
+      '  "recipe": "static_checks",'
+      '  "require_tested": false'
+      '}'
+    priority: 40
+    execution_timeout_secs: 300
+    caches {
+      name: "builder"
+      path: "builder"
+    }
+    service_account: "pigweed-try-builder@pigweed.google.com.iam.gserviceaccount.com"
+    experiments {
+      key: "luci.recipes.use_python3"
+      value: 100
+    }
+    experiments {
+      key: "luci.use_realms"
+      value: 100
+    }
+  }
+}
diff --git a/generated/pigweed/luci/cr-buildbucket.cfg b/generated/pigweed/luci/cr-buildbucket.cfg
new file mode 100644
index 0000000..7fc2316
--- /dev/null
+++ b/generated/pigweed/luci/cr-buildbucket.cfg
@@ -0,0 +1,7725 @@
+# Auto-generated by lucicfg.
+# Do not modify manually.
+#
+# For the schema of this file, see BuildbucketCfg message:
+#   https://luci-config.appspot.com/schemas/projects:buildbucket.cfg
+
+buckets {
+  name: "ci"
+  acls {
+    group: "all"
+  }
+  acls {
+    role: SCHEDULER
+    identity: "user:luci-scheduler@appspot.gserviceaccount.com"
+  }
+  acls {
+    role: SCHEDULER
+    identity: "user:pigweed-ci-builder@pigweed.google.com.iam.gserviceaccount.com"
+  }
+  swarming {
+    builders {
+      name: "docs-builder"
+      swarming_host: "chromium-swarm.appspot.com"
+      dimensions: "cores:16"
+      dimensions: "cpu:x64|x86-64"
+      dimensions: "os:Debian"
+      dimensions: "pool:luci.pigweed.ci"
+      exe {
+        cipd_package: "pigweed/infra/recipe_bundles/pigweed.googlesource.com/infra/recipes"
+        cipd_version: "refs/heads/main"
+        cmd: "luciexe"
+      }
+      properties:
+        '{'
+        '  "$pigweed/build": {'
+        '    "gn_args": [],'
+        '    "ninja_targets": ['
+        '      "docs"'
+        '    ]'
+        '  },'
+        '  "$pigweed/checkout": {'
+        '    "branch": "main",'
+        '    "equivalent_remotes": [],'
+        '    "match_branch": true,'
+        '    "remote": "https://pigweed.googlesource.com/pigweed/pigweed",'
+        '    "use_repo": false'
+        '  },'
+        '  "$pigweed/environment": {'
+        '    "config_file": "pw_env_setup/config.json"'
+        '  },'
+        '  "dry_run": false,'
+        '  "recipe": "docs_builder"'
+        '}'
+      priority: 40
+      execution_timeout_secs: 2700
+      caches {
+        name: "builder"
+        path: "builder"
+      }
+      caches {
+        name: "pip"
+        path: "pip"
+        wait_for_warm_cache_secs: 60
+      }
+      service_account: "pigweed-doc-builder@pigweed.google.com.iam.gserviceaccount.com"
+      experiments {
+        key: "luci.recipes.use_python3"
+        value: 100
+      }
+      experiments {
+        key: "luci.use_realms"
+        value: 100
+      }
+    }
+    builders {
+      name: "envtest-linux-python2"
+      swarming_host: "chromium-swarm.appspot.com"
+      dimensions: "cores:16"
+      dimensions: "cpu:x64|x86-64"
+      dimensions: "os:Debian"
+      dimensions: "pool:luci.pigweed.ci"
+      exe {
+        cipd_package: "pigweed/infra/recipe_bundles/pigweed.googlesource.com/infra/recipes"
+        cipd_version: "refs/heads/main"
+        cmd: "luciexe"
+      }
+      properties:
+        '{'
+        '  "$pigweed/checkout": {'
+        '    "branch": "main",'
+        '    "equivalent_remotes": [],'
+        '    "match_branch": true,'
+        '    "remote": "https://pigweed.googlesource.com/pigweed/pigweed",'
+        '    "use_repo": false'
+        '  },'
+        '  "command": "python -m pw_cli --directory $PW_PROJECT_ROOT --loglevel debug presubmit --step gn_gen_check",'
+        '  "environment_variables": ['
+        '    "PW_BOOTSTRAP_PYTHON=python2"'
+        '  ],'
+        '  "recipe": "envtest"'
+        '}'
+      priority: 40
+      execution_timeout_secs: 2700
+      caches {
+        name: "builder"
+        path: "builder"
+      }
+      caches {
+        name: "pip"
+        path: "pip"
+        wait_for_warm_cache_secs: 60
+      }
+      service_account: "pigweed-ci-builder@pigweed.google.com.iam.gserviceaccount.com"
+      experiments {
+        key: "luci.recipes.use_python3"
+        value: 100
+      }
+      experiments {
+        key: "luci.use_realms"
+        value: 100
+      }
+    }
+    builders {
+      name: "envtest-linux-python3"
+      swarming_host: "chromium-swarm.appspot.com"
+      dimensions: "cores:16"
+      dimensions: "cpu:x64|x86-64"
+      dimensions: "os:Debian"
+      dimensions: "pool:luci.pigweed.ci"
+      exe {
+        cipd_package: "pigweed/infra/recipe_bundles/pigweed.googlesource.com/infra/recipes"
+        cipd_version: "refs/heads/main"
+        cmd: "luciexe"
+      }
+      properties:
+        '{'
+        '  "$pigweed/checkout": {'
+        '    "branch": "main",'
+        '    "equivalent_remotes": [],'
+        '    "match_branch": true,'
+        '    "remote": "https://pigweed.googlesource.com/pigweed/pigweed",'
+        '    "use_repo": false'
+        '  },'
+        '  "command": "python -m pw_cli --directory $PW_PROJECT_ROOT --loglevel debug presubmit --step gn_gen_check",'
+        '  "environment_variables": ['
+        '    "PW_BOOTSTRAP_PYTHON=python3"'
+        '  ],'
+        '  "recipe": "envtest"'
+        '}'
+      priority: 40
+      execution_timeout_secs: 2700
+      caches {
+        name: "builder"
+        path: "builder"
+      }
+      caches {
+        name: "pip"
+        path: "pip"
+        wait_for_warm_cache_secs: 60
+      }
+      service_account: "pigweed-ci-builder@pigweed.google.com.iam.gserviceaccount.com"
+      experiments {
+        key: "luci.recipes.use_python3"
+        value: 100
+      }
+      experiments {
+        key: "luci.use_realms"
+        value: 100
+      }
+    }
+    builders {
+      name: "envtest-mac"
+      swarming_host: "chromium-swarm.appspot.com"
+      dimensions: "cpu:x64|x86-64"
+      dimensions: "os:Mac"
+      dimensions: "pool:luci.pigweed.ci"
+      exe {
+        cipd_package: "pigweed/infra/recipe_bundles/pigweed.googlesource.com/infra/recipes"
+        cipd_version: "refs/heads/main"
+        cmd: "luciexe"
+      }
+      properties:
+        '{'
+        '  "$pigweed/checkout": {'
+        '    "branch": "main",'
+        '    "equivalent_remotes": [],'
+        '    "match_branch": true,'
+        '    "remote": "https://pigweed.googlesource.com/pigweed/pigweed",'
+        '    "use_repo": false'
+        '  },'
+        '  "command": "python -m pw_cli --directory $PW_PROJECT_ROOT --loglevel debug presubmit --step gn_gen_check",'
+        '  "macos_sdk.version": "11c29",'
+        '  "recipe": "envtest"'
+        '}'
+      priority: 40
+      execution_timeout_secs: 2700
+      caches {
+        name: "builder"
+        path: "builder"
+      }
+      caches {
+        name: "macos_sdk"
+        path: "macos_sdk"
+        wait_for_warm_cache_secs: 120
+      }
+      caches {
+        name: "pip"
+        path: "pip"
+        wait_for_warm_cache_secs: 60
+      }
+      service_account: "pigweed-ci-builder@pigweed.google.com.iam.gserviceaccount.com"
+      experiments {
+        key: "luci.recipes.use_python3"
+        value: 100
+      }
+      experiments {
+        key: "luci.use_realms"
+        value: 100
+      }
+    }
+    builders {
+      name: "envtest-windows"
+      swarming_host: "chromium-swarm.appspot.com"
+      dimensions: "cores:16"
+      dimensions: "cpu:x64|x86-64"
+      dimensions: "os:Windows-10"
+      dimensions: "pool:luci.pigweed.ci"
+      exe {
+        cipd_package: "pigweed/infra/recipe_bundles/pigweed.googlesource.com/infra/recipes"
+        cipd_version: "refs/heads/main"
+        cmd: "luciexe"
+      }
+      properties:
+        '{'
+        '  "$pigweed/checkout": {'
+        '    "branch": "main",'
+        '    "equivalent_remotes": [],'
+        '    "match_branch": true,'
+        '    "remote": "https://pigweed.googlesource.com/pigweed/pigweed",'
+        '    "use_repo": false'
+        '  },'
+        '  "command": "python -m pw_cli --directory $PW_PROJECT_ROOT --loglevel debug presubmit --step gn_gen_check",'
+        '  "recipe": "envtest"'
+        '}'
+      priority: 40
+      execution_timeout_secs: 2700
+      caches {
+        name: "builder"
+        path: "builder"
+      }
+      caches {
+        name: "pip"
+        path: "pip"
+        wait_for_warm_cache_secs: 60
+      }
+      service_account: "pigweed-ci-builder@pigweed.google.com.iam.gserviceaccount.com"
+      experiments {
+        key: "luci.recipes.use_python3"
+        value: 100
+      }
+      experiments {
+        key: "luci.use_realms"
+        value: 100
+      }
+    }
+    builders {
+      name: "experimental-envtest"
+      swarming_host: "chromium-swarm.appspot.com"
+      dimensions: "cores:16"
+      dimensions: "cpu:x64|x86-64"
+      dimensions: "os:Debian"
+      dimensions: "pool:luci.pigweed.ci"
+      exe {
+        cipd_package: "pigweed/infra/recipe_bundles/pigweed.googlesource.com/infra/recipes"
+        cipd_version: "refs/heads/main"
+        cmd: "luciexe"
+      }
+      properties:
+        '{'
+        '  "$pigweed/checkout": {'
+        '    "branch": "main",'
+        '    "equivalent_remotes": [],'
+        '    "match_branch": true,'
+        '    "remote": "https://pigweed.googlesource.com/pigweed/experimental",'
+        '    "use_repo": false'
+        '  },'
+        '  "command": "python -m pw_cli --directory $PW_PROJECT_ROOT --loglevel debug presubmit --step gn_gen_check",'
+        '  "dry_run": true,'
+        '  "recipe": "envtest"'
+        '}'
+      priority: 50
+      execution_timeout_secs: 3600
+      caches {
+        name: "builder"
+        path: "builder"
+      }
+      caches {
+        name: "pip"
+        path: "pip"
+        wait_for_warm_cache_secs: 60
+      }
+      service_account: "pigweed-ci-builder@pigweed.google.com.iam.gserviceaccount.com"
+      experimental: YES
+      experiments {
+        key: "luci.recipes.use_python3"
+        value: 100
+      }
+      experiments {
+        key: "luci.use_realms"
+        value: 100
+      }
+    }
+    builders {
+      name: "experimental-full"
+      swarming_host: "chromium-swarm.appspot.com"
+      dimensions: "cores:16"
+      dimensions: "cpu:x64|x86-64"
+      dimensions: "os:Debian"
+      dimensions: "pool:luci.pigweed.ci"
+      exe {
+        cipd_package: "pigweed/infra/recipe_bundles/pigweed.googlesource.com/infra/recipes"
+        cipd_version: "refs/heads/main"
+        cmd: "luciexe"
+      }
+      properties:
+        '{'
+        '  "$pigweed/checkout": {'
+        '    "branch": "main",'
+        '    "equivalent_remotes": [],'
+        '    "match_branch": true,'
+        '    "remote": "https://pigweed.googlesource.com/pigweed/experimental",'
+        '    "use_repo": false'
+        '  },'
+        '  "$pigweed/environment": {'
+        '    "config_file": "env_setup.json",'
+        '    "relative_pigweed_root": "third_party/pigweed",'
+        '    "root_variable_name": "PIGWEED_EXPERIMENTAL_ROOT"'
+        '  },'
+        '  "$pigweed/pw_presubmit": {'
+        '    "program": ['
+        '      "full"'
+        '    ]'
+        '  },'
+        '  "program": ['
+        '    "full"'
+        '  ],'
+        '  "recipe": "pw_presubmit"'
+        '}'
+      priority: 40
+      execution_timeout_secs: 3600
+      caches {
+        name: "builder"
+        path: "builder"
+      }
+      caches {
+        name: "pip"
+        path: "pip"
+        wait_for_warm_cache_secs: 60
+      }
+      service_account: "pigweed-ci-builder@pigweed.google.com.iam.gserviceaccount.com"
+      experiments {
+        key: "luci.recipes.use_python3"
+        value: 100
+      }
+      experiments {
+        key: "luci.use_realms"
+        value: 100
+      }
+    }
+    builders {
+      name: "experimental-lintformat"
+      swarming_host: "chromium-swarm.appspot.com"
+      dimensions: "cores:16"
+      dimensions: "cpu:x64|x86-64"
+      dimensions: "os:Debian"
+      dimensions: "pool:luci.pigweed.ci"
+      exe {
+        cipd_package: "pigweed/infra/recipe_bundles/pigweed.googlesource.com/infra/recipes"
+        cipd_version: "refs/heads/main"
+        cmd: "luciexe"
+      }
+      properties:
+        '{'
+        '  "$pigweed/checkout": {'
+        '    "branch": "main",'
+        '    "equivalent_remotes": [],'
+        '    "match_branch": true,'
+        '    "remote": "https://pigweed.googlesource.com/pigweed/experimental",'
+        '    "use_repo": false'
+        '  },'
+        '  "$pigweed/environment": {'
+        '    "config_file": "env_setup.json",'
+        '    "relative_pigweed_root": "third_party/pigweed",'
+        '    "root_variable_name": "PIGWEED_EXPERIMENTAL_ROOT"'
+        '  },'
+        '  "$pigweed/pw_presubmit": {'
+        '    "program": ['
+        '      "lintformat"'
+        '    ]'
+        '  },'
+        '  "dry_run": true,'
+        '  "program": ['
+        '    "lintformat"'
+        '  ],'
+        '  "recipe": "pw_presubmit"'
+        '}'
+      priority: 50
+      execution_timeout_secs: 1500
+      caches {
+        name: "builder"
+        path: "builder"
+      }
+      caches {
+        name: "pip"
+        path: "pip"
+        wait_for_warm_cache_secs: 60
+      }
+      service_account: "pigweed-ci-builder@pigweed.google.com.iam.gserviceaccount.com"
+      experimental: YES
+      experiments {
+        key: "luci.recipes.use_python3"
+        value: 100
+      }
+      experiments {
+        key: "luci.use_realms"
+        value: 100
+      }
+    }
+    builders {
+      name: "host-tools-builder-linux"
+      swarming_host: "chromium-swarm.appspot.com"
+      dimensions: "cores:16"
+      dimensions: "cpu:x64|x86-64"
+      dimensions: "os:Debian"
+      dimensions: "pool:luci.pigweed.ci"
+      exe {
+        cipd_package: "pigweed/infra/recipe_bundles/pigweed.googlesource.com/infra/recipes"
+        cipd_version: "refs/heads/main"
+        cmd: "luciexe"
+      }
+      properties:
+        '{'
+        '  "$pigweed/build": {'
+        '    "gn_args": [],'
+        '    "ninja_targets": ['
+        '      "host_tools"'
+        '    ]'
+        '  },'
+        '  "$pigweed/checkout": {'
+        '    "branch": "main",'
+        '    "equivalent_remotes": [],'
+        '    "match_branch": true,'
+        '    "remote": "https://pigweed.googlesource.com/pigweed/pigweed",'
+        '    "use_repo": false'
+        '  },'
+        '  "$pigweed/environment": {'
+        '    "config_file": "pw_env_setup/config.json"'
+        '  },'
+        '  "add_cipd_platform": true,'
+        '  "artifacts": ['
+        '    "host_tools/*"'
+        '  ],'
+        '  "cipd_path": "pigweed/host_tools",'
+        '  "dry_run": false,'
+        '  "recipe": "target_to_cipd",'
+        '  "replacements": ['
+        '    {'
+        '      "new": "",'
+        '      "old": "host_clang_debug/"'
+        '    },'
+        '    {'
+        '      "new": "",'
+        '      "old": "host_gcc_debug/"'
+        '    },'
+        '    {'
+        '      "new": "",'
+        '      "old": "host_tools/"'
+        '    }'
+        '  ],'
+        '  "roller_name": null'
+        '}'
+      priority: 40
+      execution_timeout_secs: 2700
+      caches {
+        name: "builder"
+        path: "builder"
+      }
+      caches {
+        name: "go"
+        path: "go"
+        wait_for_warm_cache_secs: 120
+      }
+      caches {
+        name: "pip"
+        path: "pip"
+        wait_for_warm_cache_secs: 60
+      }
+      service_account: "pigweed-roller@pigweed.google.com.iam.gserviceaccount.com"
+      experiments {
+        key: "luci.recipes.use_python3"
+        value: 100
+      }
+      experiments {
+        key: "luci.use_realms"
+        value: 100
+      }
+    }
+    builders {
+      name: "host-tools-builder-mac"
+      swarming_host: "chromium-swarm.appspot.com"
+      dimensions: "cpu:x64|x86-64"
+      dimensions: "os:Mac"
+      dimensions: "pool:luci.pigweed.ci"
+      exe {
+        cipd_package: "pigweed/infra/recipe_bundles/pigweed.googlesource.com/infra/recipes"
+        cipd_version: "refs/heads/main"
+        cmd: "luciexe"
+      }
+      properties:
+        '{'
+        '  "$pigweed/build": {'
+        '    "gn_args": [],'
+        '    "ninja_targets": ['
+        '      "host_tools"'
+        '    ]'
+        '  },'
+        '  "$pigweed/checkout": {'
+        '    "branch": "main",'
+        '    "equivalent_remotes": [],'
+        '    "match_branch": true,'
+        '    "remote": "https://pigweed.googlesource.com/pigweed/pigweed",'
+        '    "use_repo": false'
+        '  },'
+        '  "$pigweed/environment": {'
+        '    "config_file": "pw_env_setup/config.json"'
+        '  },'
+        '  "add_cipd_platform": true,'
+        '  "artifacts": ['
+        '    "host_tools/*"'
+        '  ],'
+        '  "cipd_path": "pigweed/host_tools",'
+        '  "dry_run": false,'
+        '  "macos_sdk.version": "11c29",'
+        '  "recipe": "target_to_cipd",'
+        '  "replacements": ['
+        '    {'
+        '      "new": "",'
+        '      "old": "host_clang_debug/"'
+        '    },'
+        '    {'
+        '      "new": "",'
+        '      "old": "host_gcc_debug/"'
+        '    },'
+        '    {'
+        '      "new": "",'
+        '      "old": "host_tools/"'
+        '    }'
+        '  ],'
+        '  "roller_name": null'
+        '}'
+      priority: 40
+      execution_timeout_secs: 2700
+      caches {
+        name: "builder"
+        path: "builder"
+      }
+      caches {
+        name: "go"
+        path: "go"
+        wait_for_warm_cache_secs: 120
+      }
+      caches {
+        name: "macos_sdk"
+        path: "macos_sdk"
+        wait_for_warm_cache_secs: 120
+      }
+      caches {
+        name: "pip"
+        path: "pip"
+        wait_for_warm_cache_secs: 60
+      }
+      service_account: "pigweed-roller@pigweed.google.com.iam.gserviceaccount.com"
+      experiments {
+        key: "luci.recipes.use_python3"
+        value: 100
+      }
+      experiments {
+        key: "luci.use_realms"
+        value: 100
+      }
+    }
+    builders {
+      name: "host-tools-builder-windows"
+      swarming_host: "chromium-swarm.appspot.com"
+      dimensions: "cores:16"
+      dimensions: "cpu:x64|x86-64"
+      dimensions: "os:Windows-10"
+      dimensions: "pool:luci.pigweed.ci"
+      exe {
+        cipd_package: "pigweed/infra/recipe_bundles/pigweed.googlesource.com/infra/recipes"
+        cipd_version: "refs/heads/main"
+        cmd: "luciexe"
+      }
+      properties:
+        '{'
+        '  "$pigweed/build": {'
+        '    "gn_args": [],'
+        '    "ninja_targets": ['
+        '      "host_tools"'
+        '    ]'
+        '  },'
+        '  "$pigweed/checkout": {'
+        '    "branch": "main",'
+        '    "equivalent_remotes": [],'
+        '    "match_branch": true,'
+        '    "remote": "https://pigweed.googlesource.com/pigweed/pigweed",'
+        '    "use_repo": false'
+        '  },'
+        '  "$pigweed/environment": {'
+        '    "config_file": "pw_env_setup/config.json"'
+        '  },'
+        '  "add_cipd_platform": true,'
+        '  "artifacts": ['
+        '    "host_tools/*"'
+        '  ],'
+        '  "cipd_path": "pigweed/host_tools",'
+        '  "dry_run": false,'
+        '  "recipe": "target_to_cipd",'
+        '  "replacements": ['
+        '    {'
+        '      "new": "",'
+        '      "old": "host_clang_debug/"'
+        '    },'
+        '    {'
+        '      "new": "",'
+        '      "old": "host_gcc_debug/"'
+        '    },'
+        '    {'
+        '      "new": "",'
+        '      "old": "host_tools/"'
+        '    }'
+        '  ],'
+        '  "roller_name": null'
+        '}'
+      priority: 40
+      execution_timeout_secs: 2700
+      caches {
+        name: "builder"
+        path: "builder"
+      }
+      caches {
+        name: "go"
+        path: "go"
+        wait_for_warm_cache_secs: 120
+      }
+      caches {
+        name: "pip"
+        path: "pip"
+        wait_for_warm_cache_secs: 60
+      }
+      service_account: "pigweed-roller@pigweed.google.com.iam.gserviceaccount.com"
+      experiments {
+        key: "luci.recipes.use_python3"
+        value: 100
+      }
+      experiments {
+        key: "luci.use_realms"
+        value: 100
+      }
+    }
+    builders {
+      name: "pigweed-lintformat"
+      swarming_host: "chromium-swarm.appspot.com"
+      dimensions: "cores:16"
+      dimensions: "cpu:x64|x86-64"
+      dimensions: "os:Debian"
+      dimensions: "pool:luci.pigweed.ci"
+      exe {
+        cipd_package: "pigweed/infra/recipe_bundles/pigweed.googlesource.com/infra/recipes"
+        cipd_version: "refs/heads/main"
+        cmd: "luciexe"
+      }
+      properties:
+        '{'
+        '  "$pigweed/checkout": {'
+        '    "branch": "main",'
+        '    "equivalent_remotes": [],'
+        '    "match_branch": true,'
+        '    "remote": "https://pigweed.googlesource.com/pigweed/pigweed",'
+        '    "use_repo": false'
+        '  },'
+        '  "$pigweed/environment": {'
+        '    "config_file": "pw_env_setup/config.json"'
+        '  },'
+        '  "$pigweed/pw_presubmit": {'
+        '    "program": ['
+        '      "lintformat"'
+        '    ]'
+        '  },'
+        '  "program": ['
+        '    "lintformat"'
+        '  ],'
+        '  "recipe": "pw_presubmit"'
+        '}'
+      priority: 40
+      execution_timeout_secs: 1500
+      caches {
+        name: "builder"
+        path: "builder"
+      }
+      caches {
+        name: "pip"
+        path: "pip"
+        wait_for_warm_cache_secs: 60
+      }
+      service_account: "pigweed-ci-builder@pigweed.google.com.iam.gserviceaccount.com"
+      experiments {
+        key: "luci.recipes.use_python3"
+        value: 100
+      }
+      experiments {
+        key: "luci.use_realms"
+        value: 100
+      }
+    }
+    builders {
+      name: "pigweed-linux-bazel-host-clang"
+      swarming_host: "chromium-swarm.appspot.com"
+      dimensions: "cores:16"
+      dimensions: "cpu:x64|x86-64"
+      dimensions: "os:Debian"
+      dimensions: "pool:luci.pigweed.ci"
+      exe {
+        cipd_package: "pigweed/infra/recipe_bundles/pigweed.googlesource.com/infra/recipes"
+        cipd_version: "refs/heads/main"
+        cmd: "luciexe"
+      }
+      properties:
+        '{'
+        '  "$pigweed/checkout": {'
+        '    "branch": "main",'
+        '    "equivalent_remotes": [],'
+        '    "match_branch": true,'
+        '    "remote": "https://pigweed.googlesource.com/pigweed/pigweed",'
+        '    "use_repo": false'
+        '  },'
+        '  "$pigweed/environment": {'
+        '    "config_file": "pw_env_setup/config.json"'
+        '  },'
+        '  "$pigweed/pw_presubmit": {'
+        '    "step": ['
+        '      "bazel_test"'
+        '    ]'
+        '  },'
+        '  "recipe": "pw_presubmit",'
+        '  "step": ['
+        '    "bazel_test"'
+        '  ]'
+        '}'
+      priority: 40
+      execution_timeout_secs: 2700
+      caches {
+        name: "bazel"
+        path: "bazel"
+        wait_for_warm_cache_secs: 60
+      }
+      caches {
+        name: "builder"
+        path: "builder"
+      }
+      caches {
+        name: "pip"
+        path: "pip"
+        wait_for_warm_cache_secs: 60
+      }
+      service_account: "pigweed-ci-builder@pigweed.google.com.iam.gserviceaccount.com"
+      experiments {
+        key: "luci.recipes.use_python3"
+        value: 100
+      }
+      experiments {
+        key: "luci.use_realms"
+        value: 100
+      }
+    }
+    builders {
+      name: "pigweed-linux-cmake-host-clang"
+      swarming_host: "chromium-swarm.appspot.com"
+      dimensions: "cores:16"
+      dimensions: "cpu:x64|x86-64"
+      dimensions: "os:Debian"
+      dimensions: "pool:luci.pigweed.ci"
+      exe {
+        cipd_package: "pigweed/infra/recipe_bundles/pigweed.googlesource.com/infra/recipes"
+        cipd_version: "refs/heads/main"
+        cmd: "luciexe"
+      }
+      properties:
+        '{'
+        '  "$pigweed/checkout": {'
+        '    "branch": "main",'
+        '    "equivalent_remotes": [],'
+        '    "match_branch": true,'
+        '    "remote": "https://pigweed.googlesource.com/pigweed/pigweed",'
+        '    "use_repo": false'
+        '  },'
+        '  "$pigweed/environment": {'
+        '    "config_file": "pw_env_setup/config.json"'
+        '  },'
+        '  "$pigweed/pw_presubmit": {'
+        '    "step": ['
+        '      "cmake_tests"'
+        '    ]'
+        '  },'
+        '  "recipe": "pw_presubmit",'
+        '  "step": ['
+        '    "cmake_tests"'
+        '  ]'
+        '}'
+      priority: 40
+      execution_timeout_secs: 2700
+      caches {
+        name: "builder"
+        path: "builder"
+      }
+      caches {
+        name: "pip"
+        path: "pip"
+        wait_for_warm_cache_secs: 60
+      }
+      service_account: "pigweed-ci-builder@pigweed.google.com.iam.gserviceaccount.com"
+      experiments {
+        key: "luci.recipes.use_python3"
+        value: 100
+      }
+      experiments {
+        key: "luci.use_realms"
+        value: 100
+      }
+    }
+    builders {
+      name: "pigweed-linux-compatibility-host-disco"
+      swarming_host: "chromium-swarm.appspot.com"
+      dimensions: "cores:16"
+      dimensions: "cpu:x64|x86-64"
+      dimensions: "os:Debian"
+      dimensions: "pool:luci.pigweed.ci"
+      exe {
+        cipd_package: "pigweed/infra/recipe_bundles/pigweed.googlesource.com/infra/recipes"
+        cipd_version: "refs/heads/main"
+        cmd: "luciexe"
+      }
+      properties:
+        '{'
+        '  "$pigweed/checkout": {'
+        '    "branch": "main",'
+        '    "equivalent_remotes": [],'
+        '    "match_branch": true,'
+        '    "remote": "https://pigweed.googlesource.com/pigweed/pigweed",'
+        '    "use_repo": false'
+        '  },'
+        '  "$pigweed/environment": {'
+        '    "config_file": "pw_env_setup/compatibility.json"'
+        '  },'
+        '  "$pigweed/pw_presubmit": {'
+        '    "step": ['
+        '      "gn_full_build_check"'
+        '    ]'
+        '  },'
+        '  "recipe": "pw_presubmit",'
+        '  "step": ['
+        '    "gn_full_build_check"'
+        '  ]'
+        '}'
+      priority: 40
+      execution_timeout_secs: 2700
+      caches {
+        name: "builder"
+        path: "builder"
+      }
+      caches {
+        name: "pip"
+        path: "pip"
+        wait_for_warm_cache_secs: 60
+      }
+      service_account: "pigweed-ci-builder@pigweed.google.com.iam.gserviceaccount.com"
+      experiments {
+        key: "luci.recipes.use_python3"
+        value: 100
+      }
+      experiments {
+        key: "luci.use_realms"
+        value: 100
+      }
+    }
+    builders {
+      name: "pigweed-linux-gn-crypto-boringssl"
+      swarming_host: "chromium-swarm.appspot.com"
+      dimensions: "cores:16"
+      dimensions: "cpu:x64|x86-64"
+      dimensions: "os:Debian"
+      dimensions: "pool:luci.pigweed.ci"
+      exe {
+        cipd_package: "pigweed/infra/recipe_bundles/pigweed.googlesource.com/infra/recipes"
+        cipd_version: "refs/heads/main"
+        cmd: "luciexe"
+      }
+      properties:
+        '{'
+        '  "$pigweed/checkout": {'
+        '    "branch": "main",'
+        '    "equivalent_remotes": [],'
+        '    "match_branch": true,'
+        '    "remote": "https://pigweed.googlesource.com/pigweed/pigweed",'
+        '    "use_repo": false'
+        '  },'
+        '  "$pigweed/environment": {'
+        '    "config_file": "pw_env_setup/config.json"'
+        '  },'
+        '  "$pigweed/pw_presubmit": {'
+        '    "step": ['
+        '      "gn_crypto_boringssl_build"'
+        '    ]'
+        '  },'
+        '  "recipe": "pw_presubmit",'
+        '  "step": ['
+        '    "gn_crypto_boringssl_build"'
+        '  ]'
+        '}'
+      priority: 40
+      execution_timeout_secs: 2700
+      caches {
+        name: "builder"
+        path: "builder"
+      }
+      caches {
+        name: "pip"
+        path: "pip"
+        wait_for_warm_cache_secs: 60
+      }
+      service_account: "pigweed-ci-builder@pigweed.google.com.iam.gserviceaccount.com"
+      experiments {
+        key: "luci.recipes.use_python3"
+        value: 100
+      }
+      experiments {
+        key: "luci.use_realms"
+        value: 100
+      }
+    }
+    builders {
+      name: "pigweed-linux-gn-crypto-build-micro-ecc"
+      swarming_host: "chromium-swarm.appspot.com"
+      dimensions: "cores:16"
+      dimensions: "cpu:x64|x86-64"
+      dimensions: "os:Debian"
+      dimensions: "pool:luci.pigweed.ci"
+      exe {
+        cipd_package: "pigweed/infra/recipe_bundles/pigweed.googlesource.com/infra/recipes"
+        cipd_version: "refs/heads/main"
+        cmd: "luciexe"
+      }
+      properties:
+        '{'
+        '  "$pigweed/checkout": {'
+        '    "branch": "main",'
+        '    "equivalent_remotes": [],'
+        '    "match_branch": true,'
+        '    "remote": "https://pigweed.googlesource.com/pigweed/pigweed",'
+        '    "use_repo": false'
+        '  },'
+        '  "$pigweed/environment": {'
+        '    "config_file": "pw_env_setup/config.json"'
+        '  },'
+        '  "$pigweed/pw_presubmit": {'
+        '    "step": ['
+        '      "gn_crypto_micro_ecc_build"'
+        '    ]'
+        '  },'
+        '  "recipe": "pw_presubmit",'
+        '  "step": ['
+        '    "gn_crypto_micro_ecc_build"'
+        '  ]'
+        '}'
+      priority: 40
+      execution_timeout_secs: 2700
+      caches {
+        name: "builder"
+        path: "builder"
+      }
+      caches {
+        name: "pip"
+        path: "pip"
+        wait_for_warm_cache_secs: 60
+      }
+      service_account: "pigweed-ci-builder@pigweed.google.com.iam.gserviceaccount.com"
+      experiments {
+        key: "luci.recipes.use_python3"
+        value: 100
+      }
+      experiments {
+        key: "luci.use_realms"
+        value: 100
+      }
+    }
+    builders {
+      name: "pigweed-linux-gn-crypto-mbedtls"
+      swarming_host: "chromium-swarm.appspot.com"
+      dimensions: "cores:16"
+      dimensions: "cpu:x64|x86-64"
+      dimensions: "os:Debian"
+      dimensions: "pool:luci.pigweed.ci"
+      exe {
+        cipd_package: "pigweed/infra/recipe_bundles/pigweed.googlesource.com/infra/recipes"
+        cipd_version: "refs/heads/main"
+        cmd: "luciexe"
+      }
+      properties:
+        '{'
+        '  "$pigweed/checkout": {'
+        '    "branch": "main",'
+        '    "equivalent_remotes": [],'
+        '    "match_branch": true,'
+        '    "remote": "https://pigweed.googlesource.com/pigweed/pigweed",'
+        '    "use_repo": false'
+        '  },'
+        '  "$pigweed/environment": {'
+        '    "config_file": "pw_env_setup/config.json"'
+        '  },'
+        '  "$pigweed/pw_presubmit": {'
+        '    "step": ['
+        '      "gn_crypto_mbedtls_build"'
+        '    ]'
+        '  },'
+        '  "recipe": "pw_presubmit",'
+        '  "step": ['
+        '    "gn_crypto_mbedtls_build"'
+        '  ]'
+        '}'
+      priority: 40
+      execution_timeout_secs: 2700
+      caches {
+        name: "builder"
+        path: "builder"
+      }
+      caches {
+        name: "pip"
+        path: "pip"
+        wait_for_warm_cache_secs: 60
+      }
+      service_account: "pigweed-ci-builder@pigweed.google.com.iam.gserviceaccount.com"
+      experiments {
+        key: "luci.recipes.use_python3"
+        value: 100
+      }
+      experiments {
+        key: "luci.use_realms"
+        value: 100
+      }
+    }
+    builders {
+      name: "pigweed-linux-gn-nanopb"
+      swarming_host: "chromium-swarm.appspot.com"
+      dimensions: "cores:16"
+      dimensions: "cpu:x64|x86-64"
+      dimensions: "os:Debian"
+      dimensions: "pool:luci.pigweed.ci"
+      exe {
+        cipd_package: "pigweed/infra/recipe_bundles/pigweed.googlesource.com/infra/recipes"
+        cipd_version: "refs/heads/main"
+        cmd: "luciexe"
+      }
+      properties:
+        '{'
+        '  "$pigweed/checkout": {'
+        '    "branch": "main",'
+        '    "equivalent_remotes": [],'
+        '    "match_branch": true,'
+        '    "remote": "https://pigweed.googlesource.com/pigweed/pigweed",'
+        '    "use_repo": false'
+        '  },'
+        '  "$pigweed/environment": {'
+        '    "config_file": "pw_env_setup/config.json"'
+        '  },'
+        '  "$pigweed/pw_presubmit": {'
+        '    "step": ['
+        '      "gn_nanopb_build"'
+        '    ]'
+        '  },'
+        '  "recipe": "pw_presubmit",'
+        '  "step": ['
+        '    "gn_nanopb_build"'
+        '  ]'
+        '}'
+      priority: 40
+      execution_timeout_secs: 2700
+      caches {
+        name: "builder"
+        path: "builder"
+      }
+      caches {
+        name: "pip"
+        path: "pip"
+        wait_for_warm_cache_secs: 60
+      }
+      service_account: "pigweed-ci-builder@pigweed.google.com.iam.gserviceaccount.com"
+      experiments {
+        key: "luci.recipes.use_python3"
+        value: 100
+      }
+      experiments {
+        key: "luci.use_realms"
+        value: 100
+      }
+    }
+    builders {
+      name: "pigweed-linux-gn-software-update"
+      swarming_host: "chromium-swarm.appspot.com"
+      dimensions: "cores:16"
+      dimensions: "cpu:x64|x86-64"
+      dimensions: "os:Debian"
+      dimensions: "pool:luci.pigweed.ci"
+      exe {
+        cipd_package: "pigweed/infra/recipe_bundles/pigweed.googlesource.com/infra/recipes"
+        cipd_version: "refs/heads/main"
+        cmd: "luciexe"
+      }
+      properties:
+        '{'
+        '  "$pigweed/checkout": {'
+        '    "branch": "main",'
+        '    "equivalent_remotes": [],'
+        '    "match_branch": true,'
+        '    "remote": "https://pigweed.googlesource.com/pigweed/pigweed",'
+        '    "use_repo": false'
+        '  },'
+        '  "$pigweed/environment": {'
+        '    "config_file": "pw_env_setup/config.json"'
+        '  },'
+        '  "$pigweed/pw_presubmit": {'
+        '    "step": ['
+        '      "gn_software_update_build"'
+        '    ]'
+        '  },'
+        '  "recipe": "pw_presubmit",'
+        '  "step": ['
+        '    "gn_software_update_build"'
+        '  ]'
+        '}'
+      priority: 40
+      execution_timeout_secs: 2700
+      caches {
+        name: "builder"
+        path: "builder"
+      }
+      caches {
+        name: "pip"
+        path: "pip"
+        wait_for_warm_cache_secs: 60
+      }
+      service_account: "pigweed-ci-builder@pigweed.google.com.iam.gserviceaccount.com"
+      experiments {
+        key: "luci.recipes.use_python3"
+        value: 100
+      }
+      experiments {
+        key: "luci.use_realms"
+        value: 100
+      }
+    }
+    builders {
+      name: "pigweed-linux-gn-teensy"
+      swarming_host: "chromium-swarm.appspot.com"
+      dimensions: "cores:16"
+      dimensions: "cpu:x64|x86-64"
+      dimensions: "os:Debian"
+      dimensions: "pool:luci.pigweed.ci"
+      exe {
+        cipd_package: "pigweed/infra/recipe_bundles/pigweed.googlesource.com/infra/recipes"
+        cipd_version: "refs/heads/main"
+        cmd: "luciexe"
+      }
+      properties:
+        '{'
+        '  "$pigweed/checkout": {'
+        '    "branch": "main",'
+        '    "equivalent_remotes": [],'
+        '    "match_branch": true,'
+        '    "remote": "https://pigweed.googlesource.com/pigweed/pigweed",'
+        '    "use_repo": false'
+        '  },'
+        '  "$pigweed/environment": {'
+        '    "config_file": "pw_env_setup/config.json"'
+        '  },'
+        '  "$pigweed/pw_presubmit": {'
+        '    "step": ['
+        '      "gn_teensy_build"'
+        '    ]'
+        '  },'
+        '  "recipe": "pw_presubmit",'
+        '  "step": ['
+        '    "gn_teensy_build"'
+        '  ]'
+        '}'
+      priority: 40
+      execution_timeout_secs: 2700
+      caches {
+        name: "builder"
+        path: "builder"
+      }
+      caches {
+        name: "pip"
+        path: "pip"
+        wait_for_warm_cache_secs: 60
+      }
+      service_account: "pigweed-ci-builder@pigweed.google.com.iam.gserviceaccount.com"
+      experiments {
+        key: "luci.recipes.use_python3"
+        value: 100
+      }
+      experiments {
+        key: "luci.use_realms"
+        value: 100
+      }
+    }
+    builders {
+      name: "pigweed-linux-main-host-disco"
+      swarming_host: "chromium-swarm.appspot.com"
+      dimensions: "cores:16"
+      dimensions: "cpu:x64|x86-64"
+      dimensions: "os:Debian"
+      dimensions: "pool:luci.pigweed.ci"
+      exe {
+        cipd_package: "pigweed/infra/recipe_bundles/pigweed.googlesource.com/infra/recipes"
+        cipd_version: "refs/heads/main"
+        cmd: "luciexe"
+      }
+      properties:
+        '{'
+        '  "$pigweed/checkout": {'
+        '    "branch": "main",'
+        '    "equivalent_remotes": [],'
+        '    "match_branch": true,'
+        '    "remote": "https://pigweed.googlesource.com/pigweed/pigweed",'
+        '    "use_repo": false'
+        '  },'
+        '  "$pigweed/environment": {'
+        '    "config_file": "pw_env_setup/config.json"'
+        '  },'
+        '  "$pigweed/pw_presubmit": {'
+        '    "step": ['
+        '      "gn_full_build_check"'
+        '    ]'
+        '  },'
+        '  "recipe": "pw_presubmit",'
+        '  "step": ['
+        '    "gn_full_build_check"'
+        '  ]'
+        '}'
+      priority: 40
+      execution_timeout_secs: 2700
+      caches {
+        name: "builder"
+        path: "builder"
+      }
+      caches {
+        name: "pip"
+        path: "pip"
+        wait_for_warm_cache_secs: 60
+      }
+      service_account: "pigweed-ci-builder@pigweed.google.com.iam.gserviceaccount.com"
+      experiments {
+        key: "luci.recipes.use_python3"
+        value: 100
+      }
+      experiments {
+        key: "luci.use_realms"
+        value: 100
+      }
+    }
+    builders {
+      name: "pigweed-linux-qemu-compatibility-clang-armgcc"
+      swarming_host: "chromium-swarm.appspot.com"
+      dimensions: "cores:16"
+      dimensions: "cpu:x64|x86-64"
+      dimensions: "os:Debian"
+      dimensions: "pool:luci.pigweed.ci"
+      exe {
+        cipd_package: "pigweed/infra/recipe_bundles/pigweed.googlesource.com/infra/recipes"
+        cipd_version: "refs/heads/main"
+        cmd: "luciexe"
+      }
+      properties:
+        '{'
+        '  "$pigweed/checkout": {'
+        '    "branch": "main",'
+        '    "equivalent_remotes": [],'
+        '    "match_branch": true,'
+        '    "remote": "https://pigweed.googlesource.com/pigweed/pigweed",'
+        '    "use_repo": false'
+        '  },'
+        '  "$pigweed/environment": {'
+        '    "config_file": "pw_env_setup/compatibility.json"'
+        '  },'
+        '  "$pigweed/pw_presubmit": {'
+        '    "step": ['
+        '      "gn_full_qemu_check"'
+        '    ]'
+        '  },'
+        '  "recipe": "pw_presubmit",'
+        '  "step": ['
+        '    "gn_full_qemu_check"'
+        '  ]'
+        '}'
+      priority: 40
+      execution_timeout_secs: 2700
+      caches {
+        name: "builder"
+        path: "builder"
+      }
+      caches {
+        name: "pip"
+        path: "pip"
+        wait_for_warm_cache_secs: 60
+      }
+      service_account: "pigweed-ci-builder@pigweed.google.com.iam.gserviceaccount.com"
+      experiments {
+        key: "luci.recipes.use_python3"
+        value: 100
+      }
+      experiments {
+        key: "luci.use_realms"
+        value: 100
+      }
+    }
+    builders {
+      name: "pigweed-linux-qemu-main-clang-armgcc"
+      swarming_host: "chromium-swarm.appspot.com"
+      dimensions: "cores:16"
+      dimensions: "cpu:x64|x86-64"
+      dimensions: "os:Debian"
+      dimensions: "pool:luci.pigweed.ci"
+      exe {
+        cipd_package: "pigweed/infra/recipe_bundles/pigweed.googlesource.com/infra/recipes"
+        cipd_version: "refs/heads/main"
+        cmd: "luciexe"
+      }
+      properties:
+        '{'
+        '  "$pigweed/checkout": {'
+        '    "branch": "main",'
+        '    "equivalent_remotes": [],'
+        '    "match_branch": true,'
+        '    "remote": "https://pigweed.googlesource.com/pigweed/pigweed",'
+        '    "use_repo": false'
+        '  },'
+        '  "$pigweed/environment": {'
+        '    "config_file": "pw_env_setup/config.json"'
+        '  },'
+        '  "$pigweed/pw_presubmit": {'
+        '    "step": ['
+        '      "gn_full_qemu_check"'
+        '    ]'
+        '  },'
+        '  "recipe": "pw_presubmit",'
+        '  "step": ['
+        '    "gn_full_qemu_check"'
+        '  ]'
+        '}'
+      priority: 40
+      execution_timeout_secs: 2700
+      caches {
+        name: "builder"
+        path: "builder"
+      }
+      caches {
+        name: "pip"
+        path: "pip"
+        wait_for_warm_cache_secs: 60
+      }
+      service_account: "pigweed-ci-builder@pigweed.google.com.iam.gserviceaccount.com"
+      experiments {
+        key: "luci.recipes.use_python3"
+        value: 100
+      }
+      experiments {
+        key: "luci.use_realms"
+        value: 100
+      }
+    }
+    builders {
+      name: "pigweed-linux-san-asan"
+      swarming_host: "chromium-swarm.appspot.com"
+      dimensions: "cores:16"
+      dimensions: "cpu:x64|x86-64"
+      dimensions: "os:Debian"
+      dimensions: "pool:luci.pigweed.ci"
+      exe {
+        cipd_package: "pigweed/infra/recipe_bundles/pigweed.googlesource.com/infra/recipes"
+        cipd_version: "refs/heads/main"
+        cmd: "luciexe"
+      }
+      properties:
+        '{'
+        '  "$pigweed/checkout": {'
+        '    "branch": "main",'
+        '    "equivalent_remotes": [],'
+        '    "match_branch": true,'
+        '    "remote": "https://pigweed.googlesource.com/pigweed/pigweed",'
+        '    "use_repo": false'
+        '  },'
+        '  "$pigweed/environment": {'
+        '    "config_file": "pw_env_setup/config.json"'
+        '  },'
+        '  "$pigweed/pw_presubmit": {'
+        '    "step": ['
+        '      "asan"'
+        '    ]'
+        '  },'
+        '  "recipe": "pw_presubmit",'
+        '  "step": ['
+        '    "asan"'
+        '  ]'
+        '}'
+      priority: 40
+      execution_timeout_secs: 2700
+      caches {
+        name: "builder"
+        path: "builder"
+      }
+      caches {
+        name: "pip"
+        path: "pip"
+        wait_for_warm_cache_secs: 60
+      }
+      service_account: "pigweed-ci-builder@pigweed.google.com.iam.gserviceaccount.com"
+      experiments {
+        key: "luci.recipes.use_python3"
+        value: 100
+      }
+      experiments {
+        key: "luci.use_realms"
+        value: 100
+      }
+    }
+    builders {
+      name: "pigweed-linux-san-tsan"
+      swarming_host: "chromium-swarm.appspot.com"
+      dimensions: "cores:16"
+      dimensions: "cpu:x64|x86-64"
+      dimensions: "os:Debian"
+      dimensions: "pool:luci.pigweed.ci"
+      exe {
+        cipd_package: "pigweed/infra/recipe_bundles/pigweed.googlesource.com/infra/recipes"
+        cipd_version: "refs/heads/main"
+        cmd: "luciexe"
+      }
+      properties:
+        '{'
+        '  "$pigweed/checkout": {'
+        '    "branch": "main",'
+        '    "equivalent_remotes": [],'
+        '    "match_branch": true,'
+        '    "remote": "https://pigweed.googlesource.com/pigweed/pigweed",'
+        '    "use_repo": false'
+        '  },'
+        '  "$pigweed/environment": {'
+        '    "config_file": "pw_env_setup/config.json"'
+        '  },'
+        '  "$pigweed/pw_presubmit": {'
+        '    "step": ['
+        '      "tsan"'
+        '    ]'
+        '  },'
+        '  "recipe": "pw_presubmit",'
+        '  "step": ['
+        '    "tsan"'
+        '  ]'
+        '}'
+      priority: 40
+      execution_timeout_secs: 2700
+      caches {
+        name: "builder"
+        path: "builder"
+      }
+      caches {
+        name: "pip"
+        path: "pip"
+        wait_for_warm_cache_secs: 60
+      }
+      service_account: "pigweed-ci-builder@pigweed.google.com.iam.gserviceaccount.com"
+      experiments {
+        key: "luci.recipes.use_python3"
+        value: 100
+      }
+      experiments {
+        key: "luci.use_realms"
+        value: 100
+      }
+    }
+    builders {
+      name: "pigweed-linux-san-ubsan"
+      swarming_host: "chromium-swarm.appspot.com"
+      dimensions: "cores:16"
+      dimensions: "cpu:x64|x86-64"
+      dimensions: "os:Debian"
+      dimensions: "pool:luci.pigweed.ci"
+      exe {
+        cipd_package: "pigweed/infra/recipe_bundles/pigweed.googlesource.com/infra/recipes"
+        cipd_version: "refs/heads/main"
+        cmd: "luciexe"
+      }
+      properties:
+        '{'
+        '  "$pigweed/checkout": {'
+        '    "branch": "main",'
+        '    "equivalent_remotes": [],'
+        '    "match_branch": true,'
+        '    "remote": "https://pigweed.googlesource.com/pigweed/pigweed",'
+        '    "use_repo": false'
+        '  },'
+        '  "$pigweed/environment": {'
+        '    "config_file": "pw_env_setup/config.json"'
+        '  },'
+        '  "$pigweed/pw_presubmit": {'
+        '    "step": ['
+        '      "ubsan"'
+        '    ]'
+        '  },'
+        '  "recipe": "pw_presubmit",'
+        '  "step": ['
+        '    "ubsan"'
+        '  ]'
+        '}'
+      priority: 40
+      execution_timeout_secs: 2700
+      caches {
+        name: "builder"
+        path: "builder"
+      }
+      caches {
+        name: "pip"
+        path: "pip"
+        wait_for_warm_cache_secs: 60
+      }
+      service_account: "pigweed-ci-builder@pigweed.google.com.iam.gserviceaccount.com"
+      experiments {
+        key: "luci.recipes.use_python3"
+        value: 100
+      }
+      experiments {
+        key: "luci.use_realms"
+        value: 100
+      }
+    }
+    builders {
+      name: "pigweed-linux-static-analysis"
+      swarming_host: "chromium-swarm.appspot.com"
+      dimensions: "cores:16"
+      dimensions: "cpu:x64|x86-64"
+      dimensions: "os:Debian"
+      dimensions: "pool:luci.pigweed.ci"
+      exe {
+        cipd_package: "pigweed/infra/recipe_bundles/pigweed.googlesource.com/infra/recipes"
+        cipd_version: "refs/heads/main"
+        cmd: "luciexe"
+      }
+      properties:
+        '{'
+        '  "$pigweed/checkout": {'
+        '    "branch": "main",'
+        '    "equivalent_remotes": [],'
+        '    "match_branch": true,'
+        '    "remote": "https://pigweed.googlesource.com/pigweed/pigweed",'
+        '    "use_repo": false'
+        '  },'
+        '  "$pigweed/environment": {'
+        '    "config_file": "pw_env_setup/config.json"'
+        '  },'
+        '  "$pigweed/pw_presubmit": {'
+        '    "step": ['
+        '      "static_analysis"'
+        '    ]'
+        '  },'
+        '  "recipe": "pw_presubmit",'
+        '  "step": ['
+        '    "static_analysis"'
+        '  ]'
+        '}'
+      priority: 40
+      execution_timeout_secs: 2700
+      caches {
+        name: "builder"
+        path: "builder"
+      }
+      caches {
+        name: "pip"
+        path: "pip"
+        wait_for_warm_cache_secs: 60
+      }
+      service_account: "pigweed-ci-builder@pigweed.google.com.iam.gserviceaccount.com"
+      experiments {
+        key: "luci.recipes.use_python3"
+        value: 100
+      }
+      experiments {
+        key: "luci.use_realms"
+        value: 100
+      }
+    }
+    builders {
+      name: "pigweed-mac-bazel-host-clang"
+      swarming_host: "chromium-swarm.appspot.com"
+      dimensions: "cpu:x64|x86-64"
+      dimensions: "os:Mac"
+      dimensions: "pool:luci.pigweed.ci"
+      exe {
+        cipd_package: "pigweed/infra/recipe_bundles/pigweed.googlesource.com/infra/recipes"
+        cipd_version: "refs/heads/main"
+        cmd: "luciexe"
+      }
+      properties:
+        '{'
+        '  "$pigweed/checkout": {'
+        '    "branch": "main",'
+        '    "equivalent_remotes": [],'
+        '    "match_branch": true,'
+        '    "remote": "https://pigweed.googlesource.com/pigweed/pigweed",'
+        '    "use_repo": false'
+        '  },'
+        '  "$pigweed/environment": {'
+        '    "config_file": "pw_env_setup/config.json"'
+        '  },'
+        '  "$pigweed/pw_presubmit": {'
+        '    "step": ['
+        '      "bazel_test"'
+        '    ]'
+        '  },'
+        '  "dry_run": true,'
+        '  "macos_sdk.version": "11c29",'
+        '  "recipe": "pw_presubmit",'
+        '  "step": ['
+        '    "bazel_test"'
+        '  ]'
+        '}'
+      priority: 50
+      execution_timeout_secs: 2700
+      caches {
+        name: "bazel"
+        path: "bazel"
+        wait_for_warm_cache_secs: 60
+      }
+      caches {
+        name: "builder"
+        path: "builder"
+      }
+      caches {
+        name: "macos_sdk"
+        path: "macos_sdk"
+        wait_for_warm_cache_secs: 120
+      }
+      caches {
+        name: "pip"
+        path: "pip"
+        wait_for_warm_cache_secs: 60
+      }
+      service_account: "pigweed-ci-builder@pigweed.google.com.iam.gserviceaccount.com"
+      experimental: YES
+      experiments {
+        key: "luci.recipes.use_python3"
+        value: 100
+      }
+      experiments {
+        key: "luci.use_realms"
+        value: 100
+      }
+    }
+    builders {
+      name: "pigweed-mac-cmake-host-clang"
+      swarming_host: "chromium-swarm.appspot.com"
+      dimensions: "cpu:x64|x86-64"
+      dimensions: "os:Mac"
+      dimensions: "pool:luci.pigweed.ci"
+      exe {
+        cipd_package: "pigweed/infra/recipe_bundles/pigweed.googlesource.com/infra/recipes"
+        cipd_version: "refs/heads/main"
+        cmd: "luciexe"
+      }
+      properties:
+        '{'
+        '  "$pigweed/checkout": {'
+        '    "branch": "main",'
+        '    "equivalent_remotes": [],'
+        '    "match_branch": true,'
+        '    "remote": "https://pigweed.googlesource.com/pigweed/pigweed",'
+        '    "use_repo": false'
+        '  },'
+        '  "$pigweed/environment": {'
+        '    "config_file": "pw_env_setup/config.json"'
+        '  },'
+        '  "$pigweed/pw_presubmit": {'
+        '    "step": ['
+        '      "cmake_tests"'
+        '    ]'
+        '  },'
+        '  "dry_run": true,'
+        '  "macos_sdk.version": "11c29",'
+        '  "recipe": "pw_presubmit",'
+        '  "step": ['
+        '    "cmake_tests"'
+        '  ]'
+        '}'
+      priority: 50
+      execution_timeout_secs: 2700
+      caches {
+        name: "builder"
+        path: "builder"
+      }
+      caches {
+        name: "macos_sdk"
+        path: "macos_sdk"
+        wait_for_warm_cache_secs: 120
+      }
+      caches {
+        name: "pip"
+        path: "pip"
+        wait_for_warm_cache_secs: 60
+      }
+      service_account: "pigweed-ci-builder@pigweed.google.com.iam.gserviceaccount.com"
+      experimental: YES
+      experiments {
+        key: "luci.recipes.use_python3"
+        value: 100
+      }
+      experiments {
+        key: "luci.use_realms"
+        value: 100
+      }
+    }
+    builders {
+      name: "pigweed-mac-compatibility-host-disco"
+      swarming_host: "chromium-swarm.appspot.com"
+      dimensions: "cpu:x64|x86-64"
+      dimensions: "os:Mac"
+      dimensions: "pool:luci.pigweed.ci"
+      exe {
+        cipd_package: "pigweed/infra/recipe_bundles/pigweed.googlesource.com/infra/recipes"
+        cipd_version: "refs/heads/main"
+        cmd: "luciexe"
+      }
+      properties:
+        '{'
+        '  "$pigweed/checkout": {'
+        '    "branch": "main",'
+        '    "equivalent_remotes": [],'
+        '    "match_branch": true,'
+        '    "remote": "https://pigweed.googlesource.com/pigweed/pigweed",'
+        '    "use_repo": false'
+        '  },'
+        '  "$pigweed/environment": {'
+        '    "config_file": "pw_env_setup/compatibility.json"'
+        '  },'
+        '  "$pigweed/pw_presubmit": {'
+        '    "step": ['
+        '      "gn_full_build_check"'
+        '    ]'
+        '  },'
+        '  "macos_sdk.version": "11c29",'
+        '  "recipe": "pw_presubmit",'
+        '  "step": ['
+        '    "gn_full_build_check"'
+        '  ]'
+        '}'
+      priority: 40
+      execution_timeout_secs: 2700
+      caches {
+        name: "builder"
+        path: "builder"
+      }
+      caches {
+        name: "macos_sdk"
+        path: "macos_sdk"
+        wait_for_warm_cache_secs: 120
+      }
+      caches {
+        name: "pip"
+        path: "pip"
+        wait_for_warm_cache_secs: 60
+      }
+      service_account: "pigweed-ci-builder@pigweed.google.com.iam.gserviceaccount.com"
+      experiments {
+        key: "luci.recipes.use_python3"
+        value: 100
+      }
+      experiments {
+        key: "luci.use_realms"
+        value: 100
+      }
+    }
+    builders {
+      name: "pigweed-mac-gn-nanopb"
+      swarming_host: "chromium-swarm.appspot.com"
+      dimensions: "cpu:x64|x86-64"
+      dimensions: "os:Mac"
+      dimensions: "pool:luci.pigweed.ci"
+      exe {
+        cipd_package: "pigweed/infra/recipe_bundles/pigweed.googlesource.com/infra/recipes"
+        cipd_version: "refs/heads/main"
+        cmd: "luciexe"
+      }
+      properties:
+        '{'
+        '  "$pigweed/checkout": {'
+        '    "branch": "main",'
+        '    "equivalent_remotes": [],'
+        '    "match_branch": true,'
+        '    "remote": "https://pigweed.googlesource.com/pigweed/pigweed",'
+        '    "use_repo": false'
+        '  },'
+        '  "$pigweed/environment": {'
+        '    "config_file": "pw_env_setup/config.json"'
+        '  },'
+        '  "$pigweed/pw_presubmit": {'
+        '    "step": ['
+        '      "gn_nanopb_build"'
+        '    ]'
+        '  },'
+        '  "macos_sdk.version": "11c29",'
+        '  "recipe": "pw_presubmit",'
+        '  "step": ['
+        '    "gn_nanopb_build"'
+        '  ]'
+        '}'
+      priority: 40
+      execution_timeout_secs: 2700
+      caches {
+        name: "builder"
+        path: "builder"
+      }
+      caches {
+        name: "macos_sdk"
+        path: "macos_sdk"
+        wait_for_warm_cache_secs: 120
+      }
+      caches {
+        name: "pip"
+        path: "pip"
+        wait_for_warm_cache_secs: 60
+      }
+      service_account: "pigweed-ci-builder@pigweed.google.com.iam.gserviceaccount.com"
+      experiments {
+        key: "luci.recipes.use_python3"
+        value: 100
+      }
+      experiments {
+        key: "luci.use_realms"
+        value: 100
+      }
+    }
+    builders {
+      name: "pigweed-mac-gn-teensy"
+      swarming_host: "chromium-swarm.appspot.com"
+      dimensions: "cpu:x64|x86-64"
+      dimensions: "os:Mac"
+      dimensions: "pool:luci.pigweed.ci"
+      exe {
+        cipd_package: "pigweed/infra/recipe_bundles/pigweed.googlesource.com/infra/recipes"
+        cipd_version: "refs/heads/main"
+        cmd: "luciexe"
+      }
+      properties:
+        '{'
+        '  "$pigweed/checkout": {'
+        '    "branch": "main",'
+        '    "equivalent_remotes": [],'
+        '    "match_branch": true,'
+        '    "remote": "https://pigweed.googlesource.com/pigweed/pigweed",'
+        '    "use_repo": false'
+        '  },'
+        '  "$pigweed/environment": {'
+        '    "config_file": "pw_env_setup/config.json"'
+        '  },'
+        '  "$pigweed/pw_presubmit": {'
+        '    "step": ['
+        '      "gn_teensy_build"'
+        '    ]'
+        '  },'
+        '  "macos_sdk.version": "11c29",'
+        '  "recipe": "pw_presubmit",'
+        '  "step": ['
+        '    "gn_teensy_build"'
+        '  ]'
+        '}'
+      priority: 40
+      execution_timeout_secs: 2700
+      caches {
+        name: "builder"
+        path: "builder"
+      }
+      caches {
+        name: "macos_sdk"
+        path: "macos_sdk"
+        wait_for_warm_cache_secs: 120
+      }
+      caches {
+        name: "pip"
+        path: "pip"
+        wait_for_warm_cache_secs: 60
+      }
+      service_account: "pigweed-ci-builder@pigweed.google.com.iam.gserviceaccount.com"
+      experiments {
+        key: "luci.recipes.use_python3"
+        value: 100
+      }
+      experiments {
+        key: "luci.use_realms"
+        value: 100
+      }
+    }
+    builders {
+      name: "pigweed-mac-main-host-disco"
+      swarming_host: "chromium-swarm.appspot.com"
+      dimensions: "cpu:x64|x86-64"
+      dimensions: "os:Mac"
+      dimensions: "pool:luci.pigweed.ci"
+      exe {
+        cipd_package: "pigweed/infra/recipe_bundles/pigweed.googlesource.com/infra/recipes"
+        cipd_version: "refs/heads/main"
+        cmd: "luciexe"
+      }
+      properties:
+        '{'
+        '  "$pigweed/checkout": {'
+        '    "branch": "main",'
+        '    "equivalent_remotes": [],'
+        '    "match_branch": true,'
+        '    "remote": "https://pigweed.googlesource.com/pigweed/pigweed",'
+        '    "use_repo": false'
+        '  },'
+        '  "$pigweed/environment": {'
+        '    "config_file": "pw_env_setup/config.json"'
+        '  },'
+        '  "$pigweed/pw_presubmit": {'
+        '    "step": ['
+        '      "gn_full_build_check"'
+        '    ]'
+        '  },'
+        '  "macos_sdk.version": "11c29",'
+        '  "recipe": "pw_presubmit",'
+        '  "step": ['
+        '    "gn_full_build_check"'
+        '  ]'
+        '}'
+      priority: 40
+      execution_timeout_secs: 2700
+      caches {
+        name: "builder"
+        path: "builder"
+      }
+      caches {
+        name: "macos_sdk"
+        path: "macos_sdk"
+        wait_for_warm_cache_secs: 120
+      }
+      caches {
+        name: "pip"
+        path: "pip"
+        wait_for_warm_cache_secs: 60
+      }
+      service_account: "pigweed-ci-builder@pigweed.google.com.iam.gserviceaccount.com"
+      experiments {
+        key: "luci.recipes.use_python3"
+        value: 100
+      }
+      experiments {
+        key: "luci.use_realms"
+        value: 100
+      }
+    }
+    builders {
+      name: "pigweed-mac-qemu-compatibility-clang-armgcc"
+      swarming_host: "chromium-swarm.appspot.com"
+      dimensions: "cpu:x64|x86-64"
+      dimensions: "os:Mac"
+      dimensions: "pool:luci.pigweed.ci"
+      exe {
+        cipd_package: "pigweed/infra/recipe_bundles/pigweed.googlesource.com/infra/recipes"
+        cipd_version: "refs/heads/main"
+        cmd: "luciexe"
+      }
+      properties:
+        '{'
+        '  "$pigweed/checkout": {'
+        '    "branch": "main",'
+        '    "equivalent_remotes": [],'
+        '    "match_branch": true,'
+        '    "remote": "https://pigweed.googlesource.com/pigweed/pigweed",'
+        '    "use_repo": false'
+        '  },'
+        '  "$pigweed/environment": {'
+        '    "config_file": "pw_env_setup/compatibility.json"'
+        '  },'
+        '  "$pigweed/pw_presubmit": {'
+        '    "step": ['
+        '      "gn_full_qemu_check"'
+        '    ]'
+        '  },'
+        '  "dry_run": true,'
+        '  "macos_sdk.version": "11c29",'
+        '  "recipe": "pw_presubmit",'
+        '  "step": ['
+        '    "gn_full_qemu_check"'
+        '  ]'
+        '}'
+      priority: 50
+      execution_timeout_secs: 2700
+      caches {
+        name: "builder"
+        path: "builder"
+      }
+      caches {
+        name: "macos_sdk"
+        path: "macos_sdk"
+        wait_for_warm_cache_secs: 120
+      }
+      caches {
+        name: "pip"
+        path: "pip"
+        wait_for_warm_cache_secs: 60
+      }
+      service_account: "pigweed-ci-builder@pigweed.google.com.iam.gserviceaccount.com"
+      experimental: YES
+      experiments {
+        key: "luci.recipes.use_python3"
+        value: 100
+      }
+      experiments {
+        key: "luci.use_realms"
+        value: 100
+      }
+    }
+    builders {
+      name: "pigweed-mac-qemu-main-clang-armgcc"
+      swarming_host: "chromium-swarm.appspot.com"
+      dimensions: "cpu:x64|x86-64"
+      dimensions: "os:Mac"
+      dimensions: "pool:luci.pigweed.ci"
+      exe {
+        cipd_package: "pigweed/infra/recipe_bundles/pigweed.googlesource.com/infra/recipes"
+        cipd_version: "refs/heads/main"
+        cmd: "luciexe"
+      }
+      properties:
+        '{'
+        '  "$pigweed/checkout": {'
+        '    "branch": "main",'
+        '    "equivalent_remotes": [],'
+        '    "match_branch": true,'
+        '    "remote": "https://pigweed.googlesource.com/pigweed/pigweed",'
+        '    "use_repo": false'
+        '  },'
+        '  "$pigweed/environment": {'
+        '    "config_file": "pw_env_setup/config.json"'
+        '  },'
+        '  "$pigweed/pw_presubmit": {'
+        '    "step": ['
+        '      "gn_full_qemu_check"'
+        '    ]'
+        '  },'
+        '  "macos_sdk.version": "11c29",'
+        '  "recipe": "pw_presubmit",'
+        '  "step": ['
+        '    "gn_full_qemu_check"'
+        '  ]'
+        '}'
+      priority: 40
+      execution_timeout_secs: 2700
+      caches {
+        name: "builder"
+        path: "builder"
+      }
+      caches {
+        name: "macos_sdk"
+        path: "macos_sdk"
+        wait_for_warm_cache_secs: 120
+      }
+      caches {
+        name: "pip"
+        path: "pip"
+        wait_for_warm_cache_secs: 60
+      }
+      service_account: "pigweed-ci-builder@pigweed.google.com.iam.gserviceaccount.com"
+      experiments {
+        key: "luci.recipes.use_python3"
+        value: 100
+      }
+      experiments {
+        key: "luci.use_realms"
+        value: 100
+      }
+    }
+    builders {
+      name: "pigweed-stm32f429i"
+      swarming_host: "chromium-swarm.appspot.com"
+      dimensions: "120:cores:2"
+      dimensions: "cpu:x64|x86-64"
+      dimensions: "os:Debian"
+      dimensions: "pool:luci.pigweed.ci"
+      exe {
+        cipd_package: "pigweed/infra/recipe_bundles/pigweed.googlesource.com/infra/recipes"
+        cipd_version: "refs/heads/main"
+        cmd: "luciexe"
+      }
+      properties:
+        '{'
+        '  "$pigweed/build": {'
+        '    "gn_args": [],'
+        '    "ninja_targets": ['
+        '      "stm32f429i_debug",'
+        '      "stm32f429i_size_optimized",'
+        '      "stm32f429i_speed_optimized"'
+        '    ]'
+        '  },'
+        '  "$pigweed/checkout": {'
+        '    "branch": "main",'
+        '    "equivalent_remotes": [],'
+        '    "match_branch": true,'
+        '    "remote": "https://pigweed.googlesource.com/pigweed/pigweed",'
+        '    "use_repo": false'
+        '  },'
+        '  "$pigweed/environment": {'
+        '    "config_file": "pw_env_setup/config.json"'
+        '  },'
+        '  "dry_run": true,'
+        '  "recipe": "pigweed"'
+        '}'
+      priority: 50
+      execution_timeout_secs: 2700
+      caches {
+        name: "builder"
+        path: "builder"
+      }
+      caches {
+        name: "pip"
+        path: "pip"
+        wait_for_warm_cache_secs: 60
+      }
+      service_account: "pigweed-ci-builder@pigweed.google.com.iam.gserviceaccount.com"
+      experimental: YES
+      experiments {
+        key: "luci.recipes.use_python3"
+        value: 100
+      }
+      experiments {
+        key: "luci.use_realms"
+        value: 100
+      }
+    }
+    builders {
+      name: "pigweed-stm32f429i-combined"
+      swarming_host: "chromium-swarm.appspot.com"
+      dimensions: "cores:16"
+      dimensions: "cpu:x64|x86-64"
+      dimensions: "os:Debian"
+      dimensions: "pool:luci.pigweed.ci"
+      exe {
+        cipd_package: "pigweed/infra/recipe_bundles/pigweed.googlesource.com/infra/recipes"
+        cipd_version: "refs/heads/main"
+        cmd: "luciexe"
+      }
+      properties:
+        '{'
+        '  "$pigweed/checkout": {'
+        '    "branch": "main",'
+        '    "equivalent_remotes": [],'
+        '    "match_branch": true,'
+        '    "remote": "https://pigweed.googlesource.com/pigweed/pigweed",'
+        '    "use_repo": false'
+        '  },'
+        '  "$pigweed/environment": {'
+        '    "config_file": "pw_env_setup/config.json"'
+        '  },'
+        '  "$pigweed/pw_presubmit": {'
+        '    "step": ['
+        '      "stm32f429i"'
+        '    ]'
+        '  },'
+        '  "dry_run": true,'
+        '  "recipe": "pw_presubmit",'
+        '  "step": ['
+        '    "stm32f429i"'
+        '  ]'
+        '}'
+      priority: 50
+      execution_timeout_secs: 2700
+      caches {
+        name: "builder"
+        path: "builder"
+      }
+      caches {
+        name: "pip"
+        path: "pip"
+        wait_for_warm_cache_secs: 60
+      }
+      service_account: "pigweed-ci-builder@pigweed.google.com.iam.gserviceaccount.com"
+      experimental: YES
+      experiments {
+        key: "luci.recipes.use_python3"
+        value: 100
+      }
+      experiments {
+        key: "luci.use_realms"
+        value: 100
+      }
+    }
+    builders {
+      name: "pigweed-stm32f429i-subbuild"
+      swarming_host: "chromium-swarm.appspot.com"
+      dimensions: "cores:16"
+      dimensions: "cpu:x64|x86-64"
+      dimensions: "os:Debian"
+      dimensions: "pool:luci.pigweed.ci"
+      exe {
+        cipd_package: "pigweed/infra/recipe_bundles/pigweed.googlesource.com/infra/recipes"
+        cipd_version: "refs/heads/main"
+        cmd: "luciexe"
+      }
+      properties:
+        '{'
+        '  "$pigweed/build": {'
+        '    "gn_args": [],'
+        '    "ninja_targets": ['
+        '      "stm32f429i_debug",'
+        '      "stm32f429i_size_optimized",'
+        '      "stm32f429i_speed_optimized"'
+        '    ]'
+        '  },'
+        '  "$pigweed/checkout": {'
+        '    "branch": "main",'
+        '    "equivalent_remotes": [],'
+        '    "match_branch": true,'
+        '    "remote": "https://pigweed.googlesource.com/pigweed/pigweed",'
+        '    "use_repo": false'
+        '  },'
+        '  "$pigweed/environment": {'
+        '    "config_file": "pw_env_setup/config.json"'
+        '  },'
+        '  "dry_run": true,'
+        '  "recipe": "build"'
+        '}'
+      priority: 50
+      execution_timeout_secs: 2700
+      caches {
+        name: "builder"
+        path: "builder"
+      }
+      caches {
+        name: "pip"
+        path: "pip"
+        wait_for_warm_cache_secs: 60
+      }
+      service_account: "pigweed-ci-builder@pigweed.google.com.iam.gserviceaccount.com"
+      experimental: YES
+      experiments {
+        key: "luci.recipes.use_python3"
+        value: 100
+      }
+      experiments {
+        key: "luci.use_realms"
+        value: 100
+      }
+    }
+    builders {
+      name: "pigweed-windows-bazel-host-clang"
+      swarming_host: "chromium-swarm.appspot.com"
+      dimensions: "cores:16"
+      dimensions: "cpu:x64|x86-64"
+      dimensions: "os:Windows-10"
+      dimensions: "pool:luci.pigweed.ci"
+      exe {
+        cipd_package: "pigweed/infra/recipe_bundles/pigweed.googlesource.com/infra/recipes"
+        cipd_version: "refs/heads/main"
+        cmd: "luciexe"
+      }
+      properties:
+        '{'
+        '  "$pigweed/checkout": {'
+        '    "branch": "main",'
+        '    "equivalent_remotes": [],'
+        '    "match_branch": true,'
+        '    "remote": "https://pigweed.googlesource.com/pigweed/pigweed",'
+        '    "use_repo": false'
+        '  },'
+        '  "$pigweed/environment": {'
+        '    "config_file": "pw_env_setup/config.json"'
+        '  },'
+        '  "$pigweed/pw_presubmit": {'
+        '    "step": ['
+        '      "bazel_test"'
+        '    ]'
+        '  },'
+        '  "dry_run": true,'
+        '  "recipe": "pw_presubmit",'
+        '  "step": ['
+        '    "bazel_test"'
+        '  ]'
+        '}'
+      priority: 50
+      execution_timeout_secs: 2700
+      caches {
+        name: "bazel"
+        path: "bazel"
+        wait_for_warm_cache_secs: 60
+      }
+      caches {
+        name: "builder"
+        path: "builder"
+      }
+      caches {
+        name: "pip"
+        path: "pip"
+        wait_for_warm_cache_secs: 60
+      }
+      service_account: "pigweed-ci-builder@pigweed.google.com.iam.gserviceaccount.com"
+      experimental: YES
+      experiments {
+        key: "luci.recipes.use_python3"
+        value: 100
+      }
+      experiments {
+        key: "luci.use_realms"
+        value: 100
+      }
+    }
+    builders {
+      name: "pigweed-windows-compatibility-host-disco"
+      swarming_host: "chromium-swarm.appspot.com"
+      dimensions: "cores:16"
+      dimensions: "cpu:x64|x86-64"
+      dimensions: "os:Windows-10"
+      dimensions: "pool:luci.pigweed.ci"
+      exe {
+        cipd_package: "pigweed/infra/recipe_bundles/pigweed.googlesource.com/infra/recipes"
+        cipd_version: "refs/heads/main"
+        cmd: "luciexe"
+      }
+      properties:
+        '{'
+        '  "$pigweed/checkout": {'
+        '    "branch": "main",'
+        '    "equivalent_remotes": [],'
+        '    "match_branch": true,'
+        '    "remote": "https://pigweed.googlesource.com/pigweed/pigweed",'
+        '    "use_repo": false'
+        '  },'
+        '  "$pigweed/environment": {'
+        '    "config_file": "pw_env_setup/compatibility.json"'
+        '  },'
+        '  "$pigweed/pw_presubmit": {'
+        '    "step": ['
+        '      "gn_full_build_check"'
+        '    ]'
+        '  },'
+        '  "dry_run": true,'
+        '  "recipe": "pw_presubmit",'
+        '  "step": ['
+        '    "gn_full_build_check"'
+        '  ]'
+        '}'
+      priority: 50
+      execution_timeout_secs: 2700
+      caches {
+        name: "builder"
+        path: "builder"
+      }
+      caches {
+        name: "pip"
+        path: "pip"
+        wait_for_warm_cache_secs: 60
+      }
+      service_account: "pigweed-ci-builder@pigweed.google.com.iam.gserviceaccount.com"
+      experimental: YES
+      experiments {
+        key: "luci.recipes.use_python3"
+        value: 100
+      }
+      experiments {
+        key: "luci.use_realms"
+        value: 100
+      }
+    }
+    builders {
+      name: "pigweed-windows-gn-nanopb"
+      swarming_host: "chromium-swarm.appspot.com"
+      dimensions: "cores:16"
+      dimensions: "cpu:x64|x86-64"
+      dimensions: "os:Windows-10"
+      dimensions: "pool:luci.pigweed.ci"
+      exe {
+        cipd_package: "pigweed/infra/recipe_bundles/pigweed.googlesource.com/infra/recipes"
+        cipd_version: "refs/heads/main"
+        cmd: "luciexe"
+      }
+      properties:
+        '{'
+        '  "$pigweed/checkout": {'
+        '    "branch": "main",'
+        '    "equivalent_remotes": [],'
+        '    "match_branch": true,'
+        '    "remote": "https://pigweed.googlesource.com/pigweed/pigweed",'
+        '    "use_repo": false'
+        '  },'
+        '  "$pigweed/environment": {'
+        '    "config_file": "pw_env_setup/config.json"'
+        '  },'
+        '  "$pigweed/pw_presubmit": {'
+        '    "step": ['
+        '      "gn_nanopb_build"'
+        '    ]'
+        '  },'
+        '  "dry_run": true,'
+        '  "recipe": "pw_presubmit",'
+        '  "step": ['
+        '    "gn_nanopb_build"'
+        '  ]'
+        '}'
+      priority: 50
+      execution_timeout_secs: 2700
+      caches {
+        name: "builder"
+        path: "builder"
+      }
+      caches {
+        name: "pip"
+        path: "pip"
+        wait_for_warm_cache_secs: 60
+      }
+      service_account: "pigweed-ci-builder@pigweed.google.com.iam.gserviceaccount.com"
+      experimental: YES
+      experiments {
+        key: "luci.recipes.use_python3"
+        value: 100
+      }
+      experiments {
+        key: "luci.use_realms"
+        value: 100
+      }
+    }
+    builders {
+      name: "pigweed-windows-main-host-disco"
+      swarming_host: "chromium-swarm.appspot.com"
+      dimensions: "cores:16"
+      dimensions: "cpu:x64|x86-64"
+      dimensions: "os:Windows-10"
+      dimensions: "pool:luci.pigweed.ci"
+      exe {
+        cipd_package: "pigweed/infra/recipe_bundles/pigweed.googlesource.com/infra/recipes"
+        cipd_version: "refs/heads/main"
+        cmd: "luciexe"
+      }
+      properties:
+        '{'
+        '  "$pigweed/checkout": {'
+        '    "branch": "main",'
+        '    "equivalent_remotes": [],'
+        '    "match_branch": true,'
+        '    "remote": "https://pigweed.googlesource.com/pigweed/pigweed",'
+        '    "use_repo": false'
+        '  },'
+        '  "$pigweed/environment": {'
+        '    "config_file": "pw_env_setup/config.json"'
+        '  },'
+        '  "$pigweed/pw_presubmit": {'
+        '    "step": ['
+        '      "gn_full_build_check"'
+        '    ]'
+        '  },'
+        '  "recipe": "pw_presubmit",'
+        '  "step": ['
+        '    "gn_full_build_check"'
+        '  ]'
+        '}'
+      priority: 40
+      execution_timeout_secs: 2700
+      caches {
+        name: "builder"
+        path: "builder"
+      }
+      caches {
+        name: "pip"
+        path: "pip"
+        wait_for_warm_cache_secs: 60
+      }
+      service_account: "pigweed-ci-builder@pigweed.google.com.iam.gserviceaccount.com"
+      experiments {
+        key: "luci.recipes.use_python3"
+        value: 100
+      }
+      experiments {
+        key: "luci.use_realms"
+        value: 100
+      }
+    }
+    builders {
+      name: "pigweed-windows-qemu-compatibility-clang-armgcc"
+      swarming_host: "chromium-swarm.appspot.com"
+      dimensions: "cores:16"
+      dimensions: "cpu:x64|x86-64"
+      dimensions: "os:Windows-10"
+      dimensions: "pool:luci.pigweed.ci"
+      exe {
+        cipd_package: "pigweed/infra/recipe_bundles/pigweed.googlesource.com/infra/recipes"
+        cipd_version: "refs/heads/main"
+        cmd: "luciexe"
+      }
+      properties:
+        '{'
+        '  "$pigweed/checkout": {'
+        '    "branch": "main",'
+        '    "equivalent_remotes": [],'
+        '    "match_branch": true,'
+        '    "remote": "https://pigweed.googlesource.com/pigweed/pigweed",'
+        '    "use_repo": false'
+        '  },'
+        '  "$pigweed/environment": {'
+        '    "config_file": "pw_env_setup/compatibility.json"'
+        '  },'
+        '  "$pigweed/pw_presubmit": {'
+        '    "step": ['
+        '      "gn_full_qemu_check"'
+        '    ]'
+        '  },'
+        '  "dry_run": true,'
+        '  "recipe": "pw_presubmit",'
+        '  "step": ['
+        '    "gn_full_qemu_check"'
+        '  ]'
+        '}'
+      priority: 50
+      execution_timeout_secs: 2700
+      caches {
+        name: "builder"
+        path: "builder"
+      }
+      caches {
+        name: "pip"
+        path: "pip"
+        wait_for_warm_cache_secs: 60
+      }
+      service_account: "pigweed-ci-builder@pigweed.google.com.iam.gserviceaccount.com"
+      experimental: YES
+      experiments {
+        key: "luci.recipes.use_python3"
+        value: 100
+      }
+      experiments {
+        key: "luci.use_realms"
+        value: 100
+      }
+    }
+    builders {
+      name: "pigweed-windows-qemu-main-clang-armgcc"
+      swarming_host: "chromium-swarm.appspot.com"
+      dimensions: "cores:16"
+      dimensions: "cpu:x64|x86-64"
+      dimensions: "os:Windows-10"
+      dimensions: "pool:luci.pigweed.ci"
+      exe {
+        cipd_package: "pigweed/infra/recipe_bundles/pigweed.googlesource.com/infra/recipes"
+        cipd_version: "refs/heads/main"
+        cmd: "luciexe"
+      }
+      properties:
+        '{'
+        '  "$pigweed/checkout": {'
+        '    "branch": "main",'
+        '    "equivalent_remotes": [],'
+        '    "match_branch": true,'
+        '    "remote": "https://pigweed.googlesource.com/pigweed/pigweed",'
+        '    "use_repo": false'
+        '  },'
+        '  "$pigweed/environment": {'
+        '    "config_file": "pw_env_setup/config.json"'
+        '  },'
+        '  "$pigweed/pw_presubmit": {'
+        '    "step": ['
+        '      "gn_full_qemu_check"'
+        '    ]'
+        '  },'
+        '  "dry_run": true,'
+        '  "recipe": "pw_presubmit",'
+        '  "step": ['
+        '    "gn_full_qemu_check"'
+        '  ]'
+        '}'
+      priority: 50
+      execution_timeout_secs: 2700
+      caches {
+        name: "builder"
+        path: "builder"
+      }
+      caches {
+        name: "pip"
+        path: "pip"
+        wait_for_warm_cache_secs: 60
+      }
+      service_account: "pigweed-ci-builder@pigweed.google.com.iam.gserviceaccount.com"
+      experimental: YES
+      experiments {
+        key: "luci.recipes.use_python3"
+        value: 100
+      }
+      experiments {
+        key: "luci.use_realms"
+        value: 100
+      }
+    }
+    builders {
+      name: "pigweed-xref-generator"
+      swarming_host: "chromium-swarm.appspot.com"
+      dimensions: "cores:16"
+      dimensions: "cpu:x64|x86-64"
+      dimensions: "os:Debian"
+      dimensions: "pool:luci.pigweed.ci"
+      exe {
+        cipd_package: "pigweed/infra/recipe_bundles/pigweed.googlesource.com/infra/recipes"
+        cipd_version: "refs/heads/main"
+        cmd: "luciexe"
+      }
+      properties:
+        '{'
+        '  "$pigweed/checkout": {'
+        '    "branch": "main",'
+        '    "equivalent_remotes": [],'
+        '    "match_branch": true,'
+        '    "remote": "https://pigweed.googlesource.com/pigweed/pigweed",'
+        '    "use_repo": false'
+        '  },'
+        '  "$pigweed/environment": {'
+        '    "config_file": "pw_env_setup/config.json"'
+        '  },'
+        '  "dry_run": false,'
+        '  "recipe": "xrefs"'
+        '}'
+      priority: 40
+      execution_timeout_secs: 2700
+      caches {
+        name: "builder"
+        path: "builder"
+      }
+      caches {
+        name: "pip"
+        path: "pip"
+        wait_for_warm_cache_secs: 60
+      }
+      service_account: "pigweed-kythe@pigweed.google.com.iam.gserviceaccount.com"
+      experiments {
+        key: "luci.recipes.use_python3"
+        value: 100
+      }
+      experiments {
+        key: "luci.use_realms"
+        value: 100
+      }
+    }
+    builders {
+      name: "recipes-unittest-only"
+      swarming_host: "chromium-swarm.appspot.com"
+      dimensions: "120:cores:2"
+      dimensions: "cpu:x64|x86-64"
+      dimensions: "os:Debian"
+      dimensions: "pool:luci.pigweed.ci"
+      exe {
+        cipd_package: "pigweed/infra/recipe_bundles/pigweed.googlesource.com/infra/recipes"
+        cipd_version: "refs/heads/main"
+        cmd: "luciexe"
+      }
+      properties:
+        '{'
+        '  "$pigweed/checkout": {'
+        '    "branch": "main",'
+        '    "equivalent_remotes": [],'
+        '    "match_branch": true,'
+        '    "remote": "https://pigweed.googlesource.com/infra/recipes",'
+        '    "use_repo": false'
+        '  },'
+        '  "recipe": "recipes",'
+        '  "unittest_only": true'
+        '}'
+      priority: 40
+      execution_timeout_secs: 3600
+      caches {
+        name: "builder"
+        path: "builder"
+      }
+      service_account: "pigweed-ci-builder@pigweed.google.com.iam.gserviceaccount.com"
+      experiments {
+        key: "luci.recipes.use_python3"
+        value: 100
+      }
+      experiments {
+        key: "luci.use_realms"
+        value: 100
+      }
+    }
+    builders {
+      name: "sample-project-default-build-linux"
+      swarming_host: "chromium-swarm.appspot.com"
+      dimensions: "cores:16"
+      dimensions: "cpu:x64|x86-64"
+      dimensions: "os:Debian"
+      dimensions: "pool:luci.pigweed.ci"
+      exe {
+        cipd_package: "pigweed/infra/recipe_bundles/pigweed.googlesource.com/infra/recipes"
+        cipd_version: "refs/heads/main"
+        cmd: "luciexe"
+      }
+      properties:
+        '{'
+        '  "$pigweed/checkout": {'
+        '    "branch": "main",'
+        '    "equivalent_remotes": [],'
+        '    "match_branch": true,'
+        '    "remote": "https://pigweed.googlesource.com/pigweed/sample_project",'
+        '    "use_repo": false'
+        '  },'
+        '  "$pigweed/environment": {'
+        '    "config_file": "env_setup.json",'
+        '    "relative_pigweed_root": "third_party/pigweed",'
+        '    "root_variable_name": "SAMPLE_PROJECT_ROOT"'
+        '  },'
+        '  "$pigweed/pw_presubmit": {'
+        '    "step": ['
+        '      "default_build"'
+        '    ]'
+        '  },'
+        '  "recipe": "pw_presubmit",'
+        '  "step": ['
+        '    "default_build"'
+        '  ]'
+        '}'
+      priority: 40
+      execution_timeout_secs: 3600
+      caches {
+        name: "builder"
+        path: "builder"
+      }
+      caches {
+        name: "pip"
+        path: "pip"
+        wait_for_warm_cache_secs: 60
+      }
+      service_account: "pigweed-ci-builder@pigweed.google.com.iam.gserviceaccount.com"
+      experiments {
+        key: "luci.recipes.use_python3"
+        value: 100
+      }
+      experiments {
+        key: "luci.use_realms"
+        value: 100
+      }
+    }
+    builders {
+      name: "sample-project-default-build-mac"
+      swarming_host: "chromium-swarm.appspot.com"
+      dimensions: "cpu:x64|x86-64"
+      dimensions: "os:Mac"
+      dimensions: "pool:luci.pigweed.ci"
+      exe {
+        cipd_package: "pigweed/infra/recipe_bundles/pigweed.googlesource.com/infra/recipes"
+        cipd_version: "refs/heads/main"
+        cmd: "luciexe"
+      }
+      properties:
+        '{'
+        '  "$pigweed/checkout": {'
+        '    "branch": "main",'
+        '    "equivalent_remotes": [],'
+        '    "match_branch": true,'
+        '    "remote": "https://pigweed.googlesource.com/pigweed/sample_project",'
+        '    "use_repo": false'
+        '  },'
+        '  "$pigweed/environment": {'
+        '    "config_file": "env_setup.json",'
+        '    "relative_pigweed_root": "third_party/pigweed",'
+        '    "root_variable_name": "SAMPLE_PROJECT_ROOT"'
+        '  },'
+        '  "$pigweed/pw_presubmit": {'
+        '    "step": ['
+        '      "default_build"'
+        '    ]'
+        '  },'
+        '  "macos_sdk.version": "11c29",'
+        '  "recipe": "pw_presubmit",'
+        '  "step": ['
+        '    "default_build"'
+        '  ]'
+        '}'
+      priority: 40
+      execution_timeout_secs: 3600
+      caches {
+        name: "builder"
+        path: "builder"
+      }
+      caches {
+        name: "macos_sdk"
+        path: "macos_sdk"
+        wait_for_warm_cache_secs: 120
+      }
+      caches {
+        name: "pip"
+        path: "pip"
+        wait_for_warm_cache_secs: 60
+      }
+      service_account: "pigweed-ci-builder@pigweed.google.com.iam.gserviceaccount.com"
+      experiments {
+        key: "luci.recipes.use_python3"
+        value: 100
+      }
+      experiments {
+        key: "luci.use_realms"
+        value: 100
+      }
+    }
+    builders {
+      name: "sample-project-default-build-windows"
+      swarming_host: "chromium-swarm.appspot.com"
+      dimensions: "cores:16"
+      dimensions: "cpu:x64|x86-64"
+      dimensions: "os:Windows-10"
+      dimensions: "pool:luci.pigweed.ci"
+      exe {
+        cipd_package: "pigweed/infra/recipe_bundles/pigweed.googlesource.com/infra/recipes"
+        cipd_version: "refs/heads/main"
+        cmd: "luciexe"
+      }
+      properties:
+        '{'
+        '  "$pigweed/checkout": {'
+        '    "branch": "main",'
+        '    "equivalent_remotes": [],'
+        '    "match_branch": true,'
+        '    "remote": "https://pigweed.googlesource.com/pigweed/sample_project",'
+        '    "use_repo": false'
+        '  },'
+        '  "$pigweed/environment": {'
+        '    "config_file": "env_setup.json",'
+        '    "relative_pigweed_root": "third_party/pigweed",'
+        '    "root_variable_name": "SAMPLE_PROJECT_ROOT"'
+        '  },'
+        '  "$pigweed/pw_presubmit": {'
+        '    "step": ['
+        '      "default_build"'
+        '    ]'
+        '  },'
+        '  "recipe": "pw_presubmit",'
+        '  "step": ['
+        '    "default_build"'
+        '  ]'
+        '}'
+      priority: 40
+      execution_timeout_secs: 3600
+      caches {
+        name: "builder"
+        path: "builder"
+      }
+      caches {
+        name: "pip"
+        path: "pip"
+        wait_for_warm_cache_secs: 60
+      }
+      service_account: "pigweed-ci-builder@pigweed.google.com.iam.gserviceaccount.com"
+      experiments {
+        key: "luci.recipes.use_python3"
+        value: 100
+      }
+      experiments {
+        key: "luci.use_realms"
+        value: 100
+      }
+    }
+    builders {
+      name: "sample-project-envtest-linux"
+      swarming_host: "chromium-swarm.appspot.com"
+      dimensions: "cores:16"
+      dimensions: "cpu:x64|x86-64"
+      dimensions: "os:Debian"
+      dimensions: "pool:luci.pigweed.ci"
+      exe {
+        cipd_package: "pigweed/infra/recipe_bundles/pigweed.googlesource.com/infra/recipes"
+        cipd_version: "refs/heads/main"
+        cmd: "luciexe"
+      }
+      properties:
+        '{'
+        '  "$pigweed/checkout": {'
+        '    "branch": "main",'
+        '    "equivalent_remotes": [],'
+        '    "match_branch": true,'
+        '    "remote": "https://pigweed.googlesource.com/pigweed/sample_project",'
+        '    "use_repo": false'
+        '  },'
+        '  "command": "python -m pw_cli --directory $PW_PROJECT_ROOT --loglevel debug presubmit --step gn_gen_check",'
+        '  "recipe": "envtest"'
+        '}'
+      priority: 40
+      execution_timeout_secs: 3600
+      caches {
+        name: "builder"
+        path: "builder"
+      }
+      caches {
+        name: "pip"
+        path: "pip"
+        wait_for_warm_cache_secs: 60
+      }
+      service_account: "pigweed-ci-builder@pigweed.google.com.iam.gserviceaccount.com"
+      experiments {
+        key: "luci.recipes.use_python3"
+        value: 100
+      }
+      experiments {
+        key: "luci.use_realms"
+        value: 100
+      }
+    }
+    builders {
+      name: "sample-project-envtest-mac"
+      swarming_host: "chromium-swarm.appspot.com"
+      dimensions: "cpu:x64|x86-64"
+      dimensions: "os:Mac"
+      dimensions: "pool:luci.pigweed.ci"
+      exe {
+        cipd_package: "pigweed/infra/recipe_bundles/pigweed.googlesource.com/infra/recipes"
+        cipd_version: "refs/heads/main"
+        cmd: "luciexe"
+      }
+      properties:
+        '{'
+        '  "$pigweed/checkout": {'
+        '    "branch": "main",'
+        '    "equivalent_remotes": [],'
+        '    "match_branch": true,'
+        '    "remote": "https://pigweed.googlesource.com/pigweed/sample_project",'
+        '    "use_repo": false'
+        '  },'
+        '  "command": "python -m pw_cli --directory $PW_PROJECT_ROOT --loglevel debug presubmit --step gn_gen_check",'
+        '  "macos_sdk.version": "11c29",'
+        '  "recipe": "envtest"'
+        '}'
+      priority: 40
+      execution_timeout_secs: 3600
+      caches {
+        name: "builder"
+        path: "builder"
+      }
+      caches {
+        name: "macos_sdk"
+        path: "macos_sdk"
+        wait_for_warm_cache_secs: 120
+      }
+      caches {
+        name: "pip"
+        path: "pip"
+        wait_for_warm_cache_secs: 60
+      }
+      service_account: "pigweed-ci-builder@pigweed.google.com.iam.gserviceaccount.com"
+      experiments {
+        key: "luci.recipes.use_python3"
+        value: 100
+      }
+      experiments {
+        key: "luci.use_realms"
+        value: 100
+      }
+    }
+    builders {
+      name: "sample-project-envtest-windows"
+      swarming_host: "chromium-swarm.appspot.com"
+      dimensions: "cores:16"
+      dimensions: "cpu:x64|x86-64"
+      dimensions: "os:Windows-10"
+      dimensions: "pool:luci.pigweed.ci"
+      exe {
+        cipd_package: "pigweed/infra/recipe_bundles/pigweed.googlesource.com/infra/recipes"
+        cipd_version: "refs/heads/main"
+        cmd: "luciexe"
+      }
+      properties:
+        '{'
+        '  "$pigweed/checkout": {'
+        '    "branch": "main",'
+        '    "equivalent_remotes": [],'
+        '    "match_branch": true,'
+        '    "remote": "https://pigweed.googlesource.com/pigweed/sample_project",'
+        '    "use_repo": false'
+        '  },'
+        '  "command": "python -m pw_cli --directory $PW_PROJECT_ROOT --loglevel debug presubmit --step gn_gen_check",'
+        '  "dry_run": true,'
+        '  "recipe": "envtest"'
+        '}'
+      priority: 50
+      execution_timeout_secs: 3600
+      caches {
+        name: "builder"
+        path: "builder"
+      }
+      caches {
+        name: "pip"
+        path: "pip"
+        wait_for_warm_cache_secs: 60
+      }
+      service_account: "pigweed-ci-builder@pigweed.google.com.iam.gserviceaccount.com"
+      experimental: YES
+      experiments {
+        key: "luci.recipes.use_python3"
+        value: 100
+      }
+      experiments {
+        key: "luci.use_realms"
+        value: 100
+      }
+    }
+    builders {
+      name: "sample-project-lintformat"
+      swarming_host: "chromium-swarm.appspot.com"
+      dimensions: "cores:16"
+      dimensions: "cpu:x64|x86-64"
+      dimensions: "os:Debian"
+      dimensions: "pool:luci.pigweed.ci"
+      exe {
+        cipd_package: "pigweed/infra/recipe_bundles/pigweed.googlesource.com/infra/recipes"
+        cipd_version: "refs/heads/main"
+        cmd: "luciexe"
+      }
+      properties:
+        '{'
+        '  "$pigweed/checkout": {'
+        '    "branch": "main",'
+        '    "equivalent_remotes": [],'
+        '    "match_branch": true,'
+        '    "remote": "https://pigweed.googlesource.com/pigweed/sample_project",'
+        '    "use_repo": false'
+        '  },'
+        '  "$pigweed/environment": {'
+        '    "config_file": "env_setup.json",'
+        '    "relative_pigweed_root": "third_party/pigweed",'
+        '    "root_variable_name": "SAMPLE_PROJECT_ROOT"'
+        '  },'
+        '  "$pigweed/pw_presubmit": {'
+        '    "program": ['
+        '      "lintformat"'
+        '    ]'
+        '  },'
+        '  "program": ['
+        '    "lintformat"'
+        '  ],'
+        '  "recipe": "pw_presubmit"'
+        '}'
+      priority: 40
+      execution_timeout_secs: 1500
+      caches {
+        name: "builder"
+        path: "builder"
+      }
+      caches {
+        name: "pip"
+        path: "pip"
+        wait_for_warm_cache_secs: 60
+      }
+      service_account: "pigweed-ci-builder@pigweed.google.com.iam.gserviceaccount.com"
+      experiments {
+        key: "luci.recipes.use_python3"
+        value: 100
+      }
+      experiments {
+        key: "luci.use_realms"
+        value: 100
+      }
+    }
+    builders {
+      name: "sample-project-xref-generator"
+      swarming_host: "chromium-swarm.appspot.com"
+      dimensions: "cores:16"
+      dimensions: "cpu:x64|x86-64"
+      dimensions: "os:Debian"
+      dimensions: "pool:luci.pigweed.ci"
+      exe {
+        cipd_package: "pigweed/infra/recipe_bundles/pigweed.googlesource.com/infra/recipes"
+        cipd_version: "refs/heads/main"
+        cmd: "luciexe"
+      }
+      properties:
+        '{'
+        '  "$pigweed/checkout": {'
+        '    "branch": "main",'
+        '    "equivalent_remotes": [],'
+        '    "match_branch": true,'
+        '    "remote": "https://pigweed.googlesource.com/pigweed/sample_project",'
+        '    "use_repo": false'
+        '  },'
+        '  "$pigweed/environment": {'
+        '    "config_file": "env_setup.json",'
+        '    "relative_pigweed_root": "third_party/pigweed",'
+        '    "root_variable_name": "SAMPLE_PROJECT_ROOT"'
+        '  },'
+        '  "dry_run": false,'
+        '  "recipe": "xrefs"'
+        '}'
+      priority: 40
+      execution_timeout_secs: 3600
+      caches {
+        name: "builder"
+        path: "builder"
+      }
+      caches {
+        name: "pip"
+        path: "pip"
+        wait_for_warm_cache_secs: 60
+      }
+      service_account: "pigweed-kythe@pigweed.google.com.iam.gserviceaccount.com"
+      experiments {
+        key: "luci.recipes.use_python3"
+        value: 100
+      }
+      experiments {
+        key: "luci.use_realms"
+        value: 100
+      }
+    }
+  }
+}
+buckets {
+  name: "roll"
+  acls {
+    group: "all"
+  }
+  acls {
+    role: SCHEDULER
+    identity: "user:luci-scheduler@appspot.gserviceaccount.com"
+  }
+  acls {
+    role: SCHEDULER
+    group: "project-pigweed-committers"
+  }
+  swarming {
+    builders {
+      name: "auto-submit-pigweed"
+      swarming_host: "chromium-swarm.appspot.com"
+      dimensions: "60:cores:2"
+      dimensions: "cpu:x64|x86-64"
+      dimensions: "os:Debian"
+      dimensions: "pool:luci.pigweed.ci"
+      exe {
+        cipd_package: "pigweed/infra/recipe_bundles/pigweed.googlesource.com/infra/recipes"
+        cipd_version: "refs/heads/main"
+        cmd: "luciexe"
+      }
+      properties:
+        '{'
+        '  "$fuchsia/gerrit_auto_submit": {'
+        '    "auto_submit_label": "Pigweed-Auto-Submit",'
+        '    "gerrit_host": "pigweed-review.googlesource.com",'
+        '    "tree_status_host": null'
+        '  },'
+        '  "dry_run": false,'
+        '  "recipe": "gerrit_auto_submit"'
+        '}'
+      priority: 30
+      execution_timeout_secs: 300
+      caches {
+        name: "builder"
+        path: "builder"
+      }
+      service_account: "auto-submit@pigweed.google.com.iam.gserviceaccount.com"
+      experiments {
+        key: "luci.recipes.use_python3"
+        value: 100
+      }
+      experiments {
+        key: "luci.use_realms"
+        value: 100
+      }
+    }
+    builders {
+      name: "auto-submit-pigweed-low"
+      swarming_host: "chromium-swarm.appspot.com"
+      dimensions: "60:cores:2"
+      dimensions: "cpu:x64|x86-64"
+      dimensions: "os:Debian"
+      dimensions: "pool:luci.pigweed.ci"
+      exe {
+        cipd_package: "pigweed/infra/recipe_bundles/pigweed.googlesource.com/infra/recipes"
+        cipd_version: "refs/heads/main"
+        cmd: "luciexe"
+      }
+      properties:
+        '{'
+        '  "$fuchsia/gerrit_auto_submit": {'
+        '    "auto_submit_label": "Pigweed-Auto-Submit",'
+        '    "gerrit_host": "pigweed-review.googlesource.com",'
+        '    "tree_status_host": null'
+        '  },'
+        '  "dry_run": false,'
+        '  "recipe": "gerrit_auto_submit"'
+        '}'
+      priority: 50
+      execution_timeout_secs: 300
+      caches {
+        name: "builder"
+        path: "builder"
+      }
+      service_account: "auto-submit@pigweed.google.com.iam.gserviceaccount.com"
+      experiments {
+        key: "luci.recipes.use_python3"
+        value: 100
+      }
+      experiments {
+        key: "luci.use_realms"
+        value: 100
+      }
+    }
+    builders {
+      name: "bloaty-embedded-roller"
+      swarming_host: "chromium-swarm.appspot.com"
+      dimensions: "1800:cores:2"
+      dimensions: "cpu:x64|x86-64"
+      dimensions: "os:Debian"
+      dimensions: "pool:luci.pigweed.ci"
+      exe {
+        cipd_package: "pigweed/infra/recipe_bundles/pigweed.googlesource.com/infra/recipes"
+        cipd_version: "refs/heads/main"
+        cmd: "luciexe"
+      }
+      properties:
+        '{'
+        '  "$pigweed/checkout": {'
+        '    "branch": "main",'
+        '    "equivalent_remotes": [],'
+        '    "match_branch": true,'
+        '    "remote": "https://pigweed.googlesource.com/pigweed/pigweed",'
+        '    "use_repo": false'
+        '  },'
+        '  "allow_mismatched_refs": false,'
+        '  "bot_commit": true,'
+        '  "cipd_json_path": "pw_env_setup/py/pw_env_setup/cipd_setup/pigweed.json",'
+        '  "dry_run": false,'
+        '  "package_name": "bloaty-embedded",'
+        '  "package_spec": "pigweed/third_party/bloaty-embedded/${platform}",'
+        '  "recipe": "cipd_roller",'
+        '  "ref": "latest",'
+        '  "tag": "git_revision"'
+        '}'
+      priority: 40
+      execution_timeout_secs: 7800
+      caches {
+        name: "builder"
+        path: "builder"
+      }
+      service_account: "pigweed-roller@pigweed.google.com.iam.gserviceaccount.com"
+      experimental: NO
+      experiments {
+        key: "luci.recipes.use_python3"
+        value: 100
+      }
+      experiments {
+        key: "luci.use_realms"
+        value: 100
+      }
+    }
+    builders {
+      name: "buildifier-roller"
+      swarming_host: "chromium-swarm.appspot.com"
+      dimensions: "1800:cores:2"
+      dimensions: "cpu:x64|x86-64"
+      dimensions: "os:Debian"
+      dimensions: "pool:luci.pigweed.ci"
+      exe {
+        cipd_package: "pigweed/infra/recipe_bundles/pigweed.googlesource.com/infra/recipes"
+        cipd_version: "refs/heads/main"
+        cmd: "luciexe"
+      }
+      properties:
+        '{'
+        '  "$pigweed/checkout": {'
+        '    "branch": "main",'
+        '    "equivalent_remotes": [],'
+        '    "match_branch": true,'
+        '    "remote": "https://pigweed.googlesource.com/pigweed/pigweed",'
+        '    "use_repo": false'
+        '  },'
+        '  "allow_mismatched_refs": false,'
+        '  "bot_commit": true,'
+        '  "cipd_json_path": "pw_env_setup/py/pw_env_setup/cipd_setup/pigweed.json",'
+        '  "dry_run": false,'
+        '  "package_name": "buildifier",'
+        '  "package_spec": "infra/3pp/tools/buildifier/${platform}",'
+        '  "recipe": "cipd_roller",'
+        '  "ref": "latest",'
+        '  "tag": "version"'
+        '}'
+      priority: 40
+      execution_timeout_secs: 7800
+      caches {
+        name: "builder"
+        path: "builder"
+      }
+      service_account: "pigweed-roller@pigweed.google.com.iam.gserviceaccount.com"
+      experimental: NO
+      experiments {
+        key: "luci.recipes.use_python3"
+        value: 100
+      }
+      experiments {
+        key: "luci.use_realms"
+        value: 100
+      }
+    }
+    builders {
+      name: "clang-roller"
+      swarming_host: "chromium-swarm.appspot.com"
+      dimensions: "1800:cores:2"
+      dimensions: "cpu:x64|x86-64"
+      dimensions: "os:Debian"
+      dimensions: "pool:luci.pigweed.ci"
+      exe {
+        cipd_package: "pigweed/infra/recipe_bundles/pigweed.googlesource.com/infra/recipes"
+        cipd_version: "refs/heads/main"
+        cmd: "luciexe"
+      }
+      properties:
+        '{'
+        '  "$pigweed/checkout": {'
+        '    "branch": "main",'
+        '    "equivalent_remotes": [],'
+        '    "match_branch": true,'
+        '    "remote": "https://pigweed.googlesource.com/pigweed/pigweed",'
+        '    "use_repo": false'
+        '  },'
+        '  "allow_mismatched_refs": false,'
+        '  "bot_commit": true,'
+        '  "cipd_json_path": "pw_env_setup/py/pw_env_setup/cipd_setup/pigweed.json",'
+        '  "dry_run": false,'
+        '  "package_name": "clang",'
+        '  "package_spec": "fuchsia/third_party/clang/${platform}",'
+        '  "recipe": "cipd_roller",'
+        '  "ref": "integration",'
+        '  "tag": "git_revision"'
+        '}'
+      priority: 40
+      execution_timeout_secs: 7800
+      caches {
+        name: "builder"
+        path: "builder"
+      }
+      service_account: "pigweed-roller@pigweed.google.com.iam.gserviceaccount.com"
+      experimental: NO
+      experiments {
+        key: "luci.recipes.use_python3"
+        value: 100
+      }
+      experiments {
+        key: "luci.use_realms"
+        value: 100
+      }
+    }
+    builders {
+      name: "cmake-roller"
+      swarming_host: "chromium-swarm.appspot.com"
+      dimensions: "1800:cores:2"
+      dimensions: "cpu:x64|x86-64"
+      dimensions: "os:Debian"
+      dimensions: "pool:luci.pigweed.ci"
+      exe {
+        cipd_package: "pigweed/infra/recipe_bundles/pigweed.googlesource.com/infra/recipes"
+        cipd_version: "refs/heads/main"
+        cmd: "luciexe"
+      }
+      properties:
+        '{'
+        '  "$pigweed/checkout": {'
+        '    "branch": "main",'
+        '    "equivalent_remotes": [],'
+        '    "match_branch": true,'
+        '    "remote": "https://pigweed.googlesource.com/pigweed/pigweed",'
+        '    "use_repo": false'
+        '  },'
+        '  "allow_mismatched_refs": false,'
+        '  "bot_commit": true,'
+        '  "cipd_json_path": "pw_env_setup/py/pw_env_setup/cipd_setup/pigweed.json",'
+        '  "dry_run": false,'
+        '  "package_name": "cmake",'
+        '  "package_spec": "infra/cmake/${platform}",'
+        '  "recipe": "cipd_roller",'
+        '  "ref": "latest",'
+        '  "tag": "version"'
+        '}'
+      priority: 40
+      execution_timeout_secs: 7800
+      caches {
+        name: "builder"
+        path: "builder"
+      }
+      service_account: "pigweed-roller@pigweed.google.com.iam.gserviceaccount.com"
+      experimental: NO
+      experiments {
+        key: "luci.recipes.use_python3"
+        value: 100
+      }
+      experiments {
+        key: "luci.use_realms"
+        value: 100
+      }
+    }
+    builders {
+      name: "gcc-arm-none-eabi-roller"
+      swarming_host: "chromium-swarm.appspot.com"
+      dimensions: "1800:cores:2"
+      dimensions: "cpu:x64|x86-64"
+      dimensions: "os:Debian"
+      dimensions: "pool:luci.pigweed.ci"
+      exe {
+        cipd_package: "pigweed/infra/recipe_bundles/pigweed.googlesource.com/infra/recipes"
+        cipd_version: "refs/heads/main"
+        cmd: "luciexe"
+      }
+      properties:
+        '{'
+        '  "$pigweed/checkout": {'
+        '    "branch": "main",'
+        '    "equivalent_remotes": [],'
+        '    "match_branch": true,'
+        '    "remote": "https://pigweed.googlesource.com/pigweed/pigweed",'
+        '    "use_repo": false'
+        '  },'
+        '  "allow_mismatched_refs": false,'
+        '  "bot_commit": true,'
+        '  "cipd_json_path": "pw_env_setup/py/pw_env_setup/cipd_setup/pigweed.json",'
+        '  "dry_run": true,'
+        '  "package_name": "gcc-arm-none-eabi",'
+        '  "package_spec": "pigweed/third_party/gcc-arm-none-eabi/${platform}",'
+        '  "recipe": "cipd_roller",'
+        '  "ref": "latest",'
+        '  "tag": "version"'
+        '}'
+      priority: 40
+      execution_timeout_secs: 7800
+      caches {
+        name: "builder"
+        path: "builder"
+      }
+      service_account: "pigweed-roller@pigweed.google.com.iam.gserviceaccount.com"
+      experimental: NO
+      experiments {
+        key: "luci.recipes.use_python3"
+        value: 100
+      }
+      experiments {
+        key: "luci.use_realms"
+        value: 100
+      }
+    }
+    builders {
+      name: "gn-roller"
+      swarming_host: "chromium-swarm.appspot.com"
+      dimensions: "1800:cores:2"
+      dimensions: "cpu:x64|x86-64"
+      dimensions: "os:Debian"
+      dimensions: "pool:luci.pigweed.ci"
+      exe {
+        cipd_package: "pigweed/infra/recipe_bundles/pigweed.googlesource.com/infra/recipes"
+        cipd_version: "refs/heads/main"
+        cmd: "luciexe"
+      }
+      properties:
+        '{'
+        '  "$pigweed/checkout": {'
+        '    "branch": "main",'
+        '    "equivalent_remotes": [],'
+        '    "match_branch": true,'
+        '    "remote": "https://pigweed.googlesource.com/pigweed/pigweed",'
+        '    "use_repo": false'
+        '  },'
+        '  "allow_mismatched_refs": false,'
+        '  "bot_commit": true,'
+        '  "cipd_json_path": "pw_env_setup/py/pw_env_setup/cipd_setup/pigweed.json",'
+        '  "dry_run": false,'
+        '  "package_name": "gn",'
+        '  "package_spec": "gn/gn/${platform}",'
+        '  "recipe": "cipd_roller",'
+        '  "ref": "latest",'
+        '  "tag": "git_revision"'
+        '}'
+      priority: 40
+      execution_timeout_secs: 7800
+      caches {
+        name: "builder"
+        path: "builder"
+      }
+      service_account: "pigweed-roller@pigweed.google.com.iam.gserviceaccount.com"
+      experimental: NO
+      experiments {
+        key: "luci.recipes.use_python3"
+        value: 100
+      }
+      experiments {
+        key: "luci.use_realms"
+        value: 100
+      }
+    }
+    builders {
+      name: "go-roller"
+      swarming_host: "chromium-swarm.appspot.com"
+      dimensions: "1800:cores:2"
+      dimensions: "cpu:x64|x86-64"
+      dimensions: "os:Debian"
+      dimensions: "pool:luci.pigweed.ci"
+      exe {
+        cipd_package: "pigweed/infra/recipe_bundles/pigweed.googlesource.com/infra/recipes"
+        cipd_version: "refs/heads/main"
+        cmd: "luciexe"
+      }
+      properties:
+        '{'
+        '  "$pigweed/checkout": {'
+        '    "branch": "main",'
+        '    "equivalent_remotes": [],'
+        '    "match_branch": true,'
+        '    "remote": "https://pigweed.googlesource.com/pigweed/pigweed",'
+        '    "use_repo": false'
+        '  },'
+        '  "allow_mismatched_refs": false,'
+        '  "bot_commit": true,'
+        '  "cipd_json_path": "pw_env_setup/py/pw_env_setup/cipd_setup/pigweed.json",'
+        '  "dry_run": false,'
+        '  "package_name": "go",'
+        '  "package_spec": "infra/3pp/tools/go/${platform}",'
+        '  "recipe": "cipd_roller",'
+        '  "ref": "latest",'
+        '  "tag": "version"'
+        '}'
+      priority: 40
+      execution_timeout_secs: 7800
+      caches {
+        name: "builder"
+        path: "builder"
+      }
+      service_account: "pigweed-roller@pigweed.google.com.iam.gserviceaccount.com"
+      experimental: NO
+      experiments {
+        key: "luci.recipes.use_python3"
+        value: 100
+      }
+      experiments {
+        key: "luci.use_realms"
+        value: 100
+      }
+    }
+    builders {
+      name: "host-tools-roller"
+      swarming_host: "chromium-swarm.appspot.com"
+      dimensions: "1800:cores:2"
+      dimensions: "cpu:x64|x86-64"
+      dimensions: "os:Debian"
+      dimensions: "pool:luci.pigweed.ci"
+      exe {
+        cipd_package: "pigweed/infra/recipe_bundles/pigweed.googlesource.com/infra/recipes"
+        cipd_version: "refs/heads/main"
+        cmd: "luciexe"
+      }
+      properties:
+        '{'
+        '  "$pigweed/checkout": {'
+        '    "branch": "main",'
+        '    "equivalent_remotes": [],'
+        '    "match_branch": true,'
+        '    "remote": "https://pigweed.googlesource.com/pigweed/pigweed",'
+        '    "use_repo": false'
+        '  },'
+        '  "allow_mismatched_refs": false,'
+        '  "bot_commit": true,'
+        '  "cipd_json_path": "pw_env_setup/py/pw_env_setup/cipd_setup/pigweed.json",'
+        '  "dry_run": false,'
+        '  "package_name": "host_tools",'
+        '  "package_spec": "pigweed/host_tools/${platform}",'
+        '  "recipe": "cipd_roller",'
+        '  "ref": "latest",'
+        '  "tag": "git_revision"'
+        '}'
+      priority: 40
+      execution_timeout_secs: 7800
+      caches {
+        name: "builder"
+        path: "builder"
+      }
+      service_account: "pigweed-roller@pigweed.google.com.iam.gserviceaccount.com"
+      experimental: NO
+      experiments {
+        key: "luci.recipes.use_python3"
+        value: 100
+      }
+      experiments {
+        key: "luci.use_realms"
+        value: 100
+      }
+    }
+    builders {
+      name: "kythe-libs-roller"
+      swarming_host: "chromium-swarm.appspot.com"
+      dimensions: "1800:cores:2"
+      dimensions: "cpu:x64|x86-64"
+      dimensions: "os:Debian"
+      dimensions: "pool:luci.pigweed.ci"
+      exe {
+        cipd_package: "pigweed/infra/recipe_bundles/pigweed.googlesource.com/infra/recipes"
+        cipd_version: "refs/heads/main"
+        cmd: "luciexe"
+      }
+      properties:
+        '{'
+        '  "$pigweed/checkout": {'
+        '    "branch": "main",'
+        '    "equivalent_remotes": [],'
+        '    "match_branch": true,'
+        '    "remote": "https://pigweed.googlesource.com/pigweed/pigweed",'
+        '    "use_repo": false'
+        '  },'
+        '  "allow_mismatched_refs": false,'
+        '  "bot_commit": true,'
+        '  "cipd_json_path": "pw_env_setup/py/pw_env_setup/cipd_setup/pigweed.json",'
+        '  "dry_run": false,'
+        '  "package_name": "kythe-libs",'
+        '  "package_spec": "fuchsia/third_party/kythe-libs/${platform}",'
+        '  "recipe": "cipd_roller",'
+        '  "ref": "latest",'
+        '  "tag": "version"'
+        '}'
+      priority: 40
+      execution_timeout_secs: 7800
+      caches {
+        name: "builder"
+        path: "builder"
+      }
+      service_account: "pigweed-roller@pigweed.google.com.iam.gserviceaccount.com"
+      experimental: NO
+      experiments {
+        key: "luci.recipes.use_python3"
+        value: 100
+      }
+      experiments {
+        key: "luci.use_realms"
+        value: 100
+      }
+    }
+    builders {
+      name: "kythe-roller"
+      swarming_host: "chromium-swarm.appspot.com"
+      dimensions: "1800:cores:2"
+      dimensions: "cpu:x64|x86-64"
+      dimensions: "os:Debian"
+      dimensions: "pool:luci.pigweed.ci"
+      exe {
+        cipd_package: "pigweed/infra/recipe_bundles/pigweed.googlesource.com/infra/recipes"
+        cipd_version: "refs/heads/main"
+        cmd: "luciexe"
+      }
+      properties:
+        '{'
+        '  "$pigweed/checkout": {'
+        '    "branch": "main",'
+        '    "equivalent_remotes": [],'
+        '    "match_branch": true,'
+        '    "remote": "https://pigweed.googlesource.com/pigweed/pigweed",'
+        '    "use_repo": false'
+        '  },'
+        '  "allow_mismatched_refs": false,'
+        '  "bot_commit": true,'
+        '  "cipd_json_path": "pw_env_setup/py/pw_env_setup/cipd_setup/pigweed.json",'
+        '  "dry_run": false,'
+        '  "package_name": "kythe",'
+        '  "package_spec": "fuchsia/third_party/kythe",'
+        '  "recipe": "cipd_roller",'
+        '  "ref": "latest",'
+        '  "tag": "version"'
+        '}'
+      priority: 40
+      execution_timeout_secs: 7800
+      caches {
+        name: "builder"
+        path: "builder"
+      }
+      service_account: "pigweed-roller@pigweed.google.com.iam.gserviceaccount.com"
+      experimental: NO
+      experiments {
+        key: "luci.recipes.use_python3"
+        value: 100
+      }
+      experiments {
+        key: "luci.use_realms"
+        value: 100
+      }
+    }
+    builders {
+      name: "mingw64-roller"
+      swarming_host: "chromium-swarm.appspot.com"
+      dimensions: "1800:cores:2"
+      dimensions: "cpu:x64|x86-64"
+      dimensions: "os:Debian"
+      dimensions: "pool:luci.pigweed.ci"
+      exe {
+        cipd_package: "pigweed/infra/recipe_bundles/pigweed.googlesource.com/infra/recipes"
+        cipd_version: "refs/heads/main"
+        cmd: "luciexe"
+      }
+      properties:
+        '{'
+        '  "$pigweed/checkout": {'
+        '    "branch": "main",'
+        '    "equivalent_remotes": [],'
+        '    "match_branch": true,'
+        '    "remote": "https://pigweed.googlesource.com/pigweed/pigweed",'
+        '    "use_repo": false'
+        '  },'
+        '  "allow_mismatched_refs": false,'
+        '  "bot_commit": true,'
+        '  "cipd_json_path": "pw_env_setup/py/pw_env_setup/cipd_setup/pigweed.json",'
+        '  "dry_run": false,'
+        '  "package_name": "mingw64",'
+        '  "package_spec": "pigweed/third_party/mingw64-x86_64-win32-seh/${platform}",'
+        '  "recipe": "cipd_roller",'
+        '  "ref": "latest",'
+        '  "tag": "version"'
+        '}'
+      priority: 40
+      execution_timeout_secs: 7800
+      caches {
+        name: "builder"
+        path: "builder"
+      }
+      service_account: "pigweed-roller@pigweed.google.com.iam.gserviceaccount.com"
+      experimental: NO
+      experiments {
+        key: "luci.recipes.use_python3"
+        value: 100
+      }
+      experiments {
+        key: "luci.use_realms"
+        value: 100
+      }
+    }
+    builders {
+      name: "ninja-roller"
+      swarming_host: "chromium-swarm.appspot.com"
+      dimensions: "1800:cores:2"
+      dimensions: "cpu:x64|x86-64"
+      dimensions: "os:Debian"
+      dimensions: "pool:luci.pigweed.ci"
+      exe {
+        cipd_package: "pigweed/infra/recipe_bundles/pigweed.googlesource.com/infra/recipes"
+        cipd_version: "refs/heads/main"
+        cmd: "luciexe"
+      }
+      properties:
+        '{'
+        '  "$pigweed/checkout": {'
+        '    "branch": "main",'
+        '    "equivalent_remotes": [],'
+        '    "match_branch": true,'
+        '    "remote": "https://pigweed.googlesource.com/pigweed/pigweed",'
+        '    "use_repo": false'
+        '  },'
+        '  "allow_mismatched_refs": false,'
+        '  "bot_commit": true,'
+        '  "cipd_json_path": "pw_env_setup/py/pw_env_setup/cipd_setup/pigweed.json",'
+        '  "dry_run": false,'
+        '  "package_name": "ninja",'
+        '  "package_spec": "infra/3pp/tools/ninja/${platform}",'
+        '  "recipe": "cipd_roller",'
+        '  "ref": "latest",'
+        '  "tag": "version"'
+        '}'
+      priority: 40
+      execution_timeout_secs: 7800
+      caches {
+        name: "builder"
+        path: "builder"
+      }
+      service_account: "pigweed-roller@pigweed.google.com.iam.gserviceaccount.com"
+      experimental: NO
+      experiments {
+        key: "luci.recipes.use_python3"
+        value: 100
+      }
+      experiments {
+        key: "luci.use_realms"
+        value: 100
+      }
+    }
+    builders {
+      name: "opendice-boringssl-roller"
+      swarming_host: "chromium-swarm.appspot.com"
+      dimensions: "1800:cores:2"
+      dimensions: "cpu:x64|x86-64"
+      dimensions: "os:Debian"
+      dimensions: "pool:luci.pigweed.ci"
+      exe {
+        cipd_package: "pigweed/infra/recipe_bundles/pigweed.googlesource.com/infra/recipes"
+        cipd_version: "refs/heads/main"
+        cmd: "luciexe"
+      }
+      properties:
+        '{'
+        '  "$pigweed/checkout": {'
+        '    "branch": "main",'
+        '    "equivalent_remotes": [],'
+        '    "match_branch": true,'
+        '    "remote": "https://pigweed.googlesource.com/open-dice",'
+        '    "use_repo": false'
+        '  },'
+        '  "$pigweed/cq_deps": {'
+        '    "disabled": true'
+        '  },'
+        '  "always_cc": false,'
+        '  "bot_commit": true,'
+        '  "cc_authors_on_rolls": false,'
+        '  "cc_domains": [],'
+        '  "cc_reviewers_on_rolls": false,'
+        '  "dry_run": false,'
+        '  "recipe": "submodule_roller",'
+        '  "submodule_branch": null,'
+        '  "submodule_name": "boringssl",'
+        '  "submodule_path": "third_party/boringssl/src"'
+        '}'
+      priority: 40
+      execution_timeout_secs: 7200
+      caches {
+        name: "builder"
+        path: "builder"
+      }
+      service_account: "pigweed-integration-roller@pigweed.google.com.iam.gserviceaccount.com"
+      experimental: NO
+      experiments {
+        key: "luci.recipes.use_python3"
+        value: 100
+      }
+      experiments {
+        key: "luci.use_realms"
+        value: 100
+      }
+    }
+    builders {
+      name: "opendice-pigweed-roller"
+      swarming_host: "chromium-swarm.appspot.com"
+      dimensions: "1800:cores:2"
+      dimensions: "cpu:x64|x86-64"
+      dimensions: "os:Debian"
+      dimensions: "pool:luci.pigweed.ci"
+      exe {
+        cipd_package: "pigweed/infra/recipe_bundles/pigweed.googlesource.com/infra/recipes"
+        cipd_version: "refs/heads/main"
+        cmd: "luciexe"
+      }
+      properties:
+        '{'
+        '  "$pigweed/checkout": {'
+        '    "branch": "main",'
+        '    "equivalent_remotes": [],'
+        '    "match_branch": true,'
+        '    "remote": "https://pigweed.googlesource.com/open-dice",'
+        '    "use_repo": false'
+        '  },'
+        '  "$pigweed/cq_deps": {'
+        '    "ignore_errors": true'
+        '  },'
+        '  "always_cc": false,'
+        '  "bot_commit": true,'
+        '  "cc_authors_on_rolls": false,'
+        '  "cc_domains": [],'
+        '  "cc_reviewers_on_rolls": false,'
+        '  "dry_run": false,'
+        '  "recipe": "submodule_roller",'
+        '  "submodule_branch": null,'
+        '  "submodule_name": "pigweed",'
+        '  "submodule_path": "third_party/pigweed/src"'
+        '}'
+      priority: 40
+      execution_timeout_secs: 7200
+      caches {
+        name: "builder"
+        path: "builder"
+      }
+      service_account: "pigweed-integration-roller@pigweed.google.com.iam.gserviceaccount.com"
+      experimental: NO
+      experiments {
+        key: "luci.recipes.use_python3"
+        value: 100
+      }
+      experiments {
+        key: "luci.use_realms"
+        value: 100
+      }
+    }
+    builders {
+      name: "openocd-roller"
+      swarming_host: "chromium-swarm.appspot.com"
+      dimensions: "1800:cores:2"
+      dimensions: "cpu:x64|x86-64"
+      dimensions: "os:Debian"
+      dimensions: "pool:luci.pigweed.ci"
+      exe {
+        cipd_package: "pigweed/infra/recipe_bundles/pigweed.googlesource.com/infra/recipes"
+        cipd_version: "refs/heads/main"
+        cmd: "luciexe"
+      }
+      properties:
+        '{'
+        '  "$pigweed/checkout": {'
+        '    "branch": "main",'
+        '    "equivalent_remotes": [],'
+        '    "match_branch": true,'
+        '    "remote": "https://pigweed.googlesource.com/pigweed/pigweed",'
+        '    "use_repo": false'
+        '  },'
+        '  "allow_mismatched_refs": false,'
+        '  "bot_commit": true,'
+        '  "cipd_json_path": "pw_env_setup/py/pw_env_setup/cipd_setup/pigweed.json",'
+        '  "dry_run": false,'
+        '  "package_name": "openocd",'
+        '  "package_spec": "pigweed/third_party/openocd/${platform}",'
+        '  "recipe": "cipd_roller",'
+        '  "ref": "latest",'
+        '  "tag": "git_revision"'
+        '}'
+      priority: 40
+      execution_timeout_secs: 7800
+      caches {
+        name: "builder"
+        path: "builder"
+      }
+      service_account: "pigweed-roller@pigweed.google.com.iam.gserviceaccount.com"
+      experimental: NO
+      experiments {
+        key: "luci.recipes.use_python3"
+        value: 100
+      }
+      experiments {
+        key: "luci.use_realms"
+        value: 100
+      }
+    }
+    builders {
+      name: "pigweed-experimental-roller"
+      swarming_host: "chromium-swarm.appspot.com"
+      dimensions: "1800:cores:2"
+      dimensions: "cpu:x64|x86-64"
+      dimensions: "os:Debian"
+      dimensions: "pool:luci.pigweed.ci"
+      exe {
+        cipd_package: "pigweed/infra/recipe_bundles/pigweed.googlesource.com/infra/recipes"
+        cipd_version: "refs/heads/main"
+        cmd: "luciexe"
+      }
+      properties:
+        '{'
+        '  "$pigweed/checkout": {'
+        '    "branch": "main",'
+        '    "equivalent_remotes": [],'
+        '    "match_branch": true,'
+        '    "remote": "https://pigweed.googlesource.com/pigweed/experimental",'
+        '    "use_repo": false'
+        '  },'
+        '  "$pigweed/cq_deps": {'
+        '    "ignore_errors": true'
+        '  },'
+        '  "always_cc": false,'
+        '  "bot_commit": true,'
+        '  "cc_authors_on_rolls": true,'
+        '  "cc_domains": ['
+        '    "google.com"'
+        '  ],'
+        '  "cc_reviewers_on_rolls": false,'
+        '  "dry_run": false,'
+        '  "recipe": "submodule_roller",'
+        '  "submodule_branch": null,'
+        '  "submodule_name": "third_party/pigweed",'
+        '  "submodule_path": "third_party/pigweed"'
+        '}'
+      priority: 40
+      execution_timeout_secs: 5400
+      caches {
+        name: "builder"
+        path: "builder"
+      }
+      service_account: "pigweed-integration-roller@pigweed.google.com.iam.gserviceaccount.com"
+      experimental: NO
+      experiments {
+        key: "luci.recipes.use_python3"
+        value: 100
+      }
+      experiments {
+        key: "luci.use_realms"
+        value: 100
+      }
+    }
+    builders {
+      name: "pigweed-sample-project-roller"
+      swarming_host: "chromium-swarm.appspot.com"
+      dimensions: "1800:cores:2"
+      dimensions: "cpu:x64|x86-64"
+      dimensions: "os:Debian"
+      dimensions: "pool:luci.pigweed.ci"
+      exe {
+        cipd_package: "pigweed/infra/recipe_bundles/pigweed.googlesource.com/infra/recipes"
+        cipd_version: "refs/heads/main"
+        cmd: "luciexe"
+      }
+      properties:
+        '{'
+        '  "$pigweed/checkout": {'
+        '    "branch": "main",'
+        '    "equivalent_remotes": [],'
+        '    "match_branch": true,'
+        '    "remote": "https://pigweed.googlesource.com/pigweed/sample_project",'
+        '    "use_repo": false'
+        '  },'
+        '  "$pigweed/cq_deps": {'
+        '    "ignore_errors": true'
+        '  },'
+        '  "always_cc": false,'
+        '  "bot_commit": true,'
+        '  "cc_authors_on_rolls": true,'
+        '  "cc_domains": ['
+        '    "google.com"'
+        '  ],'
+        '  "cc_reviewers_on_rolls": false,'
+        '  "dry_run": false,'
+        '  "recipe": "submodule_roller",'
+        '  "submodule_branch": null,'
+        '  "submodule_name": "third_party/pigweed",'
+        '  "submodule_path": "third_party/pigweed"'
+        '}'
+      priority: 40
+      execution_timeout_secs: 5400
+      caches {
+        name: "builder"
+        path: "builder"
+      }
+      service_account: "pigweed-integration-roller@pigweed.google.com.iam.gserviceaccount.com"
+      experimental: NO
+      experiments {
+        key: "luci.recipes.use_python3"
+        value: 100
+      }
+      experiments {
+        key: "luci.use_realms"
+        value: 100
+      }
+    }
+    builders {
+      name: "pigweed-update-python-versions"
+      swarming_host: "chromium-swarm.appspot.com"
+      dimensions: "1800:cores:2"
+      dimensions: "cpu:x64|x86-64"
+      dimensions: "os:Debian"
+      dimensions: "pool:luci.pigweed.ci"
+      exe {
+        cipd_package: "pigweed/infra/recipe_bundles/pigweed.googlesource.com/infra/recipes"
+        cipd_version: "refs/heads/main"
+        cmd: "luciexe"
+      }
+      properties:
+        '{'
+        '  "$pigweed/checkout": {'
+        '    "branch": "main",'
+        '    "equivalent_remotes": [],'
+        '    "match_branch": true,'
+        '    "remote": "https://pigweed.googlesource.com/pigweed/pigweed",'
+        '    "use_repo": false'
+        '  },'
+        '  "$pigweed/environment": {'
+        '    "config_file": "pw_env_setup/config.json"'
+        '  },'
+        '  "bot_commit": true,'
+        '  "path_to_constraint_file": "pw_env_setup/py/pw_env_setup/virtualenv_setup/constraint.list",'
+        '  "recipe": "update_python_versions"'
+        '}'
+      priority: 40
+      execution_timeout_secs: 7800
+      caches {
+        name: "builder"
+        path: "builder"
+      }
+      caches {
+        name: "pip"
+        path: "pip"
+        wait_for_warm_cache_secs: 60
+      }
+      service_account: "pigweed-roller@pigweed.google.com.iam.gserviceaccount.com"
+      experiments {
+        key: "luci.recipes.use_python3"
+        value: 100
+      }
+      experiments {
+        key: "luci.use_realms"
+        value: 100
+      }
+    }
+    builders {
+      name: "protoc-gen-go-roller"
+      swarming_host: "chromium-swarm.appspot.com"
+      dimensions: "1800:cores:2"
+      dimensions: "cpu:x64|x86-64"
+      dimensions: "os:Debian"
+      dimensions: "pool:luci.pigweed.ci"
+      exe {
+        cipd_package: "pigweed/infra/recipe_bundles/pigweed.googlesource.com/infra/recipes"
+        cipd_version: "refs/heads/main"
+        cmd: "luciexe"
+      }
+      properties:
+        '{'
+        '  "$pigweed/checkout": {'
+        '    "branch": "main",'
+        '    "equivalent_remotes": [],'
+        '    "match_branch": true,'
+        '    "remote": "https://pigweed.googlesource.com/pigweed/pigweed",'
+        '    "use_repo": false'
+        '  },'
+        '  "allow_mismatched_refs": false,'
+        '  "bot_commit": true,'
+        '  "cipd_json_path": "pw_env_setup/py/pw_env_setup/cipd_setup/pigweed.json",'
+        '  "dry_run": false,'
+        '  "package_name": "protoc-gen-go",'
+        '  "package_spec": "pigweed/third_party/protoc-gen-go/${platform}",'
+        '  "recipe": "cipd_roller",'
+        '  "ref": "latest",'
+        '  "tag": "version"'
+        '}'
+      priority: 40
+      execution_timeout_secs: 7800
+      caches {
+        name: "builder"
+        path: "builder"
+      }
+      service_account: "pigweed-roller@pigweed.google.com.iam.gserviceaccount.com"
+      experimental: NO
+      experiments {
+        key: "luci.recipes.use_python3"
+        value: 100
+      }
+      experiments {
+        key: "luci.use_realms"
+        value: 100
+      }
+    }
+    builders {
+      name: "qemu-roller"
+      swarming_host: "chromium-swarm.appspot.com"
+      dimensions: "1800:cores:2"
+      dimensions: "cpu:x64|x86-64"
+      dimensions: "os:Debian"
+      dimensions: "pool:luci.pigweed.ci"
+      exe {
+        cipd_package: "pigweed/infra/recipe_bundles/pigweed.googlesource.com/infra/recipes"
+        cipd_version: "refs/heads/main"
+        cmd: "luciexe"
+      }
+      properties:
+        '{'
+        '  "$pigweed/checkout": {'
+        '    "branch": "main",'
+        '    "equivalent_remotes": [],'
+        '    "match_branch": true,'
+        '    "remote": "https://pigweed.googlesource.com/pigweed/pigweed",'
+        '    "use_repo": false'
+        '  },'
+        '  "allow_mismatched_refs": false,'
+        '  "bot_commit": true,'
+        '  "cipd_json_path": "pw_env_setup/py/pw_env_setup/cipd_setup/pigweed.json",'
+        '  "dry_run": false,'
+        '  "package_name": "qemu",'
+        '  "package_spec": "fuchsia/third_party/qemu/${platform}",'
+        '  "recipe": "cipd_roller",'
+        '  "ref": "latest",'
+        '  "tag": "git_revision"'
+        '}'
+      priority: 40
+      execution_timeout_secs: 7800
+      caches {
+        name: "builder"
+        path: "builder"
+      }
+      service_account: "pigweed-roller@pigweed.google.com.iam.gserviceaccount.com"
+      experimental: NO
+      experiments {
+        key: "luci.recipes.use_python3"
+        value: 100
+      }
+      experiments {
+        key: "luci.use_realms"
+        value: 100
+      }
+    }
+    builders {
+      name: "rbe-client-roller"
+      swarming_host: "chromium-swarm.appspot.com"
+      dimensions: "1800:cores:2"
+      dimensions: "cpu:x64|x86-64"
+      dimensions: "os:Debian"
+      dimensions: "pool:luci.pigweed.ci"
+      exe {
+        cipd_package: "pigweed/infra/recipe_bundles/pigweed.googlesource.com/infra/recipes"
+        cipd_version: "refs/heads/main"
+        cmd: "luciexe"
+      }
+      properties:
+        '{'
+        '  "$pigweed/checkout": {'
+        '    "branch": "main",'
+        '    "equivalent_remotes": [],'
+        '    "match_branch": true,'
+        '    "remote": "https://pigweed.googlesource.com/pigweed/pigweed",'
+        '    "use_repo": false'
+        '  },'
+        '  "allow_mismatched_refs": true,'
+        '  "bot_commit": true,'
+        '  "cipd_json_path": "pw_env_setup/py/pw_env_setup/cipd_setup/pigweed.json",'
+        '  "dry_run": true,'
+        '  "package_name": "rbe-client",'
+        '  "package_spec": "infra/rbe/client/${platform}",'
+        '  "recipe": "cipd_roller",'
+        '  "ref": "latest",'
+        '  "tag": "re_client_version"'
+        '}'
+      priority: 50
+      execution_timeout_secs: 7800
+      caches {
+        name: "builder"
+        path: "builder"
+      }
+      service_account: "pigweed-roller@pigweed.google.com.iam.gserviceaccount.com"
+      experimental: YES
+      experiments {
+        key: "luci.recipes.use_python3"
+        value: 100
+      }
+      experiments {
+        key: "luci.use_realms"
+        value: 100
+      }
+    }
+  }
+}
+buckets {
+  name: "try"
+  acls {
+    group: "all"
+  }
+  acls {
+    role: SCHEDULER
+    identity: "user:pigweed-try-builder@pigweed.google.com.iam.gserviceaccount.com"
+  }
+  acls {
+    role: SCHEDULER
+    group: "project-pigweed-tryjob-access"
+  }
+  swarming {
+    builders {
+      name: "envtest-linux-python2"
+      swarming_host: "chromium-swarm.appspot.com"
+      dimensions: "cores:16"
+      dimensions: "cpu:x64|x86-64"
+      dimensions: "os:Debian"
+      dimensions: "pool:luci.pigweed.try"
+      exe {
+        cipd_package: "pigweed/infra/recipe_bundles/pigweed.googlesource.com/infra/recipes"
+        cipd_version: "refs/heads/main"
+        cmd: "luciexe"
+      }
+      properties:
+        '{'
+        '  "$pigweed/checkout": {'
+        '    "branch": "main",'
+        '    "equivalent_remotes": [],'
+        '    "match_branch": true,'
+        '    "remote": "https://pigweed.googlesource.com/pigweed/pigweed",'
+        '    "use_repo": false'
+        '  },'
+        '  "command": "python -m pw_cli --directory $PW_PROJECT_ROOT --loglevel debug presubmit --step gn_gen_check",'
+        '  "environment_variables": ['
+        '    "PW_BOOTSTRAP_PYTHON=python2"'
+        '  ],'
+        '  "recipe": "envtest"'
+        '}'
+      priority: 40
+      execution_timeout_secs: 2700
+      caches {
+        name: "builder"
+        path: "builder"
+      }
+      caches {
+        name: "pip"
+        path: "pip"
+        wait_for_warm_cache_secs: 60
+      }
+      service_account: "pigweed-try-builder@pigweed.google.com.iam.gserviceaccount.com"
+      experiments {
+        key: "luci.recipes.use_python3"
+        value: 100
+      }
+      experiments {
+        key: "luci.use_realms"
+        value: 100
+      }
+    }
+    builders {
+      name: "envtest-linux-python3"
+      swarming_host: "chromium-swarm.appspot.com"
+      dimensions: "cores:16"
+      dimensions: "cpu:x64|x86-64"
+      dimensions: "os:Debian"
+      dimensions: "pool:luci.pigweed.try"
+      exe {
+        cipd_package: "pigweed/infra/recipe_bundles/pigweed.googlesource.com/infra/recipes"
+        cipd_version: "refs/heads/main"
+        cmd: "luciexe"
+      }
+      properties:
+        '{'
+        '  "$pigweed/checkout": {'
+        '    "branch": "main",'
+        '    "equivalent_remotes": [],'
+        '    "match_branch": true,'
+        '    "remote": "https://pigweed.googlesource.com/pigweed/pigweed",'
+        '    "use_repo": false'
+        '  },'
+        '  "command": "python -m pw_cli --directory $PW_PROJECT_ROOT --loglevel debug presubmit --step gn_gen_check",'
+        '  "environment_variables": ['
+        '    "PW_BOOTSTRAP_PYTHON=python3"'
+        '  ],'
+        '  "recipe": "envtest"'
+        '}'
+      priority: 40
+      execution_timeout_secs: 2700
+      caches {
+        name: "builder"
+        path: "builder"
+      }
+      caches {
+        name: "pip"
+        path: "pip"
+        wait_for_warm_cache_secs: 60
+      }
+      service_account: "pigweed-try-builder@pigweed.google.com.iam.gserviceaccount.com"
+      experiments {
+        key: "luci.recipes.use_python3"
+        value: 100
+      }
+      experiments {
+        key: "luci.use_realms"
+        value: 100
+      }
+    }
+    builders {
+      name: "envtest-mac"
+      swarming_host: "chromium-swarm.appspot.com"
+      dimensions: "cpu:x64|x86-64"
+      dimensions: "os:Mac"
+      dimensions: "pool:luci.pigweed.try"
+      exe {
+        cipd_package: "pigweed/infra/recipe_bundles/pigweed.googlesource.com/infra/recipes"
+        cipd_version: "refs/heads/main"
+        cmd: "luciexe"
+      }
+      properties:
+        '{'
+        '  "$pigweed/checkout": {'
+        '    "branch": "main",'
+        '    "equivalent_remotes": [],'
+        '    "match_branch": true,'
+        '    "remote": "https://pigweed.googlesource.com/pigweed/pigweed",'
+        '    "use_repo": false'
+        '  },'
+        '  "command": "python -m pw_cli --directory $PW_PROJECT_ROOT --loglevel debug presubmit --step gn_gen_check",'
+        '  "macos_sdk.version": "11c29",'
+        '  "recipe": "envtest"'
+        '}'
+      priority: 40
+      execution_timeout_secs: 2700
+      caches {
+        name: "builder"
+        path: "builder"
+      }
+      caches {
+        name: "macos_sdk"
+        path: "macos_sdk"
+        wait_for_warm_cache_secs: 120
+      }
+      caches {
+        name: "pip"
+        path: "pip"
+        wait_for_warm_cache_secs: 60
+      }
+      service_account: "pigweed-try-builder@pigweed.google.com.iam.gserviceaccount.com"
+      experiments {
+        key: "luci.recipes.use_python3"
+        value: 100
+      }
+      experiments {
+        key: "luci.use_realms"
+        value: 100
+      }
+    }
+    builders {
+      name: "envtest-windows"
+      swarming_host: "chromium-swarm.appspot.com"
+      dimensions: "cores:16"
+      dimensions: "cpu:x64|x86-64"
+      dimensions: "os:Windows-10"
+      dimensions: "pool:luci.pigweed.try"
+      exe {
+        cipd_package: "pigweed/infra/recipe_bundles/pigweed.googlesource.com/infra/recipes"
+        cipd_version: "refs/heads/main"
+        cmd: "luciexe"
+      }
+      properties:
+        '{'
+        '  "$pigweed/checkout": {'
+        '    "branch": "main",'
+        '    "equivalent_remotes": [],'
+        '    "match_branch": true,'
+        '    "remote": "https://pigweed.googlesource.com/pigweed/pigweed",'
+        '    "use_repo": false'
+        '  },'
+        '  "command": "python -m pw_cli --directory $PW_PROJECT_ROOT --loglevel debug presubmit --step gn_gen_check",'
+        '  "recipe": "envtest"'
+        '}'
+      priority: 40
+      execution_timeout_secs: 2700
+      caches {
+        name: "builder"
+        path: "builder"
+      }
+      caches {
+        name: "pip"
+        path: "pip"
+        wait_for_warm_cache_secs: 60
+      }
+      service_account: "pigweed-try-builder@pigweed.google.com.iam.gserviceaccount.com"
+      experiments {
+        key: "luci.recipes.use_python3"
+        value: 100
+      }
+      experiments {
+        key: "luci.use_realms"
+        value: 100
+      }
+    }
+    builders {
+      name: "experimental-envtest"
+      swarming_host: "chromium-swarm.appspot.com"
+      dimensions: "cores:16"
+      dimensions: "cpu:x64|x86-64"
+      dimensions: "os:Debian"
+      dimensions: "pool:luci.pigweed.try"
+      exe {
+        cipd_package: "pigweed/infra/recipe_bundles/pigweed.googlesource.com/infra/recipes"
+        cipd_version: "refs/heads/main"
+        cmd: "luciexe"
+      }
+      properties:
+        '{'
+        '  "$pigweed/checkout": {'
+        '    "branch": "main",'
+        '    "equivalent_remotes": [],'
+        '    "match_branch": true,'
+        '    "remote": "https://pigweed.googlesource.com/pigweed/experimental",'
+        '    "use_repo": false'
+        '  },'
+        '  "command": "python -m pw_cli --directory $PW_PROJECT_ROOT --loglevel debug presubmit --step gn_gen_check",'
+        '  "dry_run": true,'
+        '  "recipe": "envtest"'
+        '}'
+      priority: 50
+      execution_timeout_secs: 3600
+      caches {
+        name: "builder"
+        path: "builder"
+      }
+      caches {
+        name: "pip"
+        path: "pip"
+        wait_for_warm_cache_secs: 60
+      }
+      service_account: "pigweed-try-builder@pigweed.google.com.iam.gserviceaccount.com"
+      experimental: YES
+      experiments {
+        key: "luci.recipes.use_python3"
+        value: 100
+      }
+      experiments {
+        key: "luci.use_realms"
+        value: 100
+      }
+    }
+    builders {
+      name: "experimental-full"
+      swarming_host: "chromium-swarm.appspot.com"
+      dimensions: "cores:16"
+      dimensions: "cpu:x64|x86-64"
+      dimensions: "os:Debian"
+      dimensions: "pool:luci.pigweed.try"
+      exe {
+        cipd_package: "pigweed/infra/recipe_bundles/pigweed.googlesource.com/infra/recipes"
+        cipd_version: "refs/heads/main"
+        cmd: "luciexe"
+      }
+      properties:
+        '{'
+        '  "$pigweed/checkout": {'
+        '    "branch": "main",'
+        '    "equivalent_remotes": [],'
+        '    "match_branch": true,'
+        '    "remote": "https://pigweed.googlesource.com/pigweed/experimental",'
+        '    "use_repo": false'
+        '  },'
+        '  "$pigweed/environment": {'
+        '    "config_file": "env_setup.json",'
+        '    "relative_pigweed_root": "third_party/pigweed",'
+        '    "root_variable_name": "PIGWEED_EXPERIMENTAL_ROOT"'
+        '  },'
+        '  "$pigweed/pw_presubmit": {'
+        '    "program": ['
+        '      "full"'
+        '    ]'
+        '  },'
+        '  "program": ['
+        '    "full"'
+        '  ],'
+        '  "recipe": "pw_presubmit"'
+        '}'
+      priority: 40
+      execution_timeout_secs: 3600
+      caches {
+        name: "builder"
+        path: "builder"
+      }
+      caches {
+        name: "pip"
+        path: "pip"
+        wait_for_warm_cache_secs: 60
+      }
+      service_account: "pigweed-try-builder@pigweed.google.com.iam.gserviceaccount.com"
+      experiments {
+        key: "luci.recipes.use_python3"
+        value: 100
+      }
+      experiments {
+        key: "luci.use_realms"
+        value: 100
+      }
+    }
+    builders {
+      name: "experimental-lintformat"
+      swarming_host: "chromium-swarm.appspot.com"
+      dimensions: "cores:16"
+      dimensions: "cpu:x64|x86-64"
+      dimensions: "os:Debian"
+      dimensions: "pool:luci.pigweed.try"
+      exe {
+        cipd_package: "pigweed/infra/recipe_bundles/pigweed.googlesource.com/infra/recipes"
+        cipd_version: "refs/heads/main"
+        cmd: "luciexe"
+      }
+      properties:
+        '{'
+        '  "$pigweed/checkout": {'
+        '    "branch": "main",'
+        '    "equivalent_remotes": [],'
+        '    "match_branch": true,'
+        '    "remote": "https://pigweed.googlesource.com/pigweed/experimental",'
+        '    "use_repo": false'
+        '  },'
+        '  "$pigweed/environment": {'
+        '    "config_file": "env_setup.json",'
+        '    "relative_pigweed_root": "third_party/pigweed",'
+        '    "root_variable_name": "PIGWEED_EXPERIMENTAL_ROOT"'
+        '  },'
+        '  "$pigweed/pw_presubmit": {'
+        '    "only_on_changed_files": true,'
+        '    "program": ['
+        '      "lintformat"'
+        '    ]'
+        '  },'
+        '  "dry_run": true,'
+        '  "only_on_changed_files": true,'
+        '  "program": ['
+        '    "lintformat"'
+        '  ],'
+        '  "recipe": "pw_presubmit"'
+        '}'
+      priority: 50
+      execution_timeout_secs: 1500
+      caches {
+        name: "builder"
+        path: "builder"
+      }
+      caches {
+        name: "pip"
+        path: "pip"
+        wait_for_warm_cache_secs: 60
+      }
+      service_account: "pigweed-try-builder@pigweed.google.com.iam.gserviceaccount.com"
+      experimental: YES
+      experiments {
+        key: "luci.recipes.use_python3"
+        value: 100
+      }
+      experiments {
+        key: "luci.use_realms"
+        value: 100
+      }
+    }
+    builders {
+      name: "experimental-lintformat-full"
+      swarming_host: "chromium-swarm.appspot.com"
+      dimensions: "cores:16"
+      dimensions: "cpu:x64|x86-64"
+      dimensions: "os:Debian"
+      dimensions: "pool:luci.pigweed.try"
+      exe {
+        cipd_package: "pigweed/infra/recipe_bundles/pigweed.googlesource.com/infra/recipes"
+        cipd_version: "refs/heads/main"
+        cmd: "luciexe"
+      }
+      properties:
+        '{'
+        '  "$pigweed/checkout": {'
+        '    "branch": "main",'
+        '    "equivalent_remotes": [],'
+        '    "match_branch": true,'
+        '    "remote": "https://pigweed.googlesource.com/pigweed/experimental",'
+        '    "use_repo": false'
+        '  },'
+        '  "$pigweed/environment": {'
+        '    "config_file": "env_setup.json",'
+        '    "relative_pigweed_root": "third_party/pigweed",'
+        '    "root_variable_name": "PIGWEED_EXPERIMENTAL_ROOT"'
+        '  },'
+        '  "$pigweed/pw_presubmit": {'
+        '    "only_on_changed_files": false,'
+        '    "program": ['
+        '      "lintformat"'
+        '    ]'
+        '  },'
+        '  "dry_run": true,'
+        '  "only_on_changed_files": false,'
+        '  "program": ['
+        '    "lintformat"'
+        '  ],'
+        '  "recipe": "pw_presubmit"'
+        '}'
+      priority: 50
+      execution_timeout_secs: 1500
+      caches {
+        name: "builder"
+        path: "builder"
+      }
+      caches {
+        name: "pip"
+        path: "pip"
+        wait_for_warm_cache_secs: 60
+      }
+      service_account: "pigweed-try-builder@pigweed.google.com.iam.gserviceaccount.com"
+      experimental: YES
+      experiments {
+        key: "luci.recipes.use_python3"
+        value: 100
+      }
+      experiments {
+        key: "luci.use_realms"
+        value: 100
+      }
+    }
+    builders {
+      name: "pigweed-lintformat"
+      swarming_host: "chromium-swarm.appspot.com"
+      dimensions: "cores:16"
+      dimensions: "cpu:x64|x86-64"
+      dimensions: "os:Debian"
+      dimensions: "pool:luci.pigweed.try"
+      exe {
+        cipd_package: "pigweed/infra/recipe_bundles/pigweed.googlesource.com/infra/recipes"
+        cipd_version: "refs/heads/main"
+        cmd: "luciexe"
+      }
+      properties:
+        '{'
+        '  "$pigweed/checkout": {'
+        '    "branch": "main",'
+        '    "equivalent_remotes": [],'
+        '    "match_branch": true,'
+        '    "remote": "https://pigweed.googlesource.com/pigweed/pigweed",'
+        '    "use_repo": false'
+        '  },'
+        '  "$pigweed/environment": {'
+        '    "config_file": "pw_env_setup/config.json"'
+        '  },'
+        '  "$pigweed/pw_presubmit": {'
+        '    "only_on_changed_files": true,'
+        '    "program": ['
+        '      "lintformat"'
+        '    ]'
+        '  },'
+        '  "only_on_changed_files": true,'
+        '  "program": ['
+        '    "lintformat"'
+        '  ],'
+        '  "recipe": "pw_presubmit"'
+        '}'
+      priority: 40
+      execution_timeout_secs: 1500
+      caches {
+        name: "builder"
+        path: "builder"
+      }
+      caches {
+        name: "pip"
+        path: "pip"
+        wait_for_warm_cache_secs: 60
+      }
+      service_account: "pigweed-try-builder@pigweed.google.com.iam.gserviceaccount.com"
+      experiments {
+        key: "luci.recipes.use_python3"
+        value: 100
+      }
+      experiments {
+        key: "luci.use_realms"
+        value: 100
+      }
+    }
+    builders {
+      name: "pigweed-lintformat-full"
+      swarming_host: "chromium-swarm.appspot.com"
+      dimensions: "cores:16"
+      dimensions: "cpu:x64|x86-64"
+      dimensions: "os:Debian"
+      dimensions: "pool:luci.pigweed.try"
+      exe {
+        cipd_package: "pigweed/infra/recipe_bundles/pigweed.googlesource.com/infra/recipes"
+        cipd_version: "refs/heads/main"
+        cmd: "luciexe"
+      }
+      properties:
+        '{'
+        '  "$pigweed/checkout": {'
+        '    "branch": "main",'
+        '    "equivalent_remotes": [],'
+        '    "match_branch": true,'
+        '    "remote": "https://pigweed.googlesource.com/pigweed/pigweed",'
+        '    "use_repo": false'
+        '  },'
+        '  "$pigweed/environment": {'
+        '    "config_file": "pw_env_setup/config.json"'
+        '  },'
+        '  "$pigweed/pw_presubmit": {'
+        '    "only_on_changed_files": false,'
+        '    "program": ['
+        '      "lintformat"'
+        '    ]'
+        '  },'
+        '  "only_on_changed_files": false,'
+        '  "program": ['
+        '    "lintformat"'
+        '  ],'
+        '  "recipe": "pw_presubmit"'
+        '}'
+      priority: 40
+      execution_timeout_secs: 1500
+      caches {
+        name: "builder"
+        path: "builder"
+      }
+      caches {
+        name: "pip"
+        path: "pip"
+        wait_for_warm_cache_secs: 60
+      }
+      service_account: "pigweed-try-builder@pigweed.google.com.iam.gserviceaccount.com"
+      experiments {
+        key: "luci.recipes.use_python3"
+        value: 100
+      }
+      experiments {
+        key: "luci.use_realms"
+        value: 100
+      }
+    }
+    builders {
+      name: "pigweed-linux-bazel-host-clang"
+      swarming_host: "chromium-swarm.appspot.com"
+      dimensions: "cores:16"
+      dimensions: "cpu:x64|x86-64"
+      dimensions: "os:Debian"
+      dimensions: "pool:luci.pigweed.try"
+      exe {
+        cipd_package: "pigweed/infra/recipe_bundles/pigweed.googlesource.com/infra/recipes"
+        cipd_version: "refs/heads/main"
+        cmd: "luciexe"
+      }
+      properties:
+        '{'
+        '  "$pigweed/checkout": {'
+        '    "branch": "main",'
+        '    "equivalent_remotes": [],'
+        '    "match_branch": true,'
+        '    "remote": "https://pigweed.googlesource.com/pigweed/pigweed",'
+        '    "use_repo": false'
+        '  },'
+        '  "$pigweed/environment": {'
+        '    "config_file": "pw_env_setup/config.json"'
+        '  },'
+        '  "$pigweed/pw_presubmit": {'
+        '    "step": ['
+        '      "bazel_test"'
+        '    ]'
+        '  },'
+        '  "recipe": "pw_presubmit",'
+        '  "step": ['
+        '    "bazel_test"'
+        '  ]'
+        '}'
+      priority: 40
+      execution_timeout_secs: 2700
+      caches {
+        name: "bazel"
+        path: "bazel"
+        wait_for_warm_cache_secs: 60
+      }
+      caches {
+        name: "builder"
+        path: "builder"
+      }
+      caches {
+        name: "pip"
+        path: "pip"
+        wait_for_warm_cache_secs: 60
+      }
+      service_account: "pigweed-try-builder@pigweed.google.com.iam.gserviceaccount.com"
+      experiments {
+        key: "luci.recipes.use_python3"
+        value: 100
+      }
+      experiments {
+        key: "luci.use_realms"
+        value: 100
+      }
+    }
+    builders {
+      name: "pigweed-linux-cmake-host-clang"
+      swarming_host: "chromium-swarm.appspot.com"
+      dimensions: "cores:16"
+      dimensions: "cpu:x64|x86-64"
+      dimensions: "os:Debian"
+      dimensions: "pool:luci.pigweed.try"
+      exe {
+        cipd_package: "pigweed/infra/recipe_bundles/pigweed.googlesource.com/infra/recipes"
+        cipd_version: "refs/heads/main"
+        cmd: "luciexe"
+      }
+      properties:
+        '{'
+        '  "$pigweed/checkout": {'
+        '    "branch": "main",'
+        '    "equivalent_remotes": [],'
+        '    "match_branch": true,'
+        '    "remote": "https://pigweed.googlesource.com/pigweed/pigweed",'
+        '    "use_repo": false'
+        '  },'
+        '  "$pigweed/environment": {'
+        '    "config_file": "pw_env_setup/config.json"'
+        '  },'
+        '  "$pigweed/pw_presubmit": {'
+        '    "step": ['
+        '      "cmake_tests"'
+        '    ]'
+        '  },'
+        '  "recipe": "pw_presubmit",'
+        '  "step": ['
+        '    "cmake_tests"'
+        '  ]'
+        '}'
+      priority: 40
+      execution_timeout_secs: 2700
+      caches {
+        name: "builder"
+        path: "builder"
+      }
+      caches {
+        name: "pip"
+        path: "pip"
+        wait_for_warm_cache_secs: 60
+      }
+      service_account: "pigweed-try-builder@pigweed.google.com.iam.gserviceaccount.com"
+      experiments {
+        key: "luci.recipes.use_python3"
+        value: 100
+      }
+      experiments {
+        key: "luci.use_realms"
+        value: 100
+      }
+    }
+    builders {
+      name: "pigweed-linux-compatibility-host-disco"
+      swarming_host: "chromium-swarm.appspot.com"
+      dimensions: "cores:16"
+      dimensions: "cpu:x64|x86-64"
+      dimensions: "os:Debian"
+      dimensions: "pool:luci.pigweed.try"
+      exe {
+        cipd_package: "pigweed/infra/recipe_bundles/pigweed.googlesource.com/infra/recipes"
+        cipd_version: "refs/heads/main"
+        cmd: "luciexe"
+      }
+      properties:
+        '{'
+        '  "$pigweed/checkout": {'
+        '    "branch": "main",'
+        '    "equivalent_remotes": [],'
+        '    "match_branch": true,'
+        '    "remote": "https://pigweed.googlesource.com/pigweed/pigweed",'
+        '    "use_repo": false'
+        '  },'
+        '  "$pigweed/environment": {'
+        '    "config_file": "pw_env_setup/compatibility.json"'
+        '  },'
+        '  "$pigweed/pw_presubmit": {'
+        '    "step": ['
+        '      "gn_full_build_check"'
+        '    ]'
+        '  },'
+        '  "recipe": "pw_presubmit",'
+        '  "step": ['
+        '    "gn_full_build_check"'
+        '  ]'
+        '}'
+      priority: 40
+      execution_timeout_secs: 2700
+      caches {
+        name: "builder"
+        path: "builder"
+      }
+      caches {
+        name: "pip"
+        path: "pip"
+        wait_for_warm_cache_secs: 60
+      }
+      service_account: "pigweed-try-builder@pigweed.google.com.iam.gserviceaccount.com"
+      experiments {
+        key: "luci.recipes.use_python3"
+        value: 100
+      }
+      experiments {
+        key: "luci.use_realms"
+        value: 100
+      }
+    }
+    builders {
+      name: "pigweed-linux-gn-crypto-boringssl"
+      swarming_host: "chromium-swarm.appspot.com"
+      dimensions: "cores:16"
+      dimensions: "cpu:x64|x86-64"
+      dimensions: "os:Debian"
+      dimensions: "pool:luci.pigweed.try"
+      exe {
+        cipd_package: "pigweed/infra/recipe_bundles/pigweed.googlesource.com/infra/recipes"
+        cipd_version: "refs/heads/main"
+        cmd: "luciexe"
+      }
+      properties:
+        '{'
+        '  "$pigweed/checkout": {'
+        '    "branch": "main",'
+        '    "equivalent_remotes": [],'
+        '    "match_branch": true,'
+        '    "remote": "https://pigweed.googlesource.com/pigweed/pigweed",'
+        '    "use_repo": false'
+        '  },'
+        '  "$pigweed/environment": {'
+        '    "config_file": "pw_env_setup/config.json"'
+        '  },'
+        '  "$pigweed/pw_presubmit": {'
+        '    "step": ['
+        '      "gn_crypto_boringssl_build"'
+        '    ]'
+        '  },'
+        '  "recipe": "pw_presubmit",'
+        '  "step": ['
+        '    "gn_crypto_boringssl_build"'
+        '  ]'
+        '}'
+      priority: 40
+      execution_timeout_secs: 2700
+      caches {
+        name: "builder"
+        path: "builder"
+      }
+      caches {
+        name: "pip"
+        path: "pip"
+        wait_for_warm_cache_secs: 60
+      }
+      service_account: "pigweed-try-builder@pigweed.google.com.iam.gserviceaccount.com"
+      experiments {
+        key: "luci.recipes.use_python3"
+        value: 100
+      }
+      experiments {
+        key: "luci.use_realms"
+        value: 100
+      }
+    }
+    builders {
+      name: "pigweed-linux-gn-crypto-build-micro-ecc"
+      swarming_host: "chromium-swarm.appspot.com"
+      dimensions: "cores:16"
+      dimensions: "cpu:x64|x86-64"
+      dimensions: "os:Debian"
+      dimensions: "pool:luci.pigweed.try"
+      exe {
+        cipd_package: "pigweed/infra/recipe_bundles/pigweed.googlesource.com/infra/recipes"
+        cipd_version: "refs/heads/main"
+        cmd: "luciexe"
+      }
+      properties:
+        '{'
+        '  "$pigweed/checkout": {'
+        '    "branch": "main",'
+        '    "equivalent_remotes": [],'
+        '    "match_branch": true,'
+        '    "remote": "https://pigweed.googlesource.com/pigweed/pigweed",'
+        '    "use_repo": false'
+        '  },'
+        '  "$pigweed/environment": {'
+        '    "config_file": "pw_env_setup/config.json"'
+        '  },'
+        '  "$pigweed/pw_presubmit": {'
+        '    "step": ['
+        '      "gn_crypto_micro_ecc_build"'
+        '    ]'
+        '  },'
+        '  "recipe": "pw_presubmit",'
+        '  "step": ['
+        '    "gn_crypto_micro_ecc_build"'
+        '  ]'
+        '}'
+      priority: 40
+      execution_timeout_secs: 2700
+      caches {
+        name: "builder"
+        path: "builder"
+      }
+      caches {
+        name: "pip"
+        path: "pip"
+        wait_for_warm_cache_secs: 60
+      }
+      service_account: "pigweed-try-builder@pigweed.google.com.iam.gserviceaccount.com"
+      experiments {
+        key: "luci.recipes.use_python3"
+        value: 100
+      }
+      experiments {
+        key: "luci.use_realms"
+        value: 100
+      }
+    }
+    builders {
+      name: "pigweed-linux-gn-crypto-mbedtls"
+      swarming_host: "chromium-swarm.appspot.com"
+      dimensions: "cores:16"
+      dimensions: "cpu:x64|x86-64"
+      dimensions: "os:Debian"
+      dimensions: "pool:luci.pigweed.try"
+      exe {
+        cipd_package: "pigweed/infra/recipe_bundles/pigweed.googlesource.com/infra/recipes"
+        cipd_version: "refs/heads/main"
+        cmd: "luciexe"
+      }
+      properties:
+        '{'
+        '  "$pigweed/checkout": {'
+        '    "branch": "main",'
+        '    "equivalent_remotes": [],'
+        '    "match_branch": true,'
+        '    "remote": "https://pigweed.googlesource.com/pigweed/pigweed",'
+        '    "use_repo": false'
+        '  },'
+        '  "$pigweed/environment": {'
+        '    "config_file": "pw_env_setup/config.json"'
+        '  },'
+        '  "$pigweed/pw_presubmit": {'
+        '    "step": ['
+        '      "gn_crypto_mbedtls_build"'
+        '    ]'
+        '  },'
+        '  "recipe": "pw_presubmit",'
+        '  "step": ['
+        '    "gn_crypto_mbedtls_build"'
+        '  ]'
+        '}'
+      priority: 40
+      execution_timeout_secs: 2700
+      caches {
+        name: "builder"
+        path: "builder"
+      }
+      caches {
+        name: "pip"
+        path: "pip"
+        wait_for_warm_cache_secs: 60
+      }
+      service_account: "pigweed-try-builder@pigweed.google.com.iam.gserviceaccount.com"
+      experiments {
+        key: "luci.recipes.use_python3"
+        value: 100
+      }
+      experiments {
+        key: "luci.use_realms"
+        value: 100
+      }
+    }
+    builders {
+      name: "pigweed-linux-gn-hosttools"
+      swarming_host: "chromium-swarm.appspot.com"
+      dimensions: "cores:16"
+      dimensions: "cpu:x64|x86-64"
+      dimensions: "os:Debian"
+      dimensions: "pool:luci.pigweed.try"
+      exe {
+        cipd_package: "pigweed/infra/recipe_bundles/pigweed.googlesource.com/infra/recipes"
+        cipd_version: "refs/heads/main"
+        cmd: "luciexe"
+      }
+      properties:
+        '{'
+        '  "$pigweed/checkout": {'
+        '    "branch": "main",'
+        '    "equivalent_remotes": [],'
+        '    "match_branch": true,'
+        '    "remote": "https://pigweed.googlesource.com/pigweed/pigweed",'
+        '    "use_repo": false'
+        '  },'
+        '  "$pigweed/environment": {'
+        '    "config_file": "pw_env_setup/config.json"'
+        '  },'
+        '  "$pigweed/pw_presubmit": {'
+        '    "step": ['
+        '      "gn_host_tools"'
+        '    ]'
+        '  },'
+        '  "recipe": "pw_presubmit",'
+        '  "step": ['
+        '    "gn_host_tools"'
+        '  ]'
+        '}'
+      priority: 40
+      execution_timeout_secs: 2700
+      caches {
+        name: "builder"
+        path: "builder"
+      }
+      caches {
+        name: "go"
+        path: "go"
+        wait_for_warm_cache_secs: 120
+      }
+      caches {
+        name: "pip"
+        path: "pip"
+        wait_for_warm_cache_secs: 60
+      }
+      service_account: "pigweed-try-builder@pigweed.google.com.iam.gserviceaccount.com"
+      experiments {
+        key: "luci.recipes.use_python3"
+        value: 100
+      }
+      experiments {
+        key: "luci.use_realms"
+        value: 100
+      }
+    }
+    builders {
+      name: "pigweed-linux-gn-nanopb"
+      swarming_host: "chromium-swarm.appspot.com"
+      dimensions: "cores:16"
+      dimensions: "cpu:x64|x86-64"
+      dimensions: "os:Debian"
+      dimensions: "pool:luci.pigweed.try"
+      exe {
+        cipd_package: "pigweed/infra/recipe_bundles/pigweed.googlesource.com/infra/recipes"
+        cipd_version: "refs/heads/main"
+        cmd: "luciexe"
+      }
+      properties:
+        '{'
+        '  "$pigweed/checkout": {'
+        '    "branch": "main",'
+        '    "equivalent_remotes": [],'
+        '    "match_branch": true,'
+        '    "remote": "https://pigweed.googlesource.com/pigweed/pigweed",'
+        '    "use_repo": false'
+        '  },'
+        '  "$pigweed/environment": {'
+        '    "config_file": "pw_env_setup/config.json"'
+        '  },'
+        '  "$pigweed/pw_presubmit": {'
+        '    "step": ['
+        '      "gn_nanopb_build"'
+        '    ]'
+        '  },'
+        '  "recipe": "pw_presubmit",'
+        '  "step": ['
+        '    "gn_nanopb_build"'
+        '  ]'
+        '}'
+      priority: 40
+      execution_timeout_secs: 2700
+      caches {
+        name: "builder"
+        path: "builder"
+      }
+      caches {
+        name: "pip"
+        path: "pip"
+        wait_for_warm_cache_secs: 60
+      }
+      service_account: "pigweed-try-builder@pigweed.google.com.iam.gserviceaccount.com"
+      experiments {
+        key: "luci.recipes.use_python3"
+        value: 100
+      }
+      experiments {
+        key: "luci.use_realms"
+        value: 100
+      }
+    }
+    builders {
+      name: "pigweed-linux-gn-software-update"
+      swarming_host: "chromium-swarm.appspot.com"
+      dimensions: "cores:16"
+      dimensions: "cpu:x64|x86-64"
+      dimensions: "os:Debian"
+      dimensions: "pool:luci.pigweed.try"
+      exe {
+        cipd_package: "pigweed/infra/recipe_bundles/pigweed.googlesource.com/infra/recipes"
+        cipd_version: "refs/heads/main"
+        cmd: "luciexe"
+      }
+      properties:
+        '{'
+        '  "$pigweed/checkout": {'
+        '    "branch": "main",'
+        '    "equivalent_remotes": [],'
+        '    "match_branch": true,'
+        '    "remote": "https://pigweed.googlesource.com/pigweed/pigweed",'
+        '    "use_repo": false'
+        '  },'
+        '  "$pigweed/environment": {'
+        '    "config_file": "pw_env_setup/config.json"'
+        '  },'
+        '  "$pigweed/pw_presubmit": {'
+        '    "step": ['
+        '      "gn_software_update_build"'
+        '    ]'
+        '  },'
+        '  "recipe": "pw_presubmit",'
+        '  "step": ['
+        '    "gn_software_update_build"'
+        '  ]'
+        '}'
+      priority: 40
+      execution_timeout_secs: 2700
+      caches {
+        name: "builder"
+        path: "builder"
+      }
+      caches {
+        name: "pip"
+        path: "pip"
+        wait_for_warm_cache_secs: 60
+      }
+      service_account: "pigweed-try-builder@pigweed.google.com.iam.gserviceaccount.com"
+      experiments {
+        key: "luci.recipes.use_python3"
+        value: 100
+      }
+      experiments {
+        key: "luci.use_realms"
+        value: 100
+      }
+    }
+    builders {
+      name: "pigweed-linux-gn-teensy"
+      swarming_host: "chromium-swarm.appspot.com"
+      dimensions: "cores:16"
+      dimensions: "cpu:x64|x86-64"
+      dimensions: "os:Debian"
+      dimensions: "pool:luci.pigweed.try"
+      exe {
+        cipd_package: "pigweed/infra/recipe_bundles/pigweed.googlesource.com/infra/recipes"
+        cipd_version: "refs/heads/main"
+        cmd: "luciexe"
+      }
+      properties:
+        '{'
+        '  "$pigweed/checkout": {'
+        '    "branch": "main",'
+        '    "equivalent_remotes": [],'
+        '    "match_branch": true,'
+        '    "remote": "https://pigweed.googlesource.com/pigweed/pigweed",'
+        '    "use_repo": false'
+        '  },'
+        '  "$pigweed/environment": {'
+        '    "config_file": "pw_env_setup/config.json"'
+        '  },'
+        '  "$pigweed/pw_presubmit": {'
+        '    "step": ['
+        '      "gn_teensy_build"'
+        '    ]'
+        '  },'
+        '  "recipe": "pw_presubmit",'
+        '  "step": ['
+        '    "gn_teensy_build"'
+        '  ]'
+        '}'
+      priority: 40
+      execution_timeout_secs: 2700
+      caches {
+        name: "builder"
+        path: "builder"
+      }
+      caches {
+        name: "pip"
+        path: "pip"
+        wait_for_warm_cache_secs: 60
+      }
+      service_account: "pigweed-try-builder@pigweed.google.com.iam.gserviceaccount.com"
+      experiments {
+        key: "luci.recipes.use_python3"
+        value: 100
+      }
+      experiments {
+        key: "luci.use_realms"
+        value: 100
+      }
+    }
+    builders {
+      name: "pigweed-linux-main-host-disco"
+      swarming_host: "chromium-swarm.appspot.com"
+      dimensions: "cores:16"
+      dimensions: "cpu:x64|x86-64"
+      dimensions: "os:Debian"
+      dimensions: "pool:luci.pigweed.try"
+      exe {
+        cipd_package: "pigweed/infra/recipe_bundles/pigweed.googlesource.com/infra/recipes"
+        cipd_version: "refs/heads/main"
+        cmd: "luciexe"
+      }
+      properties:
+        '{'
+        '  "$pigweed/checkout": {'
+        '    "branch": "main",'
+        '    "equivalent_remotes": [],'
+        '    "match_branch": true,'
+        '    "remote": "https://pigweed.googlesource.com/pigweed/pigweed",'
+        '    "use_repo": false'
+        '  },'
+        '  "$pigweed/environment": {'
+        '    "config_file": "pw_env_setup/config.json"'
+        '  },'
+        '  "$pigweed/pw_presubmit": {'
+        '    "step": ['
+        '      "gn_full_build_check"'
+        '    ]'
+        '  },'
+        '  "recipe": "pw_presubmit",'
+        '  "step": ['
+        '    "gn_full_build_check"'
+        '  ]'
+        '}'
+      priority: 40
+      execution_timeout_secs: 2700
+      caches {
+        name: "builder"
+        path: "builder"
+      }
+      caches {
+        name: "pip"
+        path: "pip"
+        wait_for_warm_cache_secs: 60
+      }
+      service_account: "pigweed-try-builder@pigweed.google.com.iam.gserviceaccount.com"
+      experiments {
+        key: "luci.recipes.use_python3"
+        value: 100
+      }
+      experiments {
+        key: "luci.use_realms"
+        value: 100
+      }
+    }
+    builders {
+      name: "pigweed-linux-qemu-compatibility-clang-armgcc"
+      swarming_host: "chromium-swarm.appspot.com"
+      dimensions: "cores:16"
+      dimensions: "cpu:x64|x86-64"
+      dimensions: "os:Debian"
+      dimensions: "pool:luci.pigweed.try"
+      exe {
+        cipd_package: "pigweed/infra/recipe_bundles/pigweed.googlesource.com/infra/recipes"
+        cipd_version: "refs/heads/main"
+        cmd: "luciexe"
+      }
+      properties:
+        '{'
+        '  "$pigweed/checkout": {'
+        '    "branch": "main",'
+        '    "equivalent_remotes": [],'
+        '    "match_branch": true,'
+        '    "remote": "https://pigweed.googlesource.com/pigweed/pigweed",'
+        '    "use_repo": false'
+        '  },'
+        '  "$pigweed/environment": {'
+        '    "config_file": "pw_env_setup/compatibility.json"'
+        '  },'
+        '  "$pigweed/pw_presubmit": {'
+        '    "step": ['
+        '      "gn_full_qemu_check"'
+        '    ]'
+        '  },'
+        '  "recipe": "pw_presubmit",'
+        '  "step": ['
+        '    "gn_full_qemu_check"'
+        '  ]'
+        '}'
+      priority: 40
+      execution_timeout_secs: 2700
+      caches {
+        name: "builder"
+        path: "builder"
+      }
+      caches {
+        name: "pip"
+        path: "pip"
+        wait_for_warm_cache_secs: 60
+      }
+      service_account: "pigweed-try-builder@pigweed.google.com.iam.gserviceaccount.com"
+      experiments {
+        key: "luci.recipes.use_python3"
+        value: 100
+      }
+      experiments {
+        key: "luci.use_realms"
+        value: 100
+      }
+    }
+    builders {
+      name: "pigweed-linux-qemu-main-clang-armgcc"
+      swarming_host: "chromium-swarm.appspot.com"
+      dimensions: "cores:16"
+      dimensions: "cpu:x64|x86-64"
+      dimensions: "os:Debian"
+      dimensions: "pool:luci.pigweed.try"
+      exe {
+        cipd_package: "pigweed/infra/recipe_bundles/pigweed.googlesource.com/infra/recipes"
+        cipd_version: "refs/heads/main"
+        cmd: "luciexe"
+      }
+      properties:
+        '{'
+        '  "$pigweed/checkout": {'
+        '    "branch": "main",'
+        '    "equivalent_remotes": [],'
+        '    "match_branch": true,'
+        '    "remote": "https://pigweed.googlesource.com/pigweed/pigweed",'
+        '    "use_repo": false'
+        '  },'
+        '  "$pigweed/environment": {'
+        '    "config_file": "pw_env_setup/config.json"'
+        '  },'
+        '  "$pigweed/pw_presubmit": {'
+        '    "step": ['
+        '      "gn_full_qemu_check"'
+        '    ]'
+        '  },'
+        '  "recipe": "pw_presubmit",'
+        '  "step": ['
+        '    "gn_full_qemu_check"'
+        '  ]'
+        '}'
+      priority: 40
+      execution_timeout_secs: 2700
+      caches {
+        name: "builder"
+        path: "builder"
+      }
+      caches {
+        name: "pip"
+        path: "pip"
+        wait_for_warm_cache_secs: 60
+      }
+      service_account: "pigweed-try-builder@pigweed.google.com.iam.gserviceaccount.com"
+      experiments {
+        key: "luci.recipes.use_python3"
+        value: 100
+      }
+      experiments {
+        key: "luci.use_realms"
+        value: 100
+      }
+    }
+    builders {
+      name: "pigweed-linux-san-asan"
+      swarming_host: "chromium-swarm.appspot.com"
+      dimensions: "cores:16"
+      dimensions: "cpu:x64|x86-64"
+      dimensions: "os:Debian"
+      dimensions: "pool:luci.pigweed.try"
+      exe {
+        cipd_package: "pigweed/infra/recipe_bundles/pigweed.googlesource.com/infra/recipes"
+        cipd_version: "refs/heads/main"
+        cmd: "luciexe"
+      }
+      properties:
+        '{'
+        '  "$pigweed/checkout": {'
+        '    "branch": "main",'
+        '    "equivalent_remotes": [],'
+        '    "match_branch": true,'
+        '    "remote": "https://pigweed.googlesource.com/pigweed/pigweed",'
+        '    "use_repo": false'
+        '  },'
+        '  "$pigweed/environment": {'
+        '    "config_file": "pw_env_setup/config.json"'
+        '  },'
+        '  "$pigweed/pw_presubmit": {'
+        '    "step": ['
+        '      "asan"'
+        '    ]'
+        '  },'
+        '  "recipe": "pw_presubmit",'
+        '  "step": ['
+        '    "asan"'
+        '  ]'
+        '}'
+      priority: 40
+      execution_timeout_secs: 2700
+      caches {
+        name: "builder"
+        path: "builder"
+      }
+      caches {
+        name: "pip"
+        path: "pip"
+        wait_for_warm_cache_secs: 60
+      }
+      service_account: "pigweed-try-builder@pigweed.google.com.iam.gserviceaccount.com"
+      experiments {
+        key: "luci.recipes.use_python3"
+        value: 100
+      }
+      experiments {
+        key: "luci.use_realms"
+        value: 100
+      }
+    }
+    builders {
+      name: "pigweed-linux-san-tsan"
+      swarming_host: "chromium-swarm.appspot.com"
+      dimensions: "cores:16"
+      dimensions: "cpu:x64|x86-64"
+      dimensions: "os:Debian"
+      dimensions: "pool:luci.pigweed.try"
+      exe {
+        cipd_package: "pigweed/infra/recipe_bundles/pigweed.googlesource.com/infra/recipes"
+        cipd_version: "refs/heads/main"
+        cmd: "luciexe"
+      }
+      properties:
+        '{'
+        '  "$pigweed/checkout": {'
+        '    "branch": "main",'
+        '    "equivalent_remotes": [],'
+        '    "match_branch": true,'
+        '    "remote": "https://pigweed.googlesource.com/pigweed/pigweed",'
+        '    "use_repo": false'
+        '  },'
+        '  "$pigweed/environment": {'
+        '    "config_file": "pw_env_setup/config.json"'
+        '  },'
+        '  "$pigweed/pw_presubmit": {'
+        '    "step": ['
+        '      "tsan"'
+        '    ]'
+        '  },'
+        '  "recipe": "pw_presubmit",'
+        '  "step": ['
+        '    "tsan"'
+        '  ]'
+        '}'
+      priority: 40
+      execution_timeout_secs: 2700
+      caches {
+        name: "builder"
+        path: "builder"
+      }
+      caches {
+        name: "pip"
+        path: "pip"
+        wait_for_warm_cache_secs: 60
+      }
+      service_account: "pigweed-try-builder@pigweed.google.com.iam.gserviceaccount.com"
+      experiments {
+        key: "luci.recipes.use_python3"
+        value: 100
+      }
+      experiments {
+        key: "luci.use_realms"
+        value: 100
+      }
+    }
+    builders {
+      name: "pigweed-linux-san-ubsan"
+      swarming_host: "chromium-swarm.appspot.com"
+      dimensions: "cores:16"
+      dimensions: "cpu:x64|x86-64"
+      dimensions: "os:Debian"
+      dimensions: "pool:luci.pigweed.try"
+      exe {
+        cipd_package: "pigweed/infra/recipe_bundles/pigweed.googlesource.com/infra/recipes"
+        cipd_version: "refs/heads/main"
+        cmd: "luciexe"
+      }
+      properties:
+        '{'
+        '  "$pigweed/checkout": {'
+        '    "branch": "main",'
+        '    "equivalent_remotes": [],'
+        '    "match_branch": true,'
+        '    "remote": "https://pigweed.googlesource.com/pigweed/pigweed",'
+        '    "use_repo": false'
+        '  },'
+        '  "$pigweed/environment": {'
+        '    "config_file": "pw_env_setup/config.json"'
+        '  },'
+        '  "$pigweed/pw_presubmit": {'
+        '    "step": ['
+        '      "ubsan"'
+        '    ]'
+        '  },'
+        '  "recipe": "pw_presubmit",'
+        '  "step": ['
+        '    "ubsan"'
+        '  ]'
+        '}'
+      priority: 40
+      execution_timeout_secs: 2700
+      caches {
+        name: "builder"
+        path: "builder"
+      }
+      caches {
+        name: "pip"
+        path: "pip"
+        wait_for_warm_cache_secs: 60
+      }
+      service_account: "pigweed-try-builder@pigweed.google.com.iam.gserviceaccount.com"
+      experiments {
+        key: "luci.recipes.use_python3"
+        value: 100
+      }
+      experiments {
+        key: "luci.use_realms"
+        value: 100
+      }
+    }
+    builders {
+      name: "pigweed-linux-static-analysis"
+      swarming_host: "chromium-swarm.appspot.com"
+      dimensions: "cores:16"
+      dimensions: "cpu:x64|x86-64"
+      dimensions: "os:Debian"
+      dimensions: "pool:luci.pigweed.try"
+      exe {
+        cipd_package: "pigweed/infra/recipe_bundles/pigweed.googlesource.com/infra/recipes"
+        cipd_version: "refs/heads/main"
+        cmd: "luciexe"
+      }
+      properties:
+        '{'
+        '  "$pigweed/checkout": {'
+        '    "branch": "main",'
+        '    "equivalent_remotes": [],'
+        '    "match_branch": true,'
+        '    "remote": "https://pigweed.googlesource.com/pigweed/pigweed",'
+        '    "use_repo": false'
+        '  },'
+        '  "$pigweed/environment": {'
+        '    "config_file": "pw_env_setup/config.json"'
+        '  },'
+        '  "$pigweed/pw_presubmit": {'
+        '    "step": ['
+        '      "static_analysis"'
+        '    ]'
+        '  },'
+        '  "recipe": "pw_presubmit",'
+        '  "step": ['
+        '    "static_analysis"'
+        '  ]'
+        '}'
+      priority: 40
+      execution_timeout_secs: 2700
+      caches {
+        name: "builder"
+        path: "builder"
+      }
+      caches {
+        name: "pip"
+        path: "pip"
+        wait_for_warm_cache_secs: 60
+      }
+      service_account: "pigweed-try-builder@pigweed.google.com.iam.gserviceaccount.com"
+      experiments {
+        key: "luci.recipes.use_python3"
+        value: 100
+      }
+      experiments {
+        key: "luci.use_realms"
+        value: 100
+      }
+    }
+    builders {
+      name: "pigweed-mac-bazel-host-clang"
+      swarming_host: "chromium-swarm.appspot.com"
+      dimensions: "cpu:x64|x86-64"
+      dimensions: "os:Mac"
+      dimensions: "pool:luci.pigweed.try"
+      exe {
+        cipd_package: "pigweed/infra/recipe_bundles/pigweed.googlesource.com/infra/recipes"
+        cipd_version: "refs/heads/main"
+        cmd: "luciexe"
+      }
+      properties:
+        '{'
+        '  "$pigweed/checkout": {'
+        '    "branch": "main",'
+        '    "equivalent_remotes": [],'
+        '    "match_branch": true,'
+        '    "remote": "https://pigweed.googlesource.com/pigweed/pigweed",'
+        '    "use_repo": false'
+        '  },'
+        '  "$pigweed/environment": {'
+        '    "config_file": "pw_env_setup/config.json"'
+        '  },'
+        '  "$pigweed/pw_presubmit": {'
+        '    "step": ['
+        '      "bazel_test"'
+        '    ]'
+        '  },'
+        '  "dry_run": true,'
+        '  "macos_sdk.version": "11c29",'
+        '  "recipe": "pw_presubmit",'
+        '  "step": ['
+        '    "bazel_test"'
+        '  ]'
+        '}'
+      priority: 50
+      execution_timeout_secs: 2700
+      caches {
+        name: "bazel"
+        path: "bazel"
+        wait_for_warm_cache_secs: 60
+      }
+      caches {
+        name: "builder"
+        path: "builder"
+      }
+      caches {
+        name: "macos_sdk"
+        path: "macos_sdk"
+        wait_for_warm_cache_secs: 120
+      }
+      caches {
+        name: "pip"
+        path: "pip"
+        wait_for_warm_cache_secs: 60
+      }
+      service_account: "pigweed-try-builder@pigweed.google.com.iam.gserviceaccount.com"
+      experimental: YES
+      experiments {
+        key: "luci.recipes.use_python3"
+        value: 100
+      }
+      experiments {
+        key: "luci.use_realms"
+        value: 100
+      }
+    }
+    builders {
+      name: "pigweed-mac-cmake-host-clang"
+      swarming_host: "chromium-swarm.appspot.com"
+      dimensions: "cpu:x64|x86-64"
+      dimensions: "os:Mac"
+      dimensions: "pool:luci.pigweed.try"
+      exe {
+        cipd_package: "pigweed/infra/recipe_bundles/pigweed.googlesource.com/infra/recipes"
+        cipd_version: "refs/heads/main"
+        cmd: "luciexe"
+      }
+      properties:
+        '{'
+        '  "$pigweed/checkout": {'
+        '    "branch": "main",'
+        '    "equivalent_remotes": [],'
+        '    "match_branch": true,'
+        '    "remote": "https://pigweed.googlesource.com/pigweed/pigweed",'
+        '    "use_repo": false'
+        '  },'
+        '  "$pigweed/environment": {'
+        '    "config_file": "pw_env_setup/config.json"'
+        '  },'
+        '  "$pigweed/pw_presubmit": {'
+        '    "step": ['
+        '      "cmake_tests"'
+        '    ]'
+        '  },'
+        '  "dry_run": true,'
+        '  "macos_sdk.version": "11c29",'
+        '  "recipe": "pw_presubmit",'
+        '  "step": ['
+        '    "cmake_tests"'
+        '  ]'
+        '}'
+      priority: 50
+      execution_timeout_secs: 2700
+      caches {
+        name: "builder"
+        path: "builder"
+      }
+      caches {
+        name: "macos_sdk"
+        path: "macos_sdk"
+        wait_for_warm_cache_secs: 120
+      }
+      caches {
+        name: "pip"
+        path: "pip"
+        wait_for_warm_cache_secs: 60
+      }
+      service_account: "pigweed-try-builder@pigweed.google.com.iam.gserviceaccount.com"
+      experimental: YES
+      experiments {
+        key: "luci.recipes.use_python3"
+        value: 100
+      }
+      experiments {
+        key: "luci.use_realms"
+        value: 100
+      }
+    }
+    builders {
+      name: "pigweed-mac-compatibility-host-disco"
+      swarming_host: "chromium-swarm.appspot.com"
+      dimensions: "cpu:x64|x86-64"
+      dimensions: "os:Mac"
+      dimensions: "pool:luci.pigweed.try"
+      exe {
+        cipd_package: "pigweed/infra/recipe_bundles/pigweed.googlesource.com/infra/recipes"
+        cipd_version: "refs/heads/main"
+        cmd: "luciexe"
+      }
+      properties:
+        '{'
+        '  "$pigweed/checkout": {'
+        '    "branch": "main",'
+        '    "equivalent_remotes": [],'
+        '    "match_branch": true,'
+        '    "remote": "https://pigweed.googlesource.com/pigweed/pigweed",'
+        '    "use_repo": false'
+        '  },'
+        '  "$pigweed/environment": {'
+        '    "config_file": "pw_env_setup/compatibility.json"'
+        '  },'
+        '  "$pigweed/pw_presubmit": {'
+        '    "step": ['
+        '      "gn_full_build_check"'
+        '    ]'
+        '  },'
+        '  "macos_sdk.version": "11c29",'
+        '  "recipe": "pw_presubmit",'
+        '  "step": ['
+        '    "gn_full_build_check"'
+        '  ]'
+        '}'
+      priority: 40
+      execution_timeout_secs: 2700
+      caches {
+        name: "builder"
+        path: "builder"
+      }
+      caches {
+        name: "macos_sdk"
+        path: "macos_sdk"
+        wait_for_warm_cache_secs: 120
+      }
+      caches {
+        name: "pip"
+        path: "pip"
+        wait_for_warm_cache_secs: 60
+      }
+      service_account: "pigweed-try-builder@pigweed.google.com.iam.gserviceaccount.com"
+      experiments {
+        key: "luci.recipes.use_python3"
+        value: 100
+      }
+      experiments {
+        key: "luci.use_realms"
+        value: 100
+      }
+    }
+    builders {
+      name: "pigweed-mac-gn-hosttools"
+      swarming_host: "chromium-swarm.appspot.com"
+      dimensions: "cpu:x64|x86-64"
+      dimensions: "os:Mac"
+      dimensions: "pool:luci.pigweed.try"
+      exe {
+        cipd_package: "pigweed/infra/recipe_bundles/pigweed.googlesource.com/infra/recipes"
+        cipd_version: "refs/heads/main"
+        cmd: "luciexe"
+      }
+      properties:
+        '{'
+        '  "$pigweed/checkout": {'
+        '    "branch": "main",'
+        '    "equivalent_remotes": [],'
+        '    "match_branch": true,'
+        '    "remote": "https://pigweed.googlesource.com/pigweed/pigweed",'
+        '    "use_repo": false'
+        '  },'
+        '  "$pigweed/environment": {'
+        '    "config_file": "pw_env_setup/config.json"'
+        '  },'
+        '  "$pigweed/pw_presubmit": {'
+        '    "step": ['
+        '      "gn_host_tools"'
+        '    ]'
+        '  },'
+        '  "macos_sdk.version": "11c29",'
+        '  "recipe": "pw_presubmit",'
+        '  "step": ['
+        '    "gn_host_tools"'
+        '  ]'
+        '}'
+      priority: 40
+      execution_timeout_secs: 2700
+      caches {
+        name: "builder"
+        path: "builder"
+      }
+      caches {
+        name: "go"
+        path: "go"
+        wait_for_warm_cache_secs: 120
+      }
+      caches {
+        name: "macos_sdk"
+        path: "macos_sdk"
+        wait_for_warm_cache_secs: 120
+      }
+      caches {
+        name: "pip"
+        path: "pip"
+        wait_for_warm_cache_secs: 60
+      }
+      service_account: "pigweed-try-builder@pigweed.google.com.iam.gserviceaccount.com"
+      experiments {
+        key: "luci.recipes.use_python3"
+        value: 100
+      }
+      experiments {
+        key: "luci.use_realms"
+        value: 100
+      }
+    }
+    builders {
+      name: "pigweed-mac-gn-nanopb"
+      swarming_host: "chromium-swarm.appspot.com"
+      dimensions: "cpu:x64|x86-64"
+      dimensions: "os:Mac"
+      dimensions: "pool:luci.pigweed.try"
+      exe {
+        cipd_package: "pigweed/infra/recipe_bundles/pigweed.googlesource.com/infra/recipes"
+        cipd_version: "refs/heads/main"
+        cmd: "luciexe"
+      }
+      properties:
+        '{'
+        '  "$pigweed/checkout": {'
+        '    "branch": "main",'
+        '    "equivalent_remotes": [],'
+        '    "match_branch": true,'
+        '    "remote": "https://pigweed.googlesource.com/pigweed/pigweed",'
+        '    "use_repo": false'
+        '  },'
+        '  "$pigweed/environment": {'
+        '    "config_file": "pw_env_setup/config.json"'
+        '  },'
+        '  "$pigweed/pw_presubmit": {'
+        '    "step": ['
+        '      "gn_nanopb_build"'
+        '    ]'
+        '  },'
+        '  "macos_sdk.version": "11c29",'
+        '  "recipe": "pw_presubmit",'
+        '  "step": ['
+        '    "gn_nanopb_build"'
+        '  ]'
+        '}'
+      priority: 40
+      execution_timeout_secs: 2700
+      caches {
+        name: "builder"
+        path: "builder"
+      }
+      caches {
+        name: "macos_sdk"
+        path: "macos_sdk"
+        wait_for_warm_cache_secs: 120
+      }
+      caches {
+        name: "pip"
+        path: "pip"
+        wait_for_warm_cache_secs: 60
+      }
+      service_account: "pigweed-try-builder@pigweed.google.com.iam.gserviceaccount.com"
+      experiments {
+        key: "luci.recipes.use_python3"
+        value: 100
+      }
+      experiments {
+        key: "luci.use_realms"
+        value: 100
+      }
+    }
+    builders {
+      name: "pigweed-mac-gn-teensy"
+      swarming_host: "chromium-swarm.appspot.com"
+      dimensions: "cpu:x64|x86-64"
+      dimensions: "os:Mac"
+      dimensions: "pool:luci.pigweed.try"
+      exe {
+        cipd_package: "pigweed/infra/recipe_bundles/pigweed.googlesource.com/infra/recipes"
+        cipd_version: "refs/heads/main"
+        cmd: "luciexe"
+      }
+      properties:
+        '{'
+        '  "$pigweed/checkout": {'
+        '    "branch": "main",'
+        '    "equivalent_remotes": [],'
+        '    "match_branch": true,'
+        '    "remote": "https://pigweed.googlesource.com/pigweed/pigweed",'
+        '    "use_repo": false'
+        '  },'
+        '  "$pigweed/environment": {'
+        '    "config_file": "pw_env_setup/config.json"'
+        '  },'
+        '  "$pigweed/pw_presubmit": {'
+        '    "step": ['
+        '      "gn_teensy_build"'
+        '    ]'
+        '  },'
+        '  "macos_sdk.version": "11c29",'
+        '  "recipe": "pw_presubmit",'
+        '  "step": ['
+        '    "gn_teensy_build"'
+        '  ]'
+        '}'
+      priority: 40
+      execution_timeout_secs: 2700
+      caches {
+        name: "builder"
+        path: "builder"
+      }
+      caches {
+        name: "macos_sdk"
+        path: "macos_sdk"
+        wait_for_warm_cache_secs: 120
+      }
+      caches {
+        name: "pip"
+        path: "pip"
+        wait_for_warm_cache_secs: 60
+      }
+      service_account: "pigweed-try-builder@pigweed.google.com.iam.gserviceaccount.com"
+      experiments {
+        key: "luci.recipes.use_python3"
+        value: 100
+      }
+      experiments {
+        key: "luci.use_realms"
+        value: 100
+      }
+    }
+    builders {
+      name: "pigweed-mac-main-host-disco"
+      swarming_host: "chromium-swarm.appspot.com"
+      dimensions: "cpu:x64|x86-64"
+      dimensions: "os:Mac"
+      dimensions: "pool:luci.pigweed.try"
+      exe {
+        cipd_package: "pigweed/infra/recipe_bundles/pigweed.googlesource.com/infra/recipes"
+        cipd_version: "refs/heads/main"
+        cmd: "luciexe"
+      }
+      properties:
+        '{'
+        '  "$pigweed/checkout": {'
+        '    "branch": "main",'
+        '    "equivalent_remotes": [],'
+        '    "match_branch": true,'
+        '    "remote": "https://pigweed.googlesource.com/pigweed/pigweed",'
+        '    "use_repo": false'
+        '  },'
+        '  "$pigweed/environment": {'
+        '    "config_file": "pw_env_setup/config.json"'
+        '  },'
+        '  "$pigweed/pw_presubmit": {'
+        '    "step": ['
+        '      "gn_full_build_check"'
+        '    ]'
+        '  },'
+        '  "macos_sdk.version": "11c29",'
+        '  "recipe": "pw_presubmit",'
+        '  "step": ['
+        '    "gn_full_build_check"'
+        '  ]'
+        '}'
+      priority: 40
+      execution_timeout_secs: 2700
+      caches {
+        name: "builder"
+        path: "builder"
+      }
+      caches {
+        name: "macos_sdk"
+        path: "macos_sdk"
+        wait_for_warm_cache_secs: 120
+      }
+      caches {
+        name: "pip"
+        path: "pip"
+        wait_for_warm_cache_secs: 60
+      }
+      service_account: "pigweed-try-builder@pigweed.google.com.iam.gserviceaccount.com"
+      experiments {
+        key: "luci.recipes.use_python3"
+        value: 100
+      }
+      experiments {
+        key: "luci.use_realms"
+        value: 100
+      }
+    }
+    builders {
+      name: "pigweed-mac-qemu-compatibility-clang-armgcc"
+      swarming_host: "chromium-swarm.appspot.com"
+      dimensions: "cpu:x64|x86-64"
+      dimensions: "os:Mac"
+      dimensions: "pool:luci.pigweed.try"
+      exe {
+        cipd_package: "pigweed/infra/recipe_bundles/pigweed.googlesource.com/infra/recipes"
+        cipd_version: "refs/heads/main"
+        cmd: "luciexe"
+      }
+      properties:
+        '{'
+        '  "$pigweed/checkout": {'
+        '    "branch": "main",'
+        '    "equivalent_remotes": [],'
+        '    "match_branch": true,'
+        '    "remote": "https://pigweed.googlesource.com/pigweed/pigweed",'
+        '    "use_repo": false'
+        '  },'
+        '  "$pigweed/environment": {'
+        '    "config_file": "pw_env_setup/compatibility.json"'
+        '  },'
+        '  "$pigweed/pw_presubmit": {'
+        '    "step": ['
+        '      "gn_full_qemu_check"'
+        '    ]'
+        '  },'
+        '  "dry_run": true,'
+        '  "macos_sdk.version": "11c29",'
+        '  "recipe": "pw_presubmit",'
+        '  "step": ['
+        '    "gn_full_qemu_check"'
+        '  ]'
+        '}'
+      priority: 50
+      execution_timeout_secs: 2700
+      caches {
+        name: "builder"
+        path: "builder"
+      }
+      caches {
+        name: "macos_sdk"
+        path: "macos_sdk"
+        wait_for_warm_cache_secs: 120
+      }
+      caches {
+        name: "pip"
+        path: "pip"
+        wait_for_warm_cache_secs: 60
+      }
+      service_account: "pigweed-try-builder@pigweed.google.com.iam.gserviceaccount.com"
+      experimental: YES
+      experiments {
+        key: "luci.recipes.use_python3"
+        value: 100
+      }
+      experiments {
+        key: "luci.use_realms"
+        value: 100
+      }
+    }
+    builders {
+      name: "pigweed-mac-qemu-main-clang-armgcc"
+      swarming_host: "chromium-swarm.appspot.com"
+      dimensions: "cpu:x64|x86-64"
+      dimensions: "os:Mac"
+      dimensions: "pool:luci.pigweed.try"
+      exe {
+        cipd_package: "pigweed/infra/recipe_bundles/pigweed.googlesource.com/infra/recipes"
+        cipd_version: "refs/heads/main"
+        cmd: "luciexe"
+      }
+      properties:
+        '{'
+        '  "$pigweed/checkout": {'
+        '    "branch": "main",'
+        '    "equivalent_remotes": [],'
+        '    "match_branch": true,'
+        '    "remote": "https://pigweed.googlesource.com/pigweed/pigweed",'
+        '    "use_repo": false'
+        '  },'
+        '  "$pigweed/environment": {'
+        '    "config_file": "pw_env_setup/config.json"'
+        '  },'
+        '  "$pigweed/pw_presubmit": {'
+        '    "step": ['
+        '      "gn_full_qemu_check"'
+        '    ]'
+        '  },'
+        '  "macos_sdk.version": "11c29",'
+        '  "recipe": "pw_presubmit",'
+        '  "step": ['
+        '    "gn_full_qemu_check"'
+        '  ]'
+        '}'
+      priority: 40
+      execution_timeout_secs: 2700
+      caches {
+        name: "builder"
+        path: "builder"
+      }
+      caches {
+        name: "macos_sdk"
+        path: "macos_sdk"
+        wait_for_warm_cache_secs: 120
+      }
+      caches {
+        name: "pip"
+        path: "pip"
+        wait_for_warm_cache_secs: 60
+      }
+      service_account: "pigweed-try-builder@pigweed.google.com.iam.gserviceaccount.com"
+      experiments {
+        key: "luci.recipes.use_python3"
+        value: 100
+      }
+      experiments {
+        key: "luci.use_realms"
+        value: 100
+      }
+    }
+    builders {
+      name: "pigweed-renode"
+      swarming_host: "chromium-swarm.appspot.com"
+      dimensions: "cores:16"
+      dimensions: "cpu:x64|x86-64"
+      dimensions: "os:Debian"
+      dimensions: "pool:luci.pigweed.try"
+      exe {
+        cipd_package: "pigweed/infra/recipe_bundles/pigweed.googlesource.com/infra/recipes"
+        cipd_version: "refs/heads/main"
+        cmd: "luciexe"
+      }
+      properties:
+        '{'
+        '  "$pigweed/checkout": {'
+        '    "branch": "main",'
+        '    "equivalent_remotes": [],'
+        '    "match_branch": true,'
+        '    "remote": "https://pigweed.googlesource.com/pigweed/pigweed",'
+        '    "use_repo": false'
+        '  },'
+        '  "$pigweed/environment": {'
+        '    "config_file": "pw_env_setup/config.json"'
+        '  },'
+        '  "dry_run": true,'
+        '  "recipe": "run_script",'
+        '  "script": "pw_unit_test/renode/test.sh"'
+        '}'
+      priority: 35
+      execution_timeout_secs: 2700
+      caches {
+        name: "builder"
+        path: "builder"
+      }
+      caches {
+        name: "pip"
+        path: "pip"
+        wait_for_warm_cache_secs: 60
+      }
+      service_account: "pigweed-try-builder@pigweed.google.com.iam.gserviceaccount.com"
+      experimental: YES
+      experiments {
+        key: "luci.recipes.use_python3"
+        value: 100
+      }
+      experiments {
+        key: "luci.use_realms"
+        value: 100
+      }
+    }
+    builders {
+      name: "pigweed-stm32f429i"
+      swarming_host: "chromium-swarm.appspot.com"
+      dimensions: "120:cores:2"
+      dimensions: "cpu:x64|x86-64"
+      dimensions: "os:Debian"
+      dimensions: "pool:luci.pigweed.try"
+      exe {
+        cipd_package: "pigweed/infra/recipe_bundles/pigweed.googlesource.com/infra/recipes"
+        cipd_version: "refs/heads/main"
+        cmd: "luciexe"
+      }
+      properties:
+        '{'
+        '  "$pigweed/build": {'
+        '    "gn_args": [],'
+        '    "ninja_targets": ['
+        '      "stm32f429i_debug",'
+        '      "stm32f429i_size_optimized",'
+        '      "stm32f429i_speed_optimized"'
+        '    ]'
+        '  },'
+        '  "$pigweed/checkout": {'
+        '    "branch": "main",'
+        '    "equivalent_remotes": [],'
+        '    "match_branch": true,'
+        '    "remote": "https://pigweed.googlesource.com/pigweed/pigweed",'
+        '    "use_repo": false'
+        '  },'
+        '  "$pigweed/environment": {'
+        '    "config_file": "pw_env_setup/config.json"'
+        '  },'
+        '  "dry_run": true,'
+        '  "recipe": "pigweed"'
+        '}'
+      priority: 50
+      execution_timeout_secs: 2700
+      caches {
+        name: "builder"
+        path: "builder"
+      }
+      caches {
+        name: "pip"
+        path: "pip"
+        wait_for_warm_cache_secs: 60
+      }
+      service_account: "pigweed-try-builder@pigweed.google.com.iam.gserviceaccount.com"
+      experimental: YES
+      experiments {
+        key: "luci.recipes.use_python3"
+        value: 100
+      }
+      experiments {
+        key: "luci.use_realms"
+        value: 100
+      }
+    }
+    builders {
+      name: "pigweed-stm32f429i-combined"
+      swarming_host: "chromium-swarm.appspot.com"
+      dimensions: "cores:16"
+      dimensions: "cpu:x64|x86-64"
+      dimensions: "os:Debian"
+      dimensions: "pool:luci.pigweed.try"
+      exe {
+        cipd_package: "pigweed/infra/recipe_bundles/pigweed.googlesource.com/infra/recipes"
+        cipd_version: "refs/heads/main"
+        cmd: "luciexe"
+      }
+      properties:
+        '{'
+        '  "$pigweed/checkout": {'
+        '    "branch": "main",'
+        '    "equivalent_remotes": [],'
+        '    "match_branch": true,'
+        '    "remote": "https://pigweed.googlesource.com/pigweed/pigweed",'
+        '    "use_repo": false'
+        '  },'
+        '  "$pigweed/environment": {'
+        '    "config_file": "pw_env_setup/config.json"'
+        '  },'
+        '  "$pigweed/pw_presubmit": {'
+        '    "step": ['
+        '      "stm32f429i"'
+        '    ]'
+        '  },'
+        '  "dry_run": true,'
+        '  "recipe": "pw_presubmit",'
+        '  "step": ['
+        '    "stm32f429i"'
+        '  ]'
+        '}'
+      priority: 50
+      execution_timeout_secs: 2700
+      caches {
+        name: "builder"
+        path: "builder"
+      }
+      caches {
+        name: "pip"
+        path: "pip"
+        wait_for_warm_cache_secs: 60
+      }
+      service_account: "pigweed-try-builder@pigweed.google.com.iam.gserviceaccount.com"
+      experimental: YES
+      experiments {
+        key: "luci.recipes.use_python3"
+        value: 100
+      }
+      experiments {
+        key: "luci.use_realms"
+        value: 100
+      }
+    }
+    builders {
+      name: "pigweed-stm32f429i-subbuild"
+      swarming_host: "chromium-swarm.appspot.com"
+      dimensions: "cores:16"
+      dimensions: "cpu:x64|x86-64"
+      dimensions: "os:Debian"
+      dimensions: "pool:luci.pigweed.try"
+      exe {
+        cipd_package: "pigweed/infra/recipe_bundles/pigweed.googlesource.com/infra/recipes"
+        cipd_version: "refs/heads/main"
+        cmd: "luciexe"
+      }
+      properties:
+        '{'
+        '  "$pigweed/build": {'
+        '    "gn_args": [],'
+        '    "ninja_targets": ['
+        '      "stm32f429i_debug",'
+        '      "stm32f429i_size_optimized",'
+        '      "stm32f429i_speed_optimized"'
+        '    ]'
+        '  },'
+        '  "$pigweed/checkout": {'
+        '    "branch": "main",'
+        '    "equivalent_remotes": [],'
+        '    "match_branch": true,'
+        '    "remote": "https://pigweed.googlesource.com/pigweed/pigweed",'
+        '    "use_repo": false'
+        '  },'
+        '  "$pigweed/environment": {'
+        '    "config_file": "pw_env_setup/config.json"'
+        '  },'
+        '  "dry_run": true,'
+        '  "recipe": "build"'
+        '}'
+      priority: 50
+      execution_timeout_secs: 2700
+      caches {
+        name: "builder"
+        path: "builder"
+      }
+      caches {
+        name: "pip"
+        path: "pip"
+        wait_for_warm_cache_secs: 60
+      }
+      service_account: "pigweed-try-builder@pigweed.google.com.iam.gserviceaccount.com"
+      experimental: YES
+      experiments {
+        key: "luci.recipes.use_python3"
+        value: 100
+      }
+      experiments {
+        key: "luci.use_realms"
+        value: 100
+      }
+    }
+    builders {
+      name: "pigweed-windows-bazel-host-clang"
+      swarming_host: "chromium-swarm.appspot.com"
+      dimensions: "cores:16"
+      dimensions: "cpu:x64|x86-64"
+      dimensions: "os:Windows-10"
+      dimensions: "pool:luci.pigweed.try"
+      exe {
+        cipd_package: "pigweed/infra/recipe_bundles/pigweed.googlesource.com/infra/recipes"
+        cipd_version: "refs/heads/main"
+        cmd: "luciexe"
+      }
+      properties:
+        '{'
+        '  "$pigweed/checkout": {'
+        '    "branch": "main",'
+        '    "equivalent_remotes": [],'
+        '    "match_branch": true,'
+        '    "remote": "https://pigweed.googlesource.com/pigweed/pigweed",'
+        '    "use_repo": false'
+        '  },'
+        '  "$pigweed/environment": {'
+        '    "config_file": "pw_env_setup/config.json"'
+        '  },'
+        '  "$pigweed/pw_presubmit": {'
+        '    "step": ['
+        '      "bazel_test"'
+        '    ]'
+        '  },'
+        '  "dry_run": true,'
+        '  "recipe": "pw_presubmit",'
+        '  "step": ['
+        '    "bazel_test"'
+        '  ]'
+        '}'
+      priority: 50
+      execution_timeout_secs: 2700
+      caches {
+        name: "bazel"
+        path: "bazel"
+        wait_for_warm_cache_secs: 60
+      }
+      caches {
+        name: "builder"
+        path: "builder"
+      }
+      caches {
+        name: "pip"
+        path: "pip"
+        wait_for_warm_cache_secs: 60
+      }
+      service_account: "pigweed-try-builder@pigweed.google.com.iam.gserviceaccount.com"
+      experimental: YES
+      experiments {
+        key: "luci.recipes.use_python3"
+        value: 100
+      }
+      experiments {
+        key: "luci.use_realms"
+        value: 100
+      }
+    }
+    builders {
+      name: "pigweed-windows-compatibility-host-disco"
+      swarming_host: "chromium-swarm.appspot.com"
+      dimensions: "cores:16"
+      dimensions: "cpu:x64|x86-64"
+      dimensions: "os:Windows-10"
+      dimensions: "pool:luci.pigweed.try"
+      exe {
+        cipd_package: "pigweed/infra/recipe_bundles/pigweed.googlesource.com/infra/recipes"
+        cipd_version: "refs/heads/main"
+        cmd: "luciexe"
+      }
+      properties:
+        '{'
+        '  "$pigweed/checkout": {'
+        '    "branch": "main",'
+        '    "equivalent_remotes": [],'
+        '    "match_branch": true,'
+        '    "remote": "https://pigweed.googlesource.com/pigweed/pigweed",'
+        '    "use_repo": false'
+        '  },'
+        '  "$pigweed/environment": {'
+        '    "config_file": "pw_env_setup/compatibility.json"'
+        '  },'
+        '  "$pigweed/pw_presubmit": {'
+        '    "step": ['
+        '      "gn_full_build_check"'
+        '    ]'
+        '  },'
+        '  "dry_run": true,'
+        '  "recipe": "pw_presubmit",'
+        '  "step": ['
+        '    "gn_full_build_check"'
+        '  ]'
+        '}'
+      priority: 50
+      execution_timeout_secs: 2700
+      caches {
+        name: "builder"
+        path: "builder"
+      }
+      caches {
+        name: "pip"
+        path: "pip"
+        wait_for_warm_cache_secs: 60
+      }
+      service_account: "pigweed-try-builder@pigweed.google.com.iam.gserviceaccount.com"
+      experimental: YES
+      experiments {
+        key: "luci.recipes.use_python3"
+        value: 100
+      }
+      experiments {
+        key: "luci.use_realms"
+        value: 100
+      }
+    }
+    builders {
+      name: "pigweed-windows-gn-hosttools"
+      swarming_host: "chromium-swarm.appspot.com"
+      dimensions: "cores:16"
+      dimensions: "cpu:x64|x86-64"
+      dimensions: "os:Windows-10"
+      dimensions: "pool:luci.pigweed.try"
+      exe {
+        cipd_package: "pigweed/infra/recipe_bundles/pigweed.googlesource.com/infra/recipes"
+        cipd_version: "refs/heads/main"
+        cmd: "luciexe"
+      }
+      properties:
+        '{'
+        '  "$pigweed/checkout": {'
+        '    "branch": "main",'
+        '    "equivalent_remotes": [],'
+        '    "match_branch": true,'
+        '    "remote": "https://pigweed.googlesource.com/pigweed/pigweed",'
+        '    "use_repo": false'
+        '  },'
+        '  "$pigweed/environment": {'
+        '    "config_file": "pw_env_setup/config.json"'
+        '  },'
+        '  "$pigweed/pw_presubmit": {'
+        '    "step": ['
+        '      "gn_host_tools"'
+        '    ]'
+        '  },'
+        '  "recipe": "pw_presubmit",'
+        '  "step": ['
+        '    "gn_host_tools"'
+        '  ]'
+        '}'
+      priority: 40
+      execution_timeout_secs: 2700
+      caches {
+        name: "builder"
+        path: "builder"
+      }
+      caches {
+        name: "go"
+        path: "go"
+        wait_for_warm_cache_secs: 120
+      }
+      caches {
+        name: "pip"
+        path: "pip"
+        wait_for_warm_cache_secs: 60
+      }
+      service_account: "pigweed-try-builder@pigweed.google.com.iam.gserviceaccount.com"
+      experiments {
+        key: "luci.recipes.use_python3"
+        value: 100
+      }
+      experiments {
+        key: "luci.use_realms"
+        value: 100
+      }
+    }
+    builders {
+      name: "pigweed-windows-gn-nanopb"
+      swarming_host: "chromium-swarm.appspot.com"
+      dimensions: "cores:16"
+      dimensions: "cpu:x64|x86-64"
+      dimensions: "os:Windows-10"
+      dimensions: "pool:luci.pigweed.try"
+      exe {
+        cipd_package: "pigweed/infra/recipe_bundles/pigweed.googlesource.com/infra/recipes"
+        cipd_version: "refs/heads/main"
+        cmd: "luciexe"
+      }
+      properties:
+        '{'
+        '  "$pigweed/checkout": {'
+        '    "branch": "main",'
+        '    "equivalent_remotes": [],'
+        '    "match_branch": true,'
+        '    "remote": "https://pigweed.googlesource.com/pigweed/pigweed",'
+        '    "use_repo": false'
+        '  },'
+        '  "$pigweed/environment": {'
+        '    "config_file": "pw_env_setup/config.json"'
+        '  },'
+        '  "$pigweed/pw_presubmit": {'
+        '    "step": ['
+        '      "gn_nanopb_build"'
+        '    ]'
+        '  },'
+        '  "dry_run": true,'
+        '  "recipe": "pw_presubmit",'
+        '  "step": ['
+        '    "gn_nanopb_build"'
+        '  ]'
+        '}'
+      priority: 50
+      execution_timeout_secs: 2700
+      caches {
+        name: "builder"
+        path: "builder"
+      }
+      caches {
+        name: "pip"
+        path: "pip"
+        wait_for_warm_cache_secs: 60
+      }
+      service_account: "pigweed-try-builder@pigweed.google.com.iam.gserviceaccount.com"
+      experimental: YES
+      experiments {
+        key: "luci.recipes.use_python3"
+        value: 100
+      }
+      experiments {
+        key: "luci.use_realms"
+        value: 100
+      }
+    }
+    builders {
+      name: "pigweed-windows-main-host-disco"
+      swarming_host: "chromium-swarm.appspot.com"
+      dimensions: "cores:16"
+      dimensions: "cpu:x64|x86-64"
+      dimensions: "os:Windows-10"
+      dimensions: "pool:luci.pigweed.try"
+      exe {
+        cipd_package: "pigweed/infra/recipe_bundles/pigweed.googlesource.com/infra/recipes"
+        cipd_version: "refs/heads/main"
+        cmd: "luciexe"
+      }
+      properties:
+        '{'
+        '  "$pigweed/checkout": {'
+        '    "branch": "main",'
+        '    "equivalent_remotes": [],'
+        '    "match_branch": true,'
+        '    "remote": "https://pigweed.googlesource.com/pigweed/pigweed",'
+        '    "use_repo": false'
+        '  },'
+        '  "$pigweed/environment": {'
+        '    "config_file": "pw_env_setup/config.json"'
+        '  },'
+        '  "$pigweed/pw_presubmit": {'
+        '    "step": ['
+        '      "gn_full_build_check"'
+        '    ]'
+        '  },'
+        '  "recipe": "pw_presubmit",'
+        '  "step": ['
+        '    "gn_full_build_check"'
+        '  ]'
+        '}'
+      priority: 40
+      execution_timeout_secs: 2700
+      caches {
+        name: "builder"
+        path: "builder"
+      }
+      caches {
+        name: "pip"
+        path: "pip"
+        wait_for_warm_cache_secs: 60
+      }
+      service_account: "pigweed-try-builder@pigweed.google.com.iam.gserviceaccount.com"
+      experiments {
+        key: "luci.recipes.use_python3"
+        value: 100
+      }
+      experiments {
+        key: "luci.use_realms"
+        value: 100
+      }
+    }
+    builders {
+      name: "pigweed-windows-qemu-compatibility-clang-armgcc"
+      swarming_host: "chromium-swarm.appspot.com"
+      dimensions: "cores:16"
+      dimensions: "cpu:x64|x86-64"
+      dimensions: "os:Windows-10"
+      dimensions: "pool:luci.pigweed.try"
+      exe {
+        cipd_package: "pigweed/infra/recipe_bundles/pigweed.googlesource.com/infra/recipes"
+        cipd_version: "refs/heads/main"
+        cmd: "luciexe"
+      }
+      properties:
+        '{'
+        '  "$pigweed/checkout": {'
+        '    "branch": "main",'
+        '    "equivalent_remotes": [],'
+        '    "match_branch": true,'
+        '    "remote": "https://pigweed.googlesource.com/pigweed/pigweed",'
+        '    "use_repo": false'
+        '  },'
+        '  "$pigweed/environment": {'
+        '    "config_file": "pw_env_setup/compatibility.json"'
+        '  },'
+        '  "$pigweed/pw_presubmit": {'
+        '    "step": ['
+        '      "gn_full_qemu_check"'
+        '    ]'
+        '  },'
+        '  "dry_run": true,'
+        '  "recipe": "pw_presubmit",'
+        '  "step": ['
+        '    "gn_full_qemu_check"'
+        '  ]'
+        '}'
+      priority: 50
+      execution_timeout_secs: 2700
+      caches {
+        name: "builder"
+        path: "builder"
+      }
+      caches {
+        name: "pip"
+        path: "pip"
+        wait_for_warm_cache_secs: 60
+      }
+      service_account: "pigweed-try-builder@pigweed.google.com.iam.gserviceaccount.com"
+      experimental: YES
+      experiments {
+        key: "luci.recipes.use_python3"
+        value: 100
+      }
+      experiments {
+        key: "luci.use_realms"
+        value: 100
+      }
+    }
+    builders {
+      name: "pigweed-windows-qemu-main-clang-armgcc"
+      swarming_host: "chromium-swarm.appspot.com"
+      dimensions: "cores:16"
+      dimensions: "cpu:x64|x86-64"
+      dimensions: "os:Windows-10"
+      dimensions: "pool:luci.pigweed.try"
+      exe {
+        cipd_package: "pigweed/infra/recipe_bundles/pigweed.googlesource.com/infra/recipes"
+        cipd_version: "refs/heads/main"
+        cmd: "luciexe"
+      }
+      properties:
+        '{'
+        '  "$pigweed/checkout": {'
+        '    "branch": "main",'
+        '    "equivalent_remotes": [],'
+        '    "match_branch": true,'
+        '    "remote": "https://pigweed.googlesource.com/pigweed/pigweed",'
+        '    "use_repo": false'
+        '  },'
+        '  "$pigweed/environment": {'
+        '    "config_file": "pw_env_setup/config.json"'
+        '  },'
+        '  "$pigweed/pw_presubmit": {'
+        '    "step": ['
+        '      "gn_full_qemu_check"'
+        '    ]'
+        '  },'
+        '  "dry_run": true,'
+        '  "recipe": "pw_presubmit",'
+        '  "step": ['
+        '    "gn_full_qemu_check"'
+        '  ]'
+        '}'
+      priority: 50
+      execution_timeout_secs: 2700
+      caches {
+        name: "builder"
+        path: "builder"
+      }
+      caches {
+        name: "pip"
+        path: "pip"
+        wait_for_warm_cache_secs: 60
+      }
+      service_account: "pigweed-try-builder@pigweed.google.com.iam.gserviceaccount.com"
+      experimental: YES
+      experiments {
+        key: "luci.recipes.use_python3"
+        value: 100
+      }
+      experiments {
+        key: "luci.use_realms"
+        value: 100
+      }
+    }
+    builders {
+      name: "pigweed-xref-generator"
+      swarming_host: "chromium-swarm.appspot.com"
+      dimensions: "cores:16"
+      dimensions: "cpu:x64|x86-64"
+      dimensions: "os:Debian"
+      dimensions: "pool:luci.pigweed.try"
+      exe {
+        cipd_package: "pigweed/infra/recipe_bundles/pigweed.googlesource.com/infra/recipes"
+        cipd_version: "refs/heads/main"
+        cmd: "luciexe"
+      }
+      properties:
+        '{'
+        '  "$pigweed/checkout": {'
+        '    "branch": "main",'
+        '    "equivalent_remotes": [],'
+        '    "match_branch": true,'
+        '    "remote": "https://pigweed.googlesource.com/pigweed/pigweed",'
+        '    "use_repo": false'
+        '  },'
+        '  "$pigweed/environment": {'
+        '    "config_file": "pw_env_setup/config.json"'
+        '  },'
+        '  "recipe": "xrefs"'
+        '}'
+      priority: 40
+      execution_timeout_secs: 2700
+      caches {
+        name: "builder"
+        path: "builder"
+      }
+      caches {
+        name: "pip"
+        path: "pip"
+        wait_for_warm_cache_secs: 60
+      }
+      service_account: "pigweed-try-builder@pigweed.google.com.iam.gserviceaccount.com"
+      experiments {
+        key: "luci.recipes.use_python3"
+        value: 100
+      }
+      experiments {
+        key: "luci.use_realms"
+        value: 100
+      }
+    }
+    builders {
+      name: "recipes-unittest-only"
+      swarming_host: "chromium-swarm.appspot.com"
+      dimensions: "120:cores:2"
+      dimensions: "cpu:x64|x86-64"
+      dimensions: "os:Debian"
+      dimensions: "pool:luci.pigweed.try"
+      exe {
+        cipd_package: "pigweed/infra/recipe_bundles/pigweed.googlesource.com/infra/recipes"
+        cipd_version: "refs/heads/main"
+        cmd: "luciexe"
+      }
+      properties:
+        '{'
+        '  "$pigweed/checkout": {'
+        '    "branch": "main",'
+        '    "equivalent_remotes": [],'
+        '    "match_branch": true,'
+        '    "remote": "https://pigweed.googlesource.com/infra/recipes",'
+        '    "use_repo": false'
+        '  },'
+        '  "recipe": "recipes",'
+        '  "unittest_only": true'
+        '}'
+      priority: 40
+      execution_timeout_secs: 3600
+      caches {
+        name: "builder"
+        path: "builder"
+      }
+      service_account: "pigweed-try-builder@pigweed.google.com.iam.gserviceaccount.com"
+      experiments {
+        key: "luci.recipes.use_python3"
+        value: 100
+      }
+      experiments {
+        key: "luci.use_realms"
+        value: 100
+      }
+    }
+    builders {
+      name: "recipes-with-led"
+      swarming_host: "chromium-swarm.appspot.com"
+      dimensions: "900:cores:2"
+      dimensions: "cpu:x64|x86-64"
+      dimensions: "os:Debian"
+      dimensions: "pool:luci.pigweed.try"
+      exe {
+        cipd_package: "pigweed/infra/recipe_bundles/pigweed.googlesource.com/infra/recipes"
+        cipd_version: "refs/heads/main"
+        cmd: "luciexe"
+      }
+      properties:
+        '{'
+        '  "$pigweed/checkout": {'
+        '    "branch": "main",'
+        '    "equivalent_remotes": [],'
+        '    "match_branch": true,'
+        '    "remote": "https://pigweed.googlesource.com/infra/recipes",'
+        '    "use_repo": false'
+        '  },'
+        '  "recipe": "recipes",'
+        '  "recipe_testing_options": {'
+        '    "projects": ['
+        '      {'
+        '        "cq_config_name": "commit-queue.cfg",'
+        '        "include_restricted": false,'
+        '        "include_unrestricted": true,'
+        '        "name": "pigweed"'
+        '      }'
+        '    ],'
+        '    "use_buildbucket": false'
+        '  },'
+        '  "unittest_only": false'
+        '}'
+      priority: 40
+      execution_timeout_secs: 14400
+      caches {
+        name: "builder"
+        path: "builder"
+      }
+      service_account: "pigweed-try-builder@pigweed.google.com.iam.gserviceaccount.com"
+      experiments {
+        key: "luci.recipes.use_python3"
+        value: 100
+      }
+      experiments {
+        key: "luci.use_realms"
+        value: 100
+      }
+    }
+    builders {
+      name: "sample-project-default-build-linux"
+      swarming_host: "chromium-swarm.appspot.com"
+      dimensions: "cores:16"
+      dimensions: "cpu:x64|x86-64"
+      dimensions: "os:Debian"
+      dimensions: "pool:luci.pigweed.try"
+      exe {
+        cipd_package: "pigweed/infra/recipe_bundles/pigweed.googlesource.com/infra/recipes"
+        cipd_version: "refs/heads/main"
+        cmd: "luciexe"
+      }
+      properties:
+        '{'
+        '  "$pigweed/checkout": {'
+        '    "branch": "main",'
+        '    "equivalent_remotes": [],'
+        '    "match_branch": true,'
+        '    "remote": "https://pigweed.googlesource.com/pigweed/sample_project",'
+        '    "use_repo": false'
+        '  },'
+        '  "$pigweed/environment": {'
+        '    "config_file": "env_setup.json",'
+        '    "relative_pigweed_root": "third_party/pigweed",'
+        '    "root_variable_name": "SAMPLE_PROJECT_ROOT"'
+        '  },'
+        '  "$pigweed/pw_presubmit": {'
+        '    "step": ['
+        '      "default_build"'
+        '    ]'
+        '  },'
+        '  "recipe": "pw_presubmit",'
+        '  "step": ['
+        '    "default_build"'
+        '  ]'
+        '}'
+      priority: 40
+      execution_timeout_secs: 3600
+      caches {
+        name: "builder"
+        path: "builder"
+      }
+      caches {
+        name: "pip"
+        path: "pip"
+        wait_for_warm_cache_secs: 60
+      }
+      service_account: "pigweed-try-builder@pigweed.google.com.iam.gserviceaccount.com"
+      experiments {
+        key: "luci.recipes.use_python3"
+        value: 100
+      }
+      experiments {
+        key: "luci.use_realms"
+        value: 100
+      }
+    }
+    builders {
+      name: "sample-project-default-build-mac"
+      swarming_host: "chromium-swarm.appspot.com"
+      dimensions: "cpu:x64|x86-64"
+      dimensions: "os:Mac"
+      dimensions: "pool:luci.pigweed.try"
+      exe {
+        cipd_package: "pigweed/infra/recipe_bundles/pigweed.googlesource.com/infra/recipes"
+        cipd_version: "refs/heads/main"
+        cmd: "luciexe"
+      }
+      properties:
+        '{'
+        '  "$pigweed/checkout": {'
+        '    "branch": "main",'
+        '    "equivalent_remotes": [],'
+        '    "match_branch": true,'
+        '    "remote": "https://pigweed.googlesource.com/pigweed/sample_project",'
+        '    "use_repo": false'
+        '  },'
+        '  "$pigweed/environment": {'
+        '    "config_file": "env_setup.json",'
+        '    "relative_pigweed_root": "third_party/pigweed",'
+        '    "root_variable_name": "SAMPLE_PROJECT_ROOT"'
+        '  },'
+        '  "$pigweed/pw_presubmit": {'
+        '    "step": ['
+        '      "default_build"'
+        '    ]'
+        '  },'
+        '  "macos_sdk.version": "11c29",'
+        '  "recipe": "pw_presubmit",'
+        '  "step": ['
+        '    "default_build"'
+        '  ]'
+        '}'
+      priority: 40
+      execution_timeout_secs: 3600
+      caches {
+        name: "builder"
+        path: "builder"
+      }
+      caches {
+        name: "macos_sdk"
+        path: "macos_sdk"
+        wait_for_warm_cache_secs: 120
+      }
+      caches {
+        name: "pip"
+        path: "pip"
+        wait_for_warm_cache_secs: 60
+      }
+      service_account: "pigweed-try-builder@pigweed.google.com.iam.gserviceaccount.com"
+      experiments {
+        key: "luci.recipes.use_python3"
+        value: 100
+      }
+      experiments {
+        key: "luci.use_realms"
+        value: 100
+      }
+    }
+    builders {
+      name: "sample-project-default-build-windows"
+      swarming_host: "chromium-swarm.appspot.com"
+      dimensions: "cores:16"
+      dimensions: "cpu:x64|x86-64"
+      dimensions: "os:Windows-10"
+      dimensions: "pool:luci.pigweed.try"
+      exe {
+        cipd_package: "pigweed/infra/recipe_bundles/pigweed.googlesource.com/infra/recipes"
+        cipd_version: "refs/heads/main"
+        cmd: "luciexe"
+      }
+      properties:
+        '{'
+        '  "$pigweed/checkout": {'
+        '    "branch": "main",'
+        '    "equivalent_remotes": [],'
+        '    "match_branch": true,'
+        '    "remote": "https://pigweed.googlesource.com/pigweed/sample_project",'
+        '    "use_repo": false'
+        '  },'
+        '  "$pigweed/environment": {'
+        '    "config_file": "env_setup.json",'
+        '    "relative_pigweed_root": "third_party/pigweed",'
+        '    "root_variable_name": "SAMPLE_PROJECT_ROOT"'
+        '  },'
+        '  "$pigweed/pw_presubmit": {'
+        '    "step": ['
+        '      "default_build"'
+        '    ]'
+        '  },'
+        '  "recipe": "pw_presubmit",'
+        '  "step": ['
+        '    "default_build"'
+        '  ]'
+        '}'
+      priority: 40
+      execution_timeout_secs: 3600
+      caches {
+        name: "builder"
+        path: "builder"
+      }
+      caches {
+        name: "pip"
+        path: "pip"
+        wait_for_warm_cache_secs: 60
+      }
+      service_account: "pigweed-try-builder@pigweed.google.com.iam.gserviceaccount.com"
+      experiments {
+        key: "luci.recipes.use_python3"
+        value: 100
+      }
+      experiments {
+        key: "luci.use_realms"
+        value: 100
+      }
+    }
+    builders {
+      name: "sample-project-envtest-linux"
+      swarming_host: "chromium-swarm.appspot.com"
+      dimensions: "cores:16"
+      dimensions: "cpu:x64|x86-64"
+      dimensions: "os:Debian"
+      dimensions: "pool:luci.pigweed.try"
+      exe {
+        cipd_package: "pigweed/infra/recipe_bundles/pigweed.googlesource.com/infra/recipes"
+        cipd_version: "refs/heads/main"
+        cmd: "luciexe"
+      }
+      properties:
+        '{'
+        '  "$pigweed/checkout": {'
+        '    "branch": "main",'
+        '    "equivalent_remotes": [],'
+        '    "match_branch": true,'
+        '    "remote": "https://pigweed.googlesource.com/pigweed/sample_project",'
+        '    "use_repo": false'
+        '  },'
+        '  "command": "python -m pw_cli --directory $PW_PROJECT_ROOT --loglevel debug presubmit --step gn_gen_check",'
+        '  "recipe": "envtest"'
+        '}'
+      priority: 40
+      execution_timeout_secs: 3600
+      caches {
+        name: "builder"
+        path: "builder"
+      }
+      caches {
+        name: "pip"
+        path: "pip"
+        wait_for_warm_cache_secs: 60
+      }
+      service_account: "pigweed-try-builder@pigweed.google.com.iam.gserviceaccount.com"
+      experiments {
+        key: "luci.recipes.use_python3"
+        value: 100
+      }
+      experiments {
+        key: "luci.use_realms"
+        value: 100
+      }
+    }
+    builders {
+      name: "sample-project-envtest-mac"
+      swarming_host: "chromium-swarm.appspot.com"
+      dimensions: "cpu:x64|x86-64"
+      dimensions: "os:Mac"
+      dimensions: "pool:luci.pigweed.try"
+      exe {
+        cipd_package: "pigweed/infra/recipe_bundles/pigweed.googlesource.com/infra/recipes"
+        cipd_version: "refs/heads/main"
+        cmd: "luciexe"
+      }
+      properties:
+        '{'
+        '  "$pigweed/checkout": {'
+        '    "branch": "main",'
+        '    "equivalent_remotes": [],'
+        '    "match_branch": true,'
+        '    "remote": "https://pigweed.googlesource.com/pigweed/sample_project",'
+        '    "use_repo": false'
+        '  },'
+        '  "command": "python -m pw_cli --directory $PW_PROJECT_ROOT --loglevel debug presubmit --step gn_gen_check",'
+        '  "macos_sdk.version": "11c29",'
+        '  "recipe": "envtest"'
+        '}'
+      priority: 40
+      execution_timeout_secs: 3600
+      caches {
+        name: "builder"
+        path: "builder"
+      }
+      caches {
+        name: "macos_sdk"
+        path: "macos_sdk"
+        wait_for_warm_cache_secs: 120
+      }
+      caches {
+        name: "pip"
+        path: "pip"
+        wait_for_warm_cache_secs: 60
+      }
+      service_account: "pigweed-try-builder@pigweed.google.com.iam.gserviceaccount.com"
+      experiments {
+        key: "luci.recipes.use_python3"
+        value: 100
+      }
+      experiments {
+        key: "luci.use_realms"
+        value: 100
+      }
+    }
+    builders {
+      name: "sample-project-envtest-windows"
+      swarming_host: "chromium-swarm.appspot.com"
+      dimensions: "cores:16"
+      dimensions: "cpu:x64|x86-64"
+      dimensions: "os:Windows-10"
+      dimensions: "pool:luci.pigweed.try"
+      exe {
+        cipd_package: "pigweed/infra/recipe_bundles/pigweed.googlesource.com/infra/recipes"
+        cipd_version: "refs/heads/main"
+        cmd: "luciexe"
+      }
+      properties:
+        '{'
+        '  "$pigweed/checkout": {'
+        '    "branch": "main",'
+        '    "equivalent_remotes": [],'
+        '    "match_branch": true,'
+        '    "remote": "https://pigweed.googlesource.com/pigweed/sample_project",'
+        '    "use_repo": false'
+        '  },'
+        '  "command": "python -m pw_cli --directory $PW_PROJECT_ROOT --loglevel debug presubmit --step gn_gen_check",'
+        '  "dry_run": true,'
+        '  "recipe": "envtest"'
+        '}'
+      priority: 50
+      execution_timeout_secs: 3600
+      caches {
+        name: "builder"
+        path: "builder"
+      }
+      caches {
+        name: "pip"
+        path: "pip"
+        wait_for_warm_cache_secs: 60
+      }
+      service_account: "pigweed-try-builder@pigweed.google.com.iam.gserviceaccount.com"
+      experimental: YES
+      experiments {
+        key: "luci.recipes.use_python3"
+        value: 100
+      }
+      experiments {
+        key: "luci.use_realms"
+        value: 100
+      }
+    }
+    builders {
+      name: "sample-project-lintformat"
+      swarming_host: "chromium-swarm.appspot.com"
+      dimensions: "cores:16"
+      dimensions: "cpu:x64|x86-64"
+      dimensions: "os:Debian"
+      dimensions: "pool:luci.pigweed.try"
+      exe {
+        cipd_package: "pigweed/infra/recipe_bundles/pigweed.googlesource.com/infra/recipes"
+        cipd_version: "refs/heads/main"
+        cmd: "luciexe"
+      }
+      properties:
+        '{'
+        '  "$pigweed/checkout": {'
+        '    "branch": "main",'
+        '    "equivalent_remotes": [],'
+        '    "match_branch": true,'
+        '    "remote": "https://pigweed.googlesource.com/pigweed/sample_project",'
+        '    "use_repo": false'
+        '  },'
+        '  "$pigweed/environment": {'
+        '    "config_file": "env_setup.json",'
+        '    "relative_pigweed_root": "third_party/pigweed",'
+        '    "root_variable_name": "SAMPLE_PROJECT_ROOT"'
+        '  },'
+        '  "$pigweed/pw_presubmit": {'
+        '    "only_on_changed_files": true,'
+        '    "program": ['
+        '      "lintformat"'
+        '    ]'
+        '  },'
+        '  "only_on_changed_files": true,'
+        '  "program": ['
+        '    "lintformat"'
+        '  ],'
+        '  "recipe": "pw_presubmit"'
+        '}'
+      priority: 40
+      execution_timeout_secs: 1500
+      caches {
+        name: "builder"
+        path: "builder"
+      }
+      caches {
+        name: "pip"
+        path: "pip"
+        wait_for_warm_cache_secs: 60
+      }
+      service_account: "pigweed-try-builder@pigweed.google.com.iam.gserviceaccount.com"
+      experiments {
+        key: "luci.recipes.use_python3"
+        value: 100
+      }
+      experiments {
+        key: "luci.use_realms"
+        value: 100
+      }
+    }
+    builders {
+      name: "sample-project-lintformat-full"
+      swarming_host: "chromium-swarm.appspot.com"
+      dimensions: "cores:16"
+      dimensions: "cpu:x64|x86-64"
+      dimensions: "os:Debian"
+      dimensions: "pool:luci.pigweed.try"
+      exe {
+        cipd_package: "pigweed/infra/recipe_bundles/pigweed.googlesource.com/infra/recipes"
+        cipd_version: "refs/heads/main"
+        cmd: "luciexe"
+      }
+      properties:
+        '{'
+        '  "$pigweed/checkout": {'
+        '    "branch": "main",'
+        '    "equivalent_remotes": [],'
+        '    "match_branch": true,'
+        '    "remote": "https://pigweed.googlesource.com/pigweed/sample_project",'
+        '    "use_repo": false'
+        '  },'
+        '  "$pigweed/environment": {'
+        '    "config_file": "env_setup.json",'
+        '    "relative_pigweed_root": "third_party/pigweed",'
+        '    "root_variable_name": "SAMPLE_PROJECT_ROOT"'
+        '  },'
+        '  "$pigweed/pw_presubmit": {'
+        '    "only_on_changed_files": false,'
+        '    "program": ['
+        '      "lintformat"'
+        '    ]'
+        '  },'
+        '  "only_on_changed_files": false,'
+        '  "program": ['
+        '    "lintformat"'
+        '  ],'
+        '  "recipe": "pw_presubmit"'
+        '}'
+      priority: 40
+      execution_timeout_secs: 1500
+      caches {
+        name: "builder"
+        path: "builder"
+      }
+      caches {
+        name: "pip"
+        path: "pip"
+        wait_for_warm_cache_secs: 60
+      }
+      service_account: "pigweed-try-builder@pigweed.google.com.iam.gserviceaccount.com"
+      experiments {
+        key: "luci.recipes.use_python3"
+        value: 100
+      }
+      experiments {
+        key: "luci.use_realms"
+        value: 100
+      }
+    }
+    builders {
+      name: "sample-project-renode-test"
+      swarming_host: "chromium-swarm.appspot.com"
+      dimensions: "cores:16"
+      dimensions: "cpu:x64|x86-64"
+      dimensions: "os:Debian"
+      dimensions: "pool:luci.pigweed.try"
+      exe {
+        cipd_package: "pigweed/infra/recipe_bundles/pigweed.googlesource.com/infra/recipes"
+        cipd_version: "refs/heads/main"
+        cmd: "luciexe"
+      }
+      properties:
+        '{'
+        '  "$pigweed/checkout": {'
+        '    "branch": "main",'
+        '    "equivalent_remotes": [],'
+        '    "match_branch": true,'
+        '    "remote": "https://pigweed.googlesource.com/pigweed/sample_project",'
+        '    "use_repo": false'
+        '  },'
+        '  "$pigweed/environment": {'
+        '    "config_file": "env_setup.json",'
+        '    "relative_pigweed_root": "third_party/pigweed",'
+        '    "root_variable_name": "SAMPLE_PROJECT_ROOT"'
+        '  },'
+        '  "dry_run": true,'
+        '  "recipe": "run_script",'
+        '  "script": "pigweed/pw_unit_test/renode/test.sh"'
+        '}'
+      priority: 50
+      execution_timeout_secs: 3600
+      caches {
+        name: "builder"
+        path: "builder"
+      }
+      caches {
+        name: "pip"
+        path: "pip"
+        wait_for_warm_cache_secs: 60
+      }
+      service_account: "pigweed-try-builder@pigweed.google.com.iam.gserviceaccount.com"
+      experimental: YES
+      experiments {
+        key: "luci.recipes.use_python3"
+        value: 100
+      }
+      experiments {
+        key: "luci.use_realms"
+        value: 100
+      }
+    }
+    builders {
+      name: "sample-project-xref-generator"
+      swarming_host: "chromium-swarm.appspot.com"
+      dimensions: "cores:16"
+      dimensions: "cpu:x64|x86-64"
+      dimensions: "os:Debian"
+      dimensions: "pool:luci.pigweed.try"
+      exe {
+        cipd_package: "pigweed/infra/recipe_bundles/pigweed.googlesource.com/infra/recipes"
+        cipd_version: "refs/heads/main"
+        cmd: "luciexe"
+      }
+      properties:
+        '{'
+        '  "$pigweed/checkout": {'
+        '    "branch": "main",'
+        '    "equivalent_remotes": [],'
+        '    "match_branch": true,'
+        '    "remote": "https://pigweed.googlesource.com/pigweed/sample_project",'
+        '    "use_repo": false'
+        '  },'
+        '  "$pigweed/environment": {'
+        '    "config_file": "env_setup.json",'
+        '    "relative_pigweed_root": "third_party/pigweed",'
+        '    "root_variable_name": "SAMPLE_PROJECT_ROOT"'
+        '  },'
+        '  "recipe": "xrefs"'
+        '}'
+      priority: 40
+      execution_timeout_secs: 3600
+      caches {
+        name: "builder"
+        path: "builder"
+      }
+      caches {
+        name: "pip"
+        path: "pip"
+        wait_for_warm_cache_secs: 60
+      }
+      service_account: "pigweed-try-builder@pigweed.google.com.iam.gserviceaccount.com"
+      experiments {
+        key: "luci.recipes.use_python3"
+        value: 100
+      }
+      experiments {
+        key: "luci.use_realms"
+        value: 100
+      }
+    }
+    builders {
+      name: "static-checks-experimental"
+      swarming_host: "chromium-swarm.appspot.com"
+      dimensions: "60:cores:2"
+      dimensions: "cpu:x64|x86-64"
+      dimensions: "os:Debian"
+      dimensions: "pool:luci.pigweed.try"
+      exe {
+        cipd_package: "pigweed/infra/recipe_bundles/pigweed.googlesource.com/infra/recipes"
+        cipd_version: "refs/heads/main"
+        cmd: "luciexe"
+      }
+      properties:
+        '{'
+        '  "doc_extensions": null,'
+        '  "forbid_requires": false,'
+        '  "ignored_accounts": ['
+        '    "pigweed-integration-roller@pigweed.google.com.iam.gserviceaccount.com",'
+        '    "pigweed-roller@pigweed.google.com.iam.gserviceaccount.com"'
+        '  ],'
+        '  "readability": [],'
+        '  "recipe": "static_checks",'
+        '  "require_tested": false'
+        '}'
+      priority: 40
+      execution_timeout_secs: 300
+      caches {
+        name: "builder"
+        path: "builder"
+      }
+      service_account: "pigweed-try-builder@pigweed.google.com.iam.gserviceaccount.com"
+      experiments {
+        key: "luci.recipes.use_python3"
+        value: 100
+      }
+      experiments {
+        key: "luci.use_realms"
+        value: 100
+      }
+    }
+    builders {
+      name: "static-checks-pigweed"
+      swarming_host: "chromium-swarm.appspot.com"
+      dimensions: "60:cores:2"
+      dimensions: "cpu:x64|x86-64"
+      dimensions: "os:Debian"
+      dimensions: "pool:luci.pigweed.try"
+      exe {
+        cipd_package: "pigweed/infra/recipe_bundles/pigweed.googlesource.com/infra/recipes"
+        cipd_version: "refs/heads/main"
+        cmd: "luciexe"
+      }
+      properties:
+        '{'
+        '  "doc_extensions": ['
+        '    ".md",'
+        '    ".rst"'
+        '  ],'
+        '  "forbid_requires": false,'
+        '  "ignored_accounts": ['
+        '    "pigweed-integration-roller@pigweed.google.com.iam.gserviceaccount.com",'
+        '    "pigweed-roller@pigweed.google.com.iam.gserviceaccount.com"'
+        '  ],'
+        '  "readability": [],'
+        '  "recipe": "static_checks",'
+        '  "require_tested": false'
+        '}'
+      priority: 40
+      execution_timeout_secs: 300
+      caches {
+        name: "builder"
+        path: "builder"
+      }
+      service_account: "pigweed-try-builder@pigweed.google.com.iam.gserviceaccount.com"
+      experiments {
+        key: "luci.recipes.use_python3"
+        value: 100
+      }
+      experiments {
+        key: "luci.use_realms"
+        value: 100
+      }
+    }
+    builders {
+      name: "static-checks-sample-project"
+      swarming_host: "chromium-swarm.appspot.com"
+      dimensions: "60:cores:2"
+      dimensions: "cpu:x64|x86-64"
+      dimensions: "os:Debian"
+      dimensions: "pool:luci.pigweed.try"
+      exe {
+        cipd_package: "pigweed/infra/recipe_bundles/pigweed.googlesource.com/infra/recipes"
+        cipd_version: "refs/heads/main"
+        cmd: "luciexe"
+      }
+      properties:
+        '{'
+        '  "doc_extensions": null,'
+        '  "forbid_requires": false,'
+        '  "ignored_accounts": ['
+        '    "pigweed-integration-roller@pigweed.google.com.iam.gserviceaccount.com",'
+        '    "pigweed-roller@pigweed.google.com.iam.gserviceaccount.com"'
+        '  ],'
+        '  "readability": [],'
+        '  "recipe": "static_checks",'
+        '  "require_tested": false'
+        '}'
+      priority: 40
+      execution_timeout_secs: 300
+      caches {
+        name: "builder"
+        path: "builder"
+      }
+      service_account: "pigweed-try-builder@pigweed.google.com.iam.gserviceaccount.com"
+      experiments {
+        key: "luci.recipes.use_python3"
+        value: 100
+      }
+      experiments {
+        key: "luci.use_realms"
+        value: 100
+      }
+    }
+  }
+}
diff --git a/generated/pigweed/luci/luci-logdog.cfg b/generated/pigweed/luci/luci-logdog.cfg
new file mode 100644
index 0000000..fa6eb7e
--- /dev/null
+++ b/generated/pigweed/luci/luci-logdog.cfg
@@ -0,0 +1,9 @@
+# Auto-generated by lucicfg.
+# Do not modify manually.
+#
+# For the schema of this file, see ProjectConfig message:
+#   https://luci-config.appspot.com/schemas/projects:luci-logdog.cfg
+
+reader_auth_groups: "all"
+writer_auth_groups: "project-pigweed-logdog-writers"
+archive_gs_bucket: "logdog-pigweed-archive"
diff --git a/generated/pigweed/luci/luci-notify.cfg b/generated/pigweed/luci/luci-notify.cfg
new file mode 100644
index 0000000..cd0cd35
--- /dev/null
+++ b/generated/pigweed/luci/luci-notify.cfg
@@ -0,0 +1,2049 @@
+# Auto-generated by lucicfg.
+# Do not modify manually.
+#
+# For the schema of this file, see ProjectConfig message:
+#   https://luci-config.appspot.com/schemas/projects:luci-notify.cfg
+
+notifiers {
+  notifications {
+    on_occurrence: FAILURE
+    on_new_status: SUCCESS
+    email {
+      recipients: "pigweed-infra-alerts@google.com"
+    }
+    template: "default"
+  }
+  notifications {
+    on_occurrence: INFRA_FAILURE
+    email {
+      recipients: "pigweed-infra-alerts@google.com"
+    }
+    template: "default"
+  }
+  builders {
+    bucket: "ci"
+    name: "docs-builder"
+    repository: "https://pigweed.googlesource.com/pigweed/pigweed"
+  }
+}
+notifiers {
+  notifications {
+    on_occurrence: FAILURE
+    on_new_status: SUCCESS
+    email {
+      recipients: "pigweed-build-notify@google.com"
+    }
+    template: "default"
+  }
+  notifications {
+    on_occurrence: INFRA_FAILURE
+    email {
+      recipients: "pigweed-build-notify@google.com"
+      recipients: "pigweed-infra-alerts@google.com"
+    }
+    template: "default"
+  }
+  builders {
+    bucket: "ci"
+    name: "envtest-linux-python2"
+    repository: "https://pigweed.googlesource.com/pigweed/pigweed"
+  }
+}
+notifiers {
+  notifications {
+    on_occurrence: FAILURE
+    on_new_status: SUCCESS
+    email {
+      recipients: "pigweed-build-notify@google.com"
+    }
+    template: "default"
+  }
+  notifications {
+    on_occurrence: INFRA_FAILURE
+    email {
+      recipients: "pigweed-build-notify@google.com"
+      recipients: "pigweed-infra-alerts@google.com"
+    }
+    template: "default"
+  }
+  builders {
+    bucket: "ci"
+    name: "envtest-linux-python3"
+    repository: "https://pigweed.googlesource.com/pigweed/pigweed"
+  }
+}
+notifiers {
+  notifications {
+    on_occurrence: FAILURE
+    on_new_status: SUCCESS
+    email {
+      recipients: "pigweed-build-notify@google.com"
+    }
+    template: "default"
+  }
+  notifications {
+    on_occurrence: INFRA_FAILURE
+    email {
+      recipients: "pigweed-build-notify@google.com"
+      recipients: "pigweed-infra-alerts@google.com"
+    }
+    template: "default"
+  }
+  builders {
+    bucket: "ci"
+    name: "envtest-mac"
+    repository: "https://pigweed.googlesource.com/pigweed/pigweed"
+  }
+}
+notifiers {
+  notifications {
+    on_occurrence: FAILURE
+    on_new_status: SUCCESS
+    email {
+      recipients: "pigweed-build-notify@google.com"
+    }
+    template: "default"
+  }
+  notifications {
+    on_occurrence: INFRA_FAILURE
+    email {
+      recipients: "pigweed-build-notify@google.com"
+      recipients: "pigweed-infra-alerts@google.com"
+    }
+    template: "default"
+  }
+  builders {
+    bucket: "ci"
+    name: "envtest-windows"
+    repository: "https://pigweed.googlesource.com/pigweed/pigweed"
+  }
+}
+notifiers {
+  notifications {
+    on_occurrence: FAILURE
+    on_new_status: SUCCESS
+    email {
+      recipients: "pigweed-build-notify@google.com"
+    }
+    template: "default"
+  }
+  notifications {
+    on_occurrence: INFRA_FAILURE
+    email {
+      recipients: "pigweed-build-notify@google.com"
+      recipients: "pigweed-infra-alerts@google.com"
+    }
+    template: "default"
+  }
+  builders {
+    bucket: "ci"
+    name: "experimental-full"
+    repository: "https://pigweed.googlesource.com/pigweed/experimental"
+  }
+}
+notifiers {
+  notifications {
+    on_occurrence: FAILURE
+    on_new_status: SUCCESS
+    email {
+      recipients: "pigweed-infra-alerts@google.com"
+    }
+    template: "default"
+  }
+  notifications {
+    on_occurrence: INFRA_FAILURE
+    email {
+      recipients: "pigweed-infra-alerts@google.com"
+    }
+    template: "default"
+  }
+  builders {
+    bucket: "ci"
+    name: "host-tools-builder-linux"
+    repository: "https://pigweed.googlesource.com/pigweed/pigweed"
+  }
+}
+notifiers {
+  notifications {
+    on_occurrence: FAILURE
+    on_new_status: SUCCESS
+    email {
+      recipients: "pigweed-infra-alerts@google.com"
+    }
+    template: "default"
+  }
+  notifications {
+    on_occurrence: INFRA_FAILURE
+    email {
+      recipients: "pigweed-infra-alerts@google.com"
+    }
+    template: "default"
+  }
+  builders {
+    bucket: "ci"
+    name: "host-tools-builder-mac"
+    repository: "https://pigweed.googlesource.com/pigweed/pigweed"
+  }
+}
+notifiers {
+  notifications {
+    on_occurrence: FAILURE
+    on_new_status: SUCCESS
+    email {
+      recipients: "pigweed-infra-alerts@google.com"
+    }
+    template: "default"
+  }
+  notifications {
+    on_occurrence: INFRA_FAILURE
+    email {
+      recipients: "pigweed-infra-alerts@google.com"
+    }
+    template: "default"
+  }
+  builders {
+    bucket: "ci"
+    name: "host-tools-builder-windows"
+    repository: "https://pigweed.googlesource.com/pigweed/pigweed"
+  }
+}
+notifiers {
+  notifications {
+    on_occurrence: FAILURE
+    on_new_status: SUCCESS
+    email {
+      recipients: "pigweed-build-notify@google.com"
+    }
+    template: "default"
+  }
+  notifications {
+    on_occurrence: INFRA_FAILURE
+    email {
+      recipients: "pigweed-build-notify@google.com"
+      recipients: "pigweed-infra-alerts@google.com"
+    }
+    template: "default"
+  }
+  builders {
+    bucket: "ci"
+    name: "pigweed-lintformat"
+    repository: "https://pigweed.googlesource.com/pigweed/pigweed"
+  }
+}
+notifiers {
+  notifications {
+    on_occurrence: FAILURE
+    on_new_status: SUCCESS
+    email {
+      recipients: "pigweed-build-notify@google.com"
+    }
+    template: "default"
+  }
+  notifications {
+    on_occurrence: INFRA_FAILURE
+    email {
+      recipients: "pigweed-build-notify@google.com"
+      recipients: "pigweed-infra-alerts@google.com"
+    }
+    template: "default"
+  }
+  builders {
+    bucket: "ci"
+    name: "pigweed-linux-bazel-host-clang"
+    repository: "https://pigweed.googlesource.com/pigweed/pigweed"
+  }
+}
+notifiers {
+  notifications {
+    on_occurrence: FAILURE
+    on_new_status: SUCCESS
+    email {
+      recipients: "pigweed-build-notify@google.com"
+    }
+    template: "default"
+  }
+  notifications {
+    on_occurrence: INFRA_FAILURE
+    email {
+      recipients: "pigweed-build-notify@google.com"
+      recipients: "pigweed-infra-alerts@google.com"
+    }
+    template: "default"
+  }
+  builders {
+    bucket: "ci"
+    name: "pigweed-linux-cmake-host-clang"
+    repository: "https://pigweed.googlesource.com/pigweed/pigweed"
+  }
+}
+notifiers {
+  notifications {
+    on_occurrence: FAILURE
+    on_new_status: SUCCESS
+    email {
+      recipients: "pigweed-build-notify@google.com"
+    }
+    template: "default"
+  }
+  notifications {
+    on_occurrence: INFRA_FAILURE
+    email {
+      recipients: "pigweed-build-notify@google.com"
+      recipients: "pigweed-infra-alerts@google.com"
+    }
+    template: "default"
+  }
+  builders {
+    bucket: "ci"
+    name: "pigweed-linux-compatibility-host-disco"
+    repository: "https://pigweed.googlesource.com/pigweed/pigweed"
+  }
+}
+notifiers {
+  notifications {
+    on_occurrence: FAILURE
+    on_new_status: SUCCESS
+    email {
+      recipients: "pigweed-build-notify@google.com"
+    }
+    template: "default"
+  }
+  notifications {
+    on_occurrence: INFRA_FAILURE
+    email {
+      recipients: "pigweed-build-notify@google.com"
+      recipients: "pigweed-infra-alerts@google.com"
+    }
+    template: "default"
+  }
+  builders {
+    bucket: "ci"
+    name: "pigweed-linux-gn-crypto-boringssl"
+    repository: "https://pigweed.googlesource.com/pigweed/pigweed"
+  }
+}
+notifiers {
+  notifications {
+    on_occurrence: FAILURE
+    on_new_status: SUCCESS
+    email {
+      recipients: "pigweed-build-notify@google.com"
+    }
+    template: "default"
+  }
+  notifications {
+    on_occurrence: INFRA_FAILURE
+    email {
+      recipients: "pigweed-build-notify@google.com"
+      recipients: "pigweed-infra-alerts@google.com"
+    }
+    template: "default"
+  }
+  builders {
+    bucket: "ci"
+    name: "pigweed-linux-gn-crypto-build-micro-ecc"
+    repository: "https://pigweed.googlesource.com/pigweed/pigweed"
+  }
+}
+notifiers {
+  notifications {
+    on_occurrence: FAILURE
+    on_new_status: SUCCESS
+    email {
+      recipients: "pigweed-build-notify@google.com"
+    }
+    template: "default"
+  }
+  notifications {
+    on_occurrence: INFRA_FAILURE
+    email {
+      recipients: "pigweed-build-notify@google.com"
+      recipients: "pigweed-infra-alerts@google.com"
+    }
+    template: "default"
+  }
+  builders {
+    bucket: "ci"
+    name: "pigweed-linux-gn-crypto-mbedtls"
+    repository: "https://pigweed.googlesource.com/pigweed/pigweed"
+  }
+}
+notifiers {
+  notifications {
+    on_occurrence: FAILURE
+    on_new_status: SUCCESS
+    email {
+      recipients: "pigweed-build-notify@google.com"
+    }
+    template: "default"
+  }
+  notifications {
+    on_occurrence: INFRA_FAILURE
+    email {
+      recipients: "pigweed-build-notify@google.com"
+      recipients: "pigweed-infra-alerts@google.com"
+    }
+    template: "default"
+  }
+  builders {
+    bucket: "ci"
+    name: "pigweed-linux-gn-nanopb"
+    repository: "https://pigweed.googlesource.com/pigweed/pigweed"
+  }
+}
+notifiers {
+  notifications {
+    on_occurrence: FAILURE
+    on_new_status: SUCCESS
+    email {
+      recipients: "pigweed-build-notify@google.com"
+    }
+    template: "default"
+  }
+  notifications {
+    on_occurrence: INFRA_FAILURE
+    email {
+      recipients: "pigweed-build-notify@google.com"
+      recipients: "pigweed-infra-alerts@google.com"
+    }
+    template: "default"
+  }
+  builders {
+    bucket: "ci"
+    name: "pigweed-linux-gn-software-update"
+    repository: "https://pigweed.googlesource.com/pigweed/pigweed"
+  }
+}
+notifiers {
+  notifications {
+    on_occurrence: FAILURE
+    on_new_status: SUCCESS
+    email {
+      recipients: "pigweed-build-notify@google.com"
+    }
+    template: "default"
+  }
+  notifications {
+    on_occurrence: INFRA_FAILURE
+    email {
+      recipients: "pigweed-build-notify@google.com"
+      recipients: "pigweed-infra-alerts@google.com"
+    }
+    template: "default"
+  }
+  builders {
+    bucket: "ci"
+    name: "pigweed-linux-gn-teensy"
+    repository: "https://pigweed.googlesource.com/pigweed/pigweed"
+  }
+}
+notifiers {
+  notifications {
+    on_occurrence: FAILURE
+    on_new_status: SUCCESS
+    email {
+      recipients: "pigweed-build-notify@google.com"
+    }
+    template: "default"
+  }
+  notifications {
+    on_occurrence: INFRA_FAILURE
+    email {
+      recipients: "pigweed-build-notify@google.com"
+      recipients: "pigweed-infra-alerts@google.com"
+    }
+    template: "default"
+  }
+  builders {
+    bucket: "ci"
+    name: "pigweed-linux-main-host-disco"
+    repository: "https://pigweed.googlesource.com/pigweed/pigweed"
+  }
+}
+notifiers {
+  notifications {
+    on_occurrence: FAILURE
+    on_new_status: SUCCESS
+    email {
+      recipients: "pigweed-build-notify@google.com"
+    }
+    template: "default"
+  }
+  notifications {
+    on_occurrence: INFRA_FAILURE
+    email {
+      recipients: "pigweed-build-notify@google.com"
+      recipients: "pigweed-infra-alerts@google.com"
+    }
+    template: "default"
+  }
+  builders {
+    bucket: "ci"
+    name: "pigweed-linux-qemu-compatibility-clang-armgcc"
+    repository: "https://pigweed.googlesource.com/pigweed/pigweed"
+  }
+}
+notifiers {
+  notifications {
+    on_occurrence: FAILURE
+    on_new_status: SUCCESS
+    email {
+      recipients: "pigweed-build-notify@google.com"
+    }
+    template: "default"
+  }
+  notifications {
+    on_occurrence: INFRA_FAILURE
+    email {
+      recipients: "pigweed-build-notify@google.com"
+      recipients: "pigweed-infra-alerts@google.com"
+    }
+    template: "default"
+  }
+  builders {
+    bucket: "ci"
+    name: "pigweed-linux-qemu-main-clang-armgcc"
+    repository: "https://pigweed.googlesource.com/pigweed/pigweed"
+  }
+}
+notifiers {
+  notifications {
+    on_occurrence: FAILURE
+    on_new_status: SUCCESS
+    email {
+      recipients: "pigweed-build-notify@google.com"
+    }
+    template: "default"
+  }
+  notifications {
+    on_occurrence: INFRA_FAILURE
+    email {
+      recipients: "pigweed-build-notify@google.com"
+      recipients: "pigweed-infra-alerts@google.com"
+    }
+    template: "default"
+  }
+  builders {
+    bucket: "ci"
+    name: "pigweed-linux-san-asan"
+    repository: "https://pigweed.googlesource.com/pigweed/pigweed"
+  }
+}
+notifiers {
+  notifications {
+    on_occurrence: FAILURE
+    on_new_status: SUCCESS
+    email {
+      recipients: "pigweed-build-notify@google.com"
+    }
+    template: "default"
+  }
+  notifications {
+    on_occurrence: INFRA_FAILURE
+    email {
+      recipients: "pigweed-build-notify@google.com"
+      recipients: "pigweed-infra-alerts@google.com"
+    }
+    template: "default"
+  }
+  builders {
+    bucket: "ci"
+    name: "pigweed-linux-san-tsan"
+    repository: "https://pigweed.googlesource.com/pigweed/pigweed"
+  }
+}
+notifiers {
+  notifications {
+    on_occurrence: FAILURE
+    on_new_status: SUCCESS
+    email {
+      recipients: "pigweed-build-notify@google.com"
+    }
+    template: "default"
+  }
+  notifications {
+    on_occurrence: INFRA_FAILURE
+    email {
+      recipients: "pigweed-build-notify@google.com"
+      recipients: "pigweed-infra-alerts@google.com"
+    }
+    template: "default"
+  }
+  builders {
+    bucket: "ci"
+    name: "pigweed-linux-san-ubsan"
+    repository: "https://pigweed.googlesource.com/pigweed/pigweed"
+  }
+}
+notifiers {
+  notifications {
+    on_occurrence: FAILURE
+    on_new_status: SUCCESS
+    email {
+      recipients: "pigweed-build-notify@google.com"
+    }
+    template: "default"
+  }
+  notifications {
+    on_occurrence: INFRA_FAILURE
+    email {
+      recipients: "pigweed-build-notify@google.com"
+      recipients: "pigweed-infra-alerts@google.com"
+    }
+    template: "default"
+  }
+  builders {
+    bucket: "ci"
+    name: "pigweed-linux-static-analysis"
+    repository: "https://pigweed.googlesource.com/pigweed/pigweed"
+  }
+}
+notifiers {
+  notifications {
+    on_occurrence: FAILURE
+    on_new_status: SUCCESS
+    email {
+      recipients: "pigweed-build-notify@google.com"
+    }
+    template: "default"
+  }
+  notifications {
+    on_occurrence: INFRA_FAILURE
+    email {
+      recipients: "pigweed-build-notify@google.com"
+      recipients: "pigweed-infra-alerts@google.com"
+    }
+    template: "default"
+  }
+  builders {
+    bucket: "ci"
+    name: "pigweed-mac-compatibility-host-disco"
+    repository: "https://pigweed.googlesource.com/pigweed/pigweed"
+  }
+}
+notifiers {
+  notifications {
+    on_occurrence: FAILURE
+    on_new_status: SUCCESS
+    email {
+      recipients: "pigweed-build-notify@google.com"
+    }
+    template: "default"
+  }
+  notifications {
+    on_occurrence: INFRA_FAILURE
+    email {
+      recipients: "pigweed-build-notify@google.com"
+      recipients: "pigweed-infra-alerts@google.com"
+    }
+    template: "default"
+  }
+  builders {
+    bucket: "ci"
+    name: "pigweed-mac-gn-nanopb"
+    repository: "https://pigweed.googlesource.com/pigweed/pigweed"
+  }
+}
+notifiers {
+  notifications {
+    on_occurrence: FAILURE
+    on_new_status: SUCCESS
+    email {
+      recipients: "pigweed-build-notify@google.com"
+    }
+    template: "default"
+  }
+  notifications {
+    on_occurrence: INFRA_FAILURE
+    email {
+      recipients: "pigweed-build-notify@google.com"
+      recipients: "pigweed-infra-alerts@google.com"
+    }
+    template: "default"
+  }
+  builders {
+    bucket: "ci"
+    name: "pigweed-mac-gn-teensy"
+    repository: "https://pigweed.googlesource.com/pigweed/pigweed"
+  }
+}
+notifiers {
+  notifications {
+    on_occurrence: FAILURE
+    on_new_status: SUCCESS
+    email {
+      recipients: "pigweed-build-notify@google.com"
+    }
+    template: "default"
+  }
+  notifications {
+    on_occurrence: INFRA_FAILURE
+    email {
+      recipients: "pigweed-build-notify@google.com"
+      recipients: "pigweed-infra-alerts@google.com"
+    }
+    template: "default"
+  }
+  builders {
+    bucket: "ci"
+    name: "pigweed-mac-main-host-disco"
+    repository: "https://pigweed.googlesource.com/pigweed/pigweed"
+  }
+}
+notifiers {
+  notifications {
+    on_occurrence: FAILURE
+    on_new_status: SUCCESS
+    email {
+      recipients: "pigweed-build-notify@google.com"
+    }
+    template: "default"
+  }
+  notifications {
+    on_occurrence: INFRA_FAILURE
+    email {
+      recipients: "pigweed-build-notify@google.com"
+      recipients: "pigweed-infra-alerts@google.com"
+    }
+    template: "default"
+  }
+  builders {
+    bucket: "ci"
+    name: "pigweed-mac-qemu-main-clang-armgcc"
+    repository: "https://pigweed.googlesource.com/pigweed/pigweed"
+  }
+}
+notifiers {
+  notifications {
+    on_occurrence: FAILURE
+    on_new_status: SUCCESS
+    email {
+      recipients: "pigweed-build-notify@google.com"
+    }
+    template: "default"
+  }
+  notifications {
+    on_occurrence: INFRA_FAILURE
+    email {
+      recipients: "pigweed-build-notify@google.com"
+      recipients: "pigweed-infra-alerts@google.com"
+    }
+    template: "default"
+  }
+  builders {
+    bucket: "ci"
+    name: "pigweed-windows-main-host-disco"
+    repository: "https://pigweed.googlesource.com/pigweed/pigweed"
+  }
+}
+notifiers {
+  notifications {
+    on_occurrence: FAILURE
+    on_new_status: SUCCESS
+    email {
+      recipients: "pigweed-infra-alerts@google.com"
+    }
+    template: "default"
+  }
+  notifications {
+    on_occurrence: INFRA_FAILURE
+    email {
+      recipients: "pigweed-infra-alerts@google.com"
+    }
+    template: "default"
+  }
+  builders {
+    bucket: "ci"
+    name: "pigweed-xref-generator"
+    repository: "https://pigweed.googlesource.com/pigweed/pigweed"
+  }
+}
+notifiers {
+  notifications {
+    on_occurrence: FAILURE
+    on_new_status: SUCCESS
+    email {
+      recipients: "pigweed-infra-alerts@google.com"
+    }
+    template: "default"
+  }
+  notifications {
+    on_occurrence: INFRA_FAILURE
+    email {
+      recipients: "pigweed-infra-alerts@google.com"
+    }
+    template: "default"
+  }
+  builders {
+    bucket: "ci"
+    name: "recipes-unittest-only"
+    repository: "https://pigweed.googlesource.com/infra/recipes"
+  }
+}
+notifiers {
+  notifications {
+    on_occurrence: FAILURE
+    on_new_status: SUCCESS
+    email {
+      recipients: "pigweed-build-notify@google.com"
+    }
+    template: "default"
+  }
+  notifications {
+    on_occurrence: INFRA_FAILURE
+    email {
+      recipients: "pigweed-build-notify@google.com"
+      recipients: "pigweed-infra-alerts@google.com"
+    }
+    template: "default"
+  }
+  builders {
+    bucket: "ci"
+    name: "sample-project-default-build-linux"
+    repository: "https://pigweed.googlesource.com/pigweed/sample_project"
+  }
+}
+notifiers {
+  notifications {
+    on_occurrence: FAILURE
+    on_new_status: SUCCESS
+    email {
+      recipients: "pigweed-build-notify@google.com"
+    }
+    template: "default"
+  }
+  notifications {
+    on_occurrence: INFRA_FAILURE
+    email {
+      recipients: "pigweed-build-notify@google.com"
+      recipients: "pigweed-infra-alerts@google.com"
+    }
+    template: "default"
+  }
+  builders {
+    bucket: "ci"
+    name: "sample-project-default-build-mac"
+    repository: "https://pigweed.googlesource.com/pigweed/sample_project"
+  }
+}
+notifiers {
+  notifications {
+    on_occurrence: FAILURE
+    on_new_status: SUCCESS
+    email {
+      recipients: "pigweed-build-notify@google.com"
+    }
+    template: "default"
+  }
+  notifications {
+    on_occurrence: INFRA_FAILURE
+    email {
+      recipients: "pigweed-build-notify@google.com"
+      recipients: "pigweed-infra-alerts@google.com"
+    }
+    template: "default"
+  }
+  builders {
+    bucket: "ci"
+    name: "sample-project-default-build-windows"
+    repository: "https://pigweed.googlesource.com/pigweed/sample_project"
+  }
+}
+notifiers {
+  notifications {
+    on_occurrence: FAILURE
+    on_new_status: SUCCESS
+    email {
+      recipients: "pigweed-build-notify@google.com"
+    }
+    template: "default"
+  }
+  notifications {
+    on_occurrence: INFRA_FAILURE
+    email {
+      recipients: "pigweed-build-notify@google.com"
+      recipients: "pigweed-infra-alerts@google.com"
+    }
+    template: "default"
+  }
+  builders {
+    bucket: "ci"
+    name: "sample-project-envtest-linux"
+    repository: "https://pigweed.googlesource.com/pigweed/sample_project"
+  }
+}
+notifiers {
+  notifications {
+    on_occurrence: FAILURE
+    on_new_status: SUCCESS
+    email {
+      recipients: "pigweed-build-notify@google.com"
+    }
+    template: "default"
+  }
+  notifications {
+    on_occurrence: INFRA_FAILURE
+    email {
+      recipients: "pigweed-build-notify@google.com"
+      recipients: "pigweed-infra-alerts@google.com"
+    }
+    template: "default"
+  }
+  builders {
+    bucket: "ci"
+    name: "sample-project-envtest-mac"
+    repository: "https://pigweed.googlesource.com/pigweed/sample_project"
+  }
+}
+notifiers {
+  notifications {
+    on_occurrence: FAILURE
+    on_new_status: SUCCESS
+    email {
+      recipients: "pigweed-build-notify@google.com"
+    }
+    template: "default"
+  }
+  notifications {
+    on_occurrence: INFRA_FAILURE
+    email {
+      recipients: "pigweed-build-notify@google.com"
+      recipients: "pigweed-infra-alerts@google.com"
+    }
+    template: "default"
+  }
+  builders {
+    bucket: "ci"
+    name: "sample-project-lintformat"
+    repository: "https://pigweed.googlesource.com/pigweed/sample_project"
+  }
+}
+notifiers {
+  notifications {
+    on_occurrence: FAILURE
+    on_new_status: SUCCESS
+    email {
+      recipients: "pigweed-build-notify@google.com"
+    }
+    template: "default"
+  }
+  notifications {
+    on_occurrence: INFRA_FAILURE
+    email {
+      recipients: "pigweed-build-notify@google.com"
+      recipients: "pigweed-infra-alerts@google.com"
+    }
+    template: "default"
+  }
+  builders {
+    bucket: "ci"
+    name: "sample-project-xref-generator"
+    repository: "https://pigweed.googlesource.com/pigweed/sample_project"
+  }
+}
+notifiers {
+  notifications {
+    on_occurrence: FAILURE
+    on_new_status: SUCCESS
+    email {
+      recipients: "pigweed-infra-alerts@google.com"
+    }
+    template: "default"
+  }
+  notifications {
+    on_occurrence: INFRA_FAILURE
+    email {
+      recipients: "pigweed-infra-alerts@google.com"
+    }
+    template: "default"
+  }
+  builders {
+    bucket: "roll"
+    name: "auto-submit-pigweed"
+  }
+}
+notifiers {
+  notifications {
+    on_occurrence: FAILURE
+    on_new_status: SUCCESS
+    email {
+      recipients: "pigweed-infra-alerts@google.com"
+    }
+    template: "default"
+  }
+  notifications {
+    on_occurrence: INFRA_FAILURE
+    email {
+      recipients: "pigweed-infra-alerts@google.com"
+    }
+    template: "default"
+  }
+  builders {
+    bucket: "roll"
+    name: "auto-submit-pigweed-low"
+  }
+}
+notifiers {
+  notifications {
+    on_occurrence: FAILURE
+    on_new_status: SUCCESS
+    email {
+      recipients: "pigweed-build-notify@google.com"
+    }
+    template: "roller"
+  }
+  notifications {
+    on_occurrence: INFRA_FAILURE
+    email {
+      recipients: "pigweed-build-notify@google.com"
+      recipients: "pigweed-infra-alerts@google.com"
+    }
+    template: "roller"
+  }
+  builders {
+    bucket: "roll"
+    name: "bloaty-embedded-roller"
+    repository: "https://pigweed.googlesource.com/pigweed/pigweed"
+  }
+}
+notifiers {
+  notifications {
+    on_occurrence: FAILURE
+    on_new_status: SUCCESS
+    email {
+      recipients: "pigweed-build-notify@google.com"
+    }
+    template: "roller"
+  }
+  notifications {
+    on_occurrence: INFRA_FAILURE
+    email {
+      recipients: "pigweed-build-notify@google.com"
+      recipients: "pigweed-infra-alerts@google.com"
+    }
+    template: "roller"
+  }
+  builders {
+    bucket: "roll"
+    name: "buildifier-roller"
+    repository: "https://pigweed.googlesource.com/pigweed/pigweed"
+  }
+}
+notifiers {
+  notifications {
+    on_occurrence: FAILURE
+    on_new_status: SUCCESS
+    email {
+      recipients: "pigweed-build-notify@google.com"
+    }
+    template: "roller"
+  }
+  notifications {
+    on_occurrence: INFRA_FAILURE
+    email {
+      recipients: "pigweed-build-notify@google.com"
+      recipients: "pigweed-infra-alerts@google.com"
+    }
+    template: "roller"
+  }
+  builders {
+    bucket: "roll"
+    name: "clang-roller"
+    repository: "https://pigweed.googlesource.com/pigweed/pigweed"
+  }
+}
+notifiers {
+  notifications {
+    on_occurrence: FAILURE
+    on_new_status: SUCCESS
+    email {
+      recipients: "pigweed-build-notify@google.com"
+    }
+    template: "roller"
+  }
+  notifications {
+    on_occurrence: INFRA_FAILURE
+    email {
+      recipients: "pigweed-build-notify@google.com"
+      recipients: "pigweed-infra-alerts@google.com"
+    }
+    template: "roller"
+  }
+  builders {
+    bucket: "roll"
+    name: "cmake-roller"
+    repository: "https://pigweed.googlesource.com/pigweed/pigweed"
+  }
+}
+notifiers {
+  notifications {
+    on_occurrence: FAILURE
+    on_new_status: SUCCESS
+    email {
+      recipients: "pigweed-build-notify@google.com"
+    }
+    template: "roller"
+  }
+  notifications {
+    on_occurrence: INFRA_FAILURE
+    email {
+      recipients: "pigweed-build-notify@google.com"
+      recipients: "pigweed-infra-alerts@google.com"
+    }
+    template: "roller"
+  }
+  builders {
+    bucket: "roll"
+    name: "gcc-arm-none-eabi-roller"
+    repository: "https://pigweed.googlesource.com/pigweed/pigweed"
+  }
+}
+notifiers {
+  notifications {
+    on_occurrence: FAILURE
+    on_new_status: SUCCESS
+    email {
+      recipients: "pigweed-build-notify@google.com"
+    }
+    template: "roller"
+  }
+  notifications {
+    on_occurrence: INFRA_FAILURE
+    email {
+      recipients: "pigweed-build-notify@google.com"
+      recipients: "pigweed-infra-alerts@google.com"
+    }
+    template: "roller"
+  }
+  builders {
+    bucket: "roll"
+    name: "gn-roller"
+    repository: "https://pigweed.googlesource.com/pigweed/pigweed"
+  }
+}
+notifiers {
+  notifications {
+    on_occurrence: FAILURE
+    on_new_status: SUCCESS
+    email {
+      recipients: "pigweed-build-notify@google.com"
+    }
+    template: "roller"
+  }
+  notifications {
+    on_occurrence: INFRA_FAILURE
+    email {
+      recipients: "pigweed-build-notify@google.com"
+      recipients: "pigweed-infra-alerts@google.com"
+    }
+    template: "roller"
+  }
+  builders {
+    bucket: "roll"
+    name: "go-roller"
+    repository: "https://pigweed.googlesource.com/pigweed/pigweed"
+  }
+}
+notifiers {
+  notifications {
+    on_occurrence: FAILURE
+    on_new_status: SUCCESS
+    email {
+      recipients: "pigweed-build-notify@google.com"
+    }
+    template: "roller"
+  }
+  notifications {
+    on_occurrence: INFRA_FAILURE
+    email {
+      recipients: "pigweed-build-notify@google.com"
+      recipients: "pigweed-infra-alerts@google.com"
+    }
+    template: "roller"
+  }
+  builders {
+    bucket: "roll"
+    name: "host-tools-roller"
+    repository: "https://pigweed.googlesource.com/pigweed/pigweed"
+  }
+}
+notifiers {
+  notifications {
+    on_occurrence: FAILURE
+    on_new_status: SUCCESS
+    email {
+      recipients: "pigweed-build-notify@google.com"
+    }
+    template: "roller"
+  }
+  notifications {
+    on_occurrence: INFRA_FAILURE
+    email {
+      recipients: "pigweed-build-notify@google.com"
+      recipients: "pigweed-infra-alerts@google.com"
+    }
+    template: "roller"
+  }
+  builders {
+    bucket: "roll"
+    name: "kythe-libs-roller"
+    repository: "https://pigweed.googlesource.com/pigweed/pigweed"
+  }
+}
+notifiers {
+  notifications {
+    on_occurrence: FAILURE
+    on_new_status: SUCCESS
+    email {
+      recipients: "pigweed-build-notify@google.com"
+    }
+    template: "roller"
+  }
+  notifications {
+    on_occurrence: INFRA_FAILURE
+    email {
+      recipients: "pigweed-build-notify@google.com"
+      recipients: "pigweed-infra-alerts@google.com"
+    }
+    template: "roller"
+  }
+  builders {
+    bucket: "roll"
+    name: "kythe-roller"
+    repository: "https://pigweed.googlesource.com/pigweed/pigweed"
+  }
+}
+notifiers {
+  notifications {
+    on_occurrence: FAILURE
+    on_new_status: SUCCESS
+    email {
+      recipients: "pigweed-build-notify@google.com"
+    }
+    template: "roller"
+  }
+  notifications {
+    on_occurrence: INFRA_FAILURE
+    email {
+      recipients: "pigweed-build-notify@google.com"
+      recipients: "pigweed-infra-alerts@google.com"
+    }
+    template: "roller"
+  }
+  builders {
+    bucket: "roll"
+    name: "mingw64-roller"
+    repository: "https://pigweed.googlesource.com/pigweed/pigweed"
+  }
+}
+notifiers {
+  notifications {
+    on_occurrence: FAILURE
+    on_new_status: SUCCESS
+    email {
+      recipients: "pigweed-build-notify@google.com"
+    }
+    template: "roller"
+  }
+  notifications {
+    on_occurrence: INFRA_FAILURE
+    email {
+      recipients: "pigweed-build-notify@google.com"
+      recipients: "pigweed-infra-alerts@google.com"
+    }
+    template: "roller"
+  }
+  builders {
+    bucket: "roll"
+    name: "ninja-roller"
+    repository: "https://pigweed.googlesource.com/pigweed/pigweed"
+  }
+}
+notifiers {
+  notifications {
+    on_occurrence: FAILURE
+    on_new_status: SUCCESS
+    email {
+      recipients: "open-dice-build-notify@google.com"
+      recipients: "pigweed-build-notify@google.com"
+    }
+    template: "roller"
+  }
+  notifications {
+    on_occurrence: INFRA_FAILURE
+    email {
+      recipients: "open-dice-build-notify@google.com"
+      recipients: "pigweed-build-notify@google.com"
+      recipients: "pigweed-infra-alerts@google.com"
+    }
+    template: "roller"
+  }
+  builders {
+    bucket: "roll"
+    name: "opendice-boringssl-roller"
+  }
+}
+notifiers {
+  notifications {
+    on_occurrence: FAILURE
+    on_new_status: SUCCESS
+    email {
+      recipients: "open-dice-build-notify@google.com"
+      recipients: "pigweed-build-notify@google.com"
+    }
+    template: "roller"
+  }
+  notifications {
+    on_occurrence: INFRA_FAILURE
+    email {
+      recipients: "open-dice-build-notify@google.com"
+      recipients: "pigweed-build-notify@google.com"
+      recipients: "pigweed-infra-alerts@google.com"
+    }
+    template: "roller"
+  }
+  builders {
+    bucket: "roll"
+    name: "opendice-pigweed-roller"
+  }
+}
+notifiers {
+  notifications {
+    on_occurrence: FAILURE
+    on_new_status: SUCCESS
+    email {
+      recipients: "pigweed-build-notify@google.com"
+    }
+    template: "roller"
+  }
+  notifications {
+    on_occurrence: INFRA_FAILURE
+    email {
+      recipients: "pigweed-build-notify@google.com"
+      recipients: "pigweed-infra-alerts@google.com"
+    }
+    template: "roller"
+  }
+  builders {
+    bucket: "roll"
+    name: "openocd-roller"
+    repository: "https://pigweed.googlesource.com/pigweed/pigweed"
+  }
+}
+notifiers {
+  notifications {
+    on_occurrence: FAILURE
+    on_new_status: SUCCESS
+    email {
+      recipients: "pigweed-build-notify@google.com"
+    }
+    template: "roller"
+    notify_blamelist {}
+  }
+  notifications {
+    on_occurrence: INFRA_FAILURE
+    email {
+      recipients: "pigweed-build-notify@google.com"
+      recipients: "pigweed-infra-alerts@google.com"
+    }
+    template: "roller"
+    notify_blamelist {}
+  }
+  builders {
+    bucket: "roll"
+    name: "pigweed-experimental-roller"
+    repository: "https://pigweed.googlesource.com/pigweed/pigweed"
+  }
+}
+notifiers {
+  notifications {
+    on_occurrence: FAILURE
+    on_new_status: SUCCESS
+    email {
+      recipients: "pigweed-build-notify@google.com"
+    }
+    template: "roller"
+    notify_blamelist {}
+  }
+  notifications {
+    on_occurrence: INFRA_FAILURE
+    email {
+      recipients: "pigweed-build-notify@google.com"
+      recipients: "pigweed-infra-alerts@google.com"
+    }
+    template: "roller"
+    notify_blamelist {}
+  }
+  builders {
+    bucket: "roll"
+    name: "pigweed-sample-project-roller"
+    repository: "https://pigweed.googlesource.com/pigweed/pigweed"
+  }
+}
+notifiers {
+  notifications {
+    on_occurrence: FAILURE
+    on_new_status: SUCCESS
+    email {
+      recipients: "pigweed-build-notify@google.com"
+    }
+    template: "roller"
+  }
+  notifications {
+    on_occurrence: INFRA_FAILURE
+    email {
+      recipients: "pigweed-build-notify@google.com"
+      recipients: "pigweed-infra-alerts@google.com"
+    }
+    template: "roller"
+  }
+  builders {
+    bucket: "roll"
+    name: "pigweed-update-python-versions"
+    repository: "https://pigweed.googlesource.com/pigweed/pigweed"
+  }
+}
+notifiers {
+  notifications {
+    on_occurrence: FAILURE
+    on_new_status: SUCCESS
+    email {
+      recipients: "pigweed-build-notify@google.com"
+    }
+    template: "roller"
+  }
+  notifications {
+    on_occurrence: INFRA_FAILURE
+    email {
+      recipients: "pigweed-build-notify@google.com"
+      recipients: "pigweed-infra-alerts@google.com"
+    }
+    template: "roller"
+  }
+  builders {
+    bucket: "roll"
+    name: "protoc-gen-go-roller"
+    repository: "https://pigweed.googlesource.com/pigweed/pigweed"
+  }
+}
+notifiers {
+  notifications {
+    on_occurrence: FAILURE
+    on_new_status: SUCCESS
+    email {
+      recipients: "pigweed-build-notify@google.com"
+    }
+    template: "roller"
+  }
+  notifications {
+    on_occurrence: INFRA_FAILURE
+    email {
+      recipients: "pigweed-build-notify@google.com"
+      recipients: "pigweed-infra-alerts@google.com"
+    }
+    template: "roller"
+  }
+  builders {
+    bucket: "roll"
+    name: "qemu-roller"
+    repository: "https://pigweed.googlesource.com/pigweed/pigweed"
+  }
+}
+notifiers {
+  notifications {
+    on_occurrence: INFRA_FAILURE
+    email {
+      recipients: "pigweed-infra-alerts@google.com"
+    }
+    template: "default"
+  }
+  builders {
+    bucket: "try"
+    name: "envtest-linux-python2"
+  }
+}
+notifiers {
+  notifications {
+    on_occurrence: INFRA_FAILURE
+    email {
+      recipients: "pigweed-infra-alerts@google.com"
+    }
+    template: "default"
+  }
+  builders {
+    bucket: "try"
+    name: "envtest-linux-python3"
+  }
+}
+notifiers {
+  notifications {
+    on_occurrence: INFRA_FAILURE
+    email {
+      recipients: "pigweed-infra-alerts@google.com"
+    }
+    template: "default"
+  }
+  builders {
+    bucket: "try"
+    name: "envtest-mac"
+  }
+}
+notifiers {
+  notifications {
+    on_occurrence: INFRA_FAILURE
+    email {
+      recipients: "pigweed-infra-alerts@google.com"
+    }
+    template: "default"
+  }
+  builders {
+    bucket: "try"
+    name: "envtest-windows"
+  }
+}
+notifiers {
+  notifications {
+    on_occurrence: INFRA_FAILURE
+    email {
+      recipients: "pigweed-infra-alerts@google.com"
+    }
+    template: "default"
+  }
+  builders {
+    bucket: "try"
+    name: "experimental-full"
+  }
+}
+notifiers {
+  notifications {
+    on_occurrence: INFRA_FAILURE
+    email {
+      recipients: "pigweed-infra-alerts@google.com"
+    }
+    template: "default"
+  }
+  builders {
+    bucket: "try"
+    name: "pigweed-lintformat"
+  }
+}
+notifiers {
+  notifications {
+    on_occurrence: INFRA_FAILURE
+    email {
+      recipients: "pigweed-infra-alerts@google.com"
+    }
+    template: "default"
+  }
+  builders {
+    bucket: "try"
+    name: "pigweed-lintformat-full"
+  }
+}
+notifiers {
+  notifications {
+    on_occurrence: INFRA_FAILURE
+    email {
+      recipients: "pigweed-infra-alerts@google.com"
+    }
+    template: "default"
+  }
+  builders {
+    bucket: "try"
+    name: "pigweed-linux-bazel-host-clang"
+  }
+}
+notifiers {
+  notifications {
+    on_occurrence: INFRA_FAILURE
+    email {
+      recipients: "pigweed-infra-alerts@google.com"
+    }
+    template: "default"
+  }
+  builders {
+    bucket: "try"
+    name: "pigweed-linux-cmake-host-clang"
+  }
+}
+notifiers {
+  notifications {
+    on_occurrence: INFRA_FAILURE
+    email {
+      recipients: "pigweed-infra-alerts@google.com"
+    }
+    template: "default"
+  }
+  builders {
+    bucket: "try"
+    name: "pigweed-linux-compatibility-host-disco"
+  }
+}
+notifiers {
+  notifications {
+    on_occurrence: INFRA_FAILURE
+    email {
+      recipients: "pigweed-infra-alerts@google.com"
+    }
+    template: "default"
+  }
+  builders {
+    bucket: "try"
+    name: "pigweed-linux-gn-crypto-boringssl"
+  }
+}
+notifiers {
+  notifications {
+    on_occurrence: INFRA_FAILURE
+    email {
+      recipients: "pigweed-infra-alerts@google.com"
+    }
+    template: "default"
+  }
+  builders {
+    bucket: "try"
+    name: "pigweed-linux-gn-crypto-build-micro-ecc"
+  }
+}
+notifiers {
+  notifications {
+    on_occurrence: INFRA_FAILURE
+    email {
+      recipients: "pigweed-infra-alerts@google.com"
+    }
+    template: "default"
+  }
+  builders {
+    bucket: "try"
+    name: "pigweed-linux-gn-crypto-mbedtls"
+  }
+}
+notifiers {
+  notifications {
+    on_occurrence: INFRA_FAILURE
+    email {
+      recipients: "pigweed-infra-alerts@google.com"
+    }
+    template: "default"
+  }
+  builders {
+    bucket: "try"
+    name: "pigweed-linux-gn-hosttools"
+  }
+}
+notifiers {
+  notifications {
+    on_occurrence: INFRA_FAILURE
+    email {
+      recipients: "pigweed-infra-alerts@google.com"
+    }
+    template: "default"
+  }
+  builders {
+    bucket: "try"
+    name: "pigweed-linux-gn-nanopb"
+  }
+}
+notifiers {
+  notifications {
+    on_occurrence: INFRA_FAILURE
+    email {
+      recipients: "pigweed-infra-alerts@google.com"
+    }
+    template: "default"
+  }
+  builders {
+    bucket: "try"
+    name: "pigweed-linux-gn-software-update"
+  }
+}
+notifiers {
+  notifications {
+    on_occurrence: INFRA_FAILURE
+    email {
+      recipients: "pigweed-infra-alerts@google.com"
+    }
+    template: "default"
+  }
+  builders {
+    bucket: "try"
+    name: "pigweed-linux-gn-teensy"
+  }
+}
+notifiers {
+  notifications {
+    on_occurrence: INFRA_FAILURE
+    email {
+      recipients: "pigweed-infra-alerts@google.com"
+    }
+    template: "default"
+  }
+  builders {
+    bucket: "try"
+    name: "pigweed-linux-main-host-disco"
+  }
+}
+notifiers {
+  notifications {
+    on_occurrence: INFRA_FAILURE
+    email {
+      recipients: "pigweed-infra-alerts@google.com"
+    }
+    template: "default"
+  }
+  builders {
+    bucket: "try"
+    name: "pigweed-linux-qemu-compatibility-clang-armgcc"
+  }
+}
+notifiers {
+  notifications {
+    on_occurrence: INFRA_FAILURE
+    email {
+      recipients: "pigweed-infra-alerts@google.com"
+    }
+    template: "default"
+  }
+  builders {
+    bucket: "try"
+    name: "pigweed-linux-qemu-main-clang-armgcc"
+  }
+}
+notifiers {
+  notifications {
+    on_occurrence: INFRA_FAILURE
+    email {
+      recipients: "pigweed-infra-alerts@google.com"
+    }
+    template: "default"
+  }
+  builders {
+    bucket: "try"
+    name: "pigweed-linux-san-asan"
+  }
+}
+notifiers {
+  notifications {
+    on_occurrence: INFRA_FAILURE
+    email {
+      recipients: "pigweed-infra-alerts@google.com"
+    }
+    template: "default"
+  }
+  builders {
+    bucket: "try"
+    name: "pigweed-linux-san-tsan"
+  }
+}
+notifiers {
+  notifications {
+    on_occurrence: INFRA_FAILURE
+    email {
+      recipients: "pigweed-infra-alerts@google.com"
+    }
+    template: "default"
+  }
+  builders {
+    bucket: "try"
+    name: "pigweed-linux-san-ubsan"
+  }
+}
+notifiers {
+  notifications {
+    on_occurrence: INFRA_FAILURE
+    email {
+      recipients: "pigweed-infra-alerts@google.com"
+    }
+    template: "default"
+  }
+  builders {
+    bucket: "try"
+    name: "pigweed-linux-static-analysis"
+  }
+}
+notifiers {
+  notifications {
+    on_occurrence: INFRA_FAILURE
+    email {
+      recipients: "pigweed-infra-alerts@google.com"
+    }
+    template: "default"
+  }
+  builders {
+    bucket: "try"
+    name: "pigweed-mac-compatibility-host-disco"
+  }
+}
+notifiers {
+  notifications {
+    on_occurrence: INFRA_FAILURE
+    email {
+      recipients: "pigweed-infra-alerts@google.com"
+    }
+    template: "default"
+  }
+  builders {
+    bucket: "try"
+    name: "pigweed-mac-gn-hosttools"
+  }
+}
+notifiers {
+  notifications {
+    on_occurrence: INFRA_FAILURE
+    email {
+      recipients: "pigweed-infra-alerts@google.com"
+    }
+    template: "default"
+  }
+  builders {
+    bucket: "try"
+    name: "pigweed-mac-gn-nanopb"
+  }
+}
+notifiers {
+  notifications {
+    on_occurrence: INFRA_FAILURE
+    email {
+      recipients: "pigweed-infra-alerts@google.com"
+    }
+    template: "default"
+  }
+  builders {
+    bucket: "try"
+    name: "pigweed-mac-gn-teensy"
+  }
+}
+notifiers {
+  notifications {
+    on_occurrence: INFRA_FAILURE
+    email {
+      recipients: "pigweed-infra-alerts@google.com"
+    }
+    template: "default"
+  }
+  builders {
+    bucket: "try"
+    name: "pigweed-mac-main-host-disco"
+  }
+}
+notifiers {
+  notifications {
+    on_occurrence: INFRA_FAILURE
+    email {
+      recipients: "pigweed-infra-alerts@google.com"
+    }
+    template: "default"
+  }
+  builders {
+    bucket: "try"
+    name: "pigweed-mac-qemu-main-clang-armgcc"
+  }
+}
+notifiers {
+  notifications {
+    on_occurrence: INFRA_FAILURE
+    email {
+      recipients: "pigweed-infra-alerts@google.com"
+    }
+    template: "default"
+  }
+  builders {
+    bucket: "try"
+    name: "pigweed-windows-gn-hosttools"
+  }
+}
+notifiers {
+  notifications {
+    on_occurrence: INFRA_FAILURE
+    email {
+      recipients: "pigweed-infra-alerts@google.com"
+    }
+    template: "default"
+  }
+  builders {
+    bucket: "try"
+    name: "pigweed-windows-main-host-disco"
+  }
+}
+notifiers {
+  notifications {
+    on_occurrence: INFRA_FAILURE
+    email {
+      recipients: "pigweed-infra-alerts@google.com"
+    }
+    template: "default"
+  }
+  builders {
+    bucket: "try"
+    name: "pigweed-xref-generator"
+  }
+}
+notifiers {
+  notifications {
+    on_occurrence: INFRA_FAILURE
+    email {
+      recipients: "pigweed-infra-alerts@google.com"
+    }
+    template: "default"
+  }
+  builders {
+    bucket: "try"
+    name: "recipes-unittest-only"
+  }
+}
+notifiers {
+  notifications {
+    on_occurrence: INFRA_FAILURE
+    email {
+      recipients: "pigweed-infra-alerts@google.com"
+    }
+    template: "default"
+  }
+  builders {
+    bucket: "try"
+    name: "recipes-with-led"
+  }
+}
+notifiers {
+  notifications {
+    on_occurrence: INFRA_FAILURE
+    email {
+      recipients: "pigweed-infra-alerts@google.com"
+    }
+    template: "default"
+  }
+  builders {
+    bucket: "try"
+    name: "sample-project-default-build-linux"
+  }
+}
+notifiers {
+  notifications {
+    on_occurrence: INFRA_FAILURE
+    email {
+      recipients: "pigweed-infra-alerts@google.com"
+    }
+    template: "default"
+  }
+  builders {
+    bucket: "try"
+    name: "sample-project-default-build-mac"
+  }
+}
+notifiers {
+  notifications {
+    on_occurrence: INFRA_FAILURE
+    email {
+      recipients: "pigweed-infra-alerts@google.com"
+    }
+    template: "default"
+  }
+  builders {
+    bucket: "try"
+    name: "sample-project-default-build-windows"
+  }
+}
+notifiers {
+  notifications {
+    on_occurrence: INFRA_FAILURE
+    email {
+      recipients: "pigweed-infra-alerts@google.com"
+    }
+    template: "default"
+  }
+  builders {
+    bucket: "try"
+    name: "sample-project-envtest-linux"
+  }
+}
+notifiers {
+  notifications {
+    on_occurrence: INFRA_FAILURE
+    email {
+      recipients: "pigweed-infra-alerts@google.com"
+    }
+    template: "default"
+  }
+  builders {
+    bucket: "try"
+    name: "sample-project-envtest-mac"
+  }
+}
+notifiers {
+  notifications {
+    on_occurrence: INFRA_FAILURE
+    email {
+      recipients: "pigweed-infra-alerts@google.com"
+    }
+    template: "default"
+  }
+  builders {
+    bucket: "try"
+    name: "sample-project-lintformat"
+  }
+}
+notifiers {
+  notifications {
+    on_occurrence: INFRA_FAILURE
+    email {
+      recipients: "pigweed-infra-alerts@google.com"
+    }
+    template: "default"
+  }
+  builders {
+    bucket: "try"
+    name: "sample-project-lintformat-full"
+  }
+}
+notifiers {
+  notifications {
+    on_occurrence: INFRA_FAILURE
+    email {
+      recipients: "pigweed-infra-alerts@google.com"
+    }
+    template: "default"
+  }
+  builders {
+    bucket: "try"
+    name: "sample-project-xref-generator"
+  }
+}
+notifiers {
+  notifications {
+    on_occurrence: INFRA_FAILURE
+    email {
+      recipients: "pigweed-infra-alerts@google.com"
+    }
+    template: "default"
+  }
+  builders {
+    bucket: "try"
+    name: "static-checks-experimental"
+  }
+}
+notifiers {
+  notifications {
+    on_occurrence: INFRA_FAILURE
+    email {
+      recipients: "pigweed-infra-alerts@google.com"
+    }
+    template: "default"
+  }
+  builders {
+    bucket: "try"
+    name: "static-checks-pigweed"
+  }
+}
+notifiers {
+  notifications {
+    on_occurrence: INFRA_FAILURE
+    email {
+      recipients: "pigweed-infra-alerts@google.com"
+    }
+    template: "default"
+  }
+  builders {
+    bucket: "try"
+    name: "static-checks-sample-project"
+  }
+}
diff --git a/generated/pigweed/luci/luci-notify/email-templates/default.template b/generated/pigweed/luci/luci-notify/email-templates/default.template
new file mode 100644
index 0000000..6a02c48
--- /dev/null
+++ b/generated/pigweed/luci/luci-notify/email-templates/default.template
@@ -0,0 +1,5 @@
+[Builder Status] {{.Build.Builder.Bucket}}/{{.Build.Builder.Builder}} {{with .Build.EndTime | time}}{{.Format "2006-01-02"}}{{end}}
+
+{{ template "summary" . }}
+
+{{ template "failed_steps" . }}
diff --git a/generated/pigweed/luci/luci-notify/email-templates/roller.template b/generated/pigweed/luci/luci-notify/email-templates/roller.template
new file mode 100644
index 0000000..0a0b840
--- /dev/null
+++ b/generated/pigweed/luci/luci-notify/email-templates/roller.template
@@ -0,0 +1,11 @@
+[Roller Status] {{.Build.Builder.Builder}} {{with .Build.EndTime | time}}{{.Format "2006-01-02"}}{{end}}
+
+{{ template "summary" . }}
+
+{{ if .Build.SummaryMarkdown }}
+<div style="font-family: monospace; width: 100%">
+{{ .Build.SummaryMarkdown }}
+</div>
+{{ end -}}
+
+{{ template "failed_steps" . }}
diff --git a/generated/pigweed/luci/luci-notify/email-templates/utils.template b/generated/pigweed/luci/luci-notify/email-templates/utils.template
new file mode 100644
index 0000000..c376d8e
--- /dev/null
+++ b/generated/pigweed/luci/luci-notify/email-templates/utils.template
@@ -0,0 +1,77 @@
+This file contains useful common templates that can be imported by other template files.
+
+{{- define "status_to_color" -}}
+{{- if eq . 12 }} {{/* SUCCESS */}}
+#049300
+{{- else if eq . 20 -}} {{/* FAILURE */}}
+#b50000
+{{- else if eq . 36 -}} {{/* INFRA FAILURE */}}
+#850093
+{{- else if eq . 68 -}} {{/* CANCELED */}}
+#c400aa
+{{- else -}}
+#000000
+{{- end -}}
+{{- end -}}
+
+{{ define "summary" -}}
+<table style="border: 0">
+  <tr>
+    <td style="text-align: right">Builder:</td>
+    <td><a href="https://ci.chromium.org/p/{{.Build.Builder.Project}}/builders/{{.Build.Builder.Bucket}}/{{.Build.Builder.Builder}}">{{.Build.Builder.Bucket}}/{{.Build.Builder.Builder}}</a></td>
+  </tr>
+
+  <tr>
+    <td style="text-align: right">Build:</td>
+    <td><a href="https://ci.chromium.org/b/{{.Build.Id}}">{{.Build.Id}}</a></td>
+  </tr>
+
+  <tr>
+    <td style="text-align: right">Status:</td>
+    <td><span style="color: #ffffff; background-color: {{- template "status_to_color" .Build.Status -}}; font-weight: bold">
+{{ .Build.Status }}
+</span></td>
+  </tr>
+
+  {{ if ne .OldStatus 0 -}}
+  <tr>
+    <td style="text-align: right">Previous status:</td>
+    <td>{{ .OldStatus }}</td>
+  </tr>
+  {{ end -}}
+
+  <tr>
+    <td style="text-align: right">Completed at:</td>
+    <td>{{ .Build.EndTime | time }}</td>
+  </tr>
+
+  {{ with .Build.GetInput.GetGitilesCommit -}}
+  <tr>
+    <td style="text-align: right">Triggered by:</td>
+    <td><a href="https://{{ .Host }}/{{ .Project }}/+/{{ .Id }}">{{ .Project }}/{{ .Id }}</a></td>
+  </tr>
+  {{ end -}}
+
+</table>
+{{ end -}}
+
+{{ define "failed_steps" }}
+{{/* If the build is a failure, show failed steps. */}}
+{{ if ne .Build.Status 12 -}}
+<br />
+Failed Steps:
+<ul>
+{{ range $step := .Build.Steps -}}
+{{ if ne $step.Status 12 -}}
+<li>{{ $step.Name }}</li>
+<ul>
+  {{ range $log := .Logs -}}
+  <li><a href="{{ $log.ViewUrl }}">{{ $log.Name }}</a></li>
+  {{ end -}}
+</ul>
+{{ end -}}
+{{ end -}}
+</ul>
+<br />
+{{ end -}}
+{{ end -}}
diff --git a/generated/pigweed/luci/luci-scheduler.cfg b/generated/pigweed/luci/luci-scheduler.cfg
new file mode 100644
index 0000000..ea40d15
--- /dev/null
+++ b/generated/pigweed/luci/luci-scheduler.cfg
@@ -0,0 +1,1146 @@
+# Auto-generated by lucicfg.
+# Do not modify manually.
+#
+# For the schema of this file, see ProjectConfig message:
+#   https://luci-config.appspot.com/schemas/projects:luci-scheduler.cfg
+
+job {
+  id: "auto-submit-pigweed"
+  realm: "roll"
+  schedule: "with 8m interval"
+  acl_sets: "roll"
+  buildbucket {
+    server: "cr-buildbucket.appspot.com"
+    bucket: "luci.pigweed.roll"
+    builder: "auto-submit-pigweed"
+  }
+}
+job {
+  id: "auto-submit-pigweed-low"
+  realm: "roll"
+  schedule: "with 3m interval"
+  acl_sets: "roll"
+  buildbucket {
+    server: "cr-buildbucket.appspot.com"
+    bucket: "luci.pigweed.roll"
+    builder: "auto-submit-pigweed-low"
+  }
+}
+job {
+  id: "bloaty-embedded-roller"
+  realm: "roll"
+  acl_sets: "roll"
+  buildbucket {
+    server: "cr-buildbucket.appspot.com"
+    bucket: "luci.pigweed.roll"
+    builder: "bloaty-embedded-roller"
+  }
+}
+job {
+  id: "buildifier-roller"
+  realm: "roll"
+  acl_sets: "roll"
+  buildbucket {
+    server: "cr-buildbucket.appspot.com"
+    bucket: "luci.pigweed.roll"
+    builder: "buildifier-roller"
+  }
+}
+job {
+  id: "clang-roller"
+  realm: "roll"
+  acl_sets: "roll"
+  buildbucket {
+    server: "cr-buildbucket.appspot.com"
+    bucket: "luci.pigweed.roll"
+    builder: "clang-roller"
+  }
+}
+job {
+  id: "cmake-roller"
+  realm: "roll"
+  acl_sets: "roll"
+  buildbucket {
+    server: "cr-buildbucket.appspot.com"
+    bucket: "luci.pigweed.roll"
+    builder: "cmake-roller"
+  }
+}
+job {
+  id: "docs-builder"
+  realm: "ci"
+  acl_sets: "ci"
+  triggering_policy {
+    kind: GREEDY_BATCHING
+    max_concurrent_invocations: 4
+    max_batch_size: 1
+  }
+  buildbucket {
+    server: "cr-buildbucket.appspot.com"
+    bucket: "luci.pigweed.ci"
+    builder: "docs-builder"
+  }
+}
+job {
+  id: "envtest-linux-python2"
+  realm: "ci"
+  acl_sets: "ci"
+  buildbucket {
+    server: "cr-buildbucket.appspot.com"
+    bucket: "luci.pigweed.ci"
+    builder: "envtest-linux-python2"
+  }
+}
+job {
+  id: "envtest-linux-python3"
+  realm: "ci"
+  acl_sets: "ci"
+  buildbucket {
+    server: "cr-buildbucket.appspot.com"
+    bucket: "luci.pigweed.ci"
+    builder: "envtest-linux-python3"
+  }
+}
+job {
+  id: "envtest-mac"
+  realm: "ci"
+  acl_sets: "ci"
+  buildbucket {
+    server: "cr-buildbucket.appspot.com"
+    bucket: "luci.pigweed.ci"
+    builder: "envtest-mac"
+  }
+}
+job {
+  id: "envtest-windows"
+  realm: "ci"
+  acl_sets: "ci"
+  buildbucket {
+    server: "cr-buildbucket.appspot.com"
+    bucket: "luci.pigweed.ci"
+    builder: "envtest-windows"
+  }
+}
+job {
+  id: "experimental-envtest"
+  realm: "ci"
+  acl_sets: "ci"
+  buildbucket {
+    server: "cr-buildbucket.appspot.com"
+    bucket: "luci.pigweed.ci"
+    builder: "experimental-envtest"
+  }
+}
+job {
+  id: "experimental-full"
+  realm: "ci"
+  acl_sets: "ci"
+  buildbucket {
+    server: "cr-buildbucket.appspot.com"
+    bucket: "luci.pigweed.ci"
+    builder: "experimental-full"
+  }
+}
+job {
+  id: "experimental-lintformat"
+  realm: "ci"
+  acl_sets: "ci"
+  buildbucket {
+    server: "cr-buildbucket.appspot.com"
+    bucket: "luci.pigweed.ci"
+    builder: "experimental-lintformat"
+  }
+}
+job {
+  id: "gcc-arm-none-eabi-roller"
+  realm: "roll"
+  acl_sets: "roll"
+  buildbucket {
+    server: "cr-buildbucket.appspot.com"
+    bucket: "luci.pigweed.roll"
+    builder: "gcc-arm-none-eabi-roller"
+  }
+}
+job {
+  id: "gn-roller"
+  realm: "roll"
+  acl_sets: "roll"
+  buildbucket {
+    server: "cr-buildbucket.appspot.com"
+    bucket: "luci.pigweed.roll"
+    builder: "gn-roller"
+  }
+}
+job {
+  id: "go-roller"
+  realm: "roll"
+  acl_sets: "roll"
+  buildbucket {
+    server: "cr-buildbucket.appspot.com"
+    bucket: "luci.pigweed.roll"
+    builder: "go-roller"
+  }
+}
+job {
+  id: "host-tools-builder-linux"
+  realm: "ci"
+  acl_sets: "ci"
+  buildbucket {
+    server: "cr-buildbucket.appspot.com"
+    bucket: "luci.pigweed.ci"
+    builder: "host-tools-builder-linux"
+  }
+}
+job {
+  id: "host-tools-builder-mac"
+  realm: "ci"
+  acl_sets: "ci"
+  buildbucket {
+    server: "cr-buildbucket.appspot.com"
+    bucket: "luci.pigweed.ci"
+    builder: "host-tools-builder-mac"
+  }
+}
+job {
+  id: "host-tools-builder-windows"
+  realm: "ci"
+  acl_sets: "ci"
+  buildbucket {
+    server: "cr-buildbucket.appspot.com"
+    bucket: "luci.pigweed.ci"
+    builder: "host-tools-builder-windows"
+  }
+}
+job {
+  id: "host-tools-roller"
+  realm: "roll"
+  acl_sets: "roll"
+  buildbucket {
+    server: "cr-buildbucket.appspot.com"
+    bucket: "luci.pigweed.roll"
+    builder: "host-tools-roller"
+  }
+}
+job {
+  id: "kythe-libs-roller"
+  realm: "roll"
+  acl_sets: "roll"
+  buildbucket {
+    server: "cr-buildbucket.appspot.com"
+    bucket: "luci.pigweed.roll"
+    builder: "kythe-libs-roller"
+  }
+}
+job {
+  id: "kythe-roller"
+  realm: "roll"
+  acl_sets: "roll"
+  buildbucket {
+    server: "cr-buildbucket.appspot.com"
+    bucket: "luci.pigweed.roll"
+    builder: "kythe-roller"
+  }
+}
+job {
+  id: "mingw64-roller"
+  realm: "roll"
+  acl_sets: "roll"
+  buildbucket {
+    server: "cr-buildbucket.appspot.com"
+    bucket: "luci.pigweed.roll"
+    builder: "mingw64-roller"
+  }
+}
+job {
+  id: "ninja-roller"
+  realm: "roll"
+  acl_sets: "roll"
+  buildbucket {
+    server: "cr-buildbucket.appspot.com"
+    bucket: "luci.pigweed.roll"
+    builder: "ninja-roller"
+  }
+}
+job {
+  id: "opendice-boringssl-roller"
+  realm: "roll"
+  schedule: "triggered"
+  acl_sets: "roll"
+  triggering_policy {
+    kind: LOGARITHMIC_BATCHING
+    max_concurrent_invocations: 1
+    max_batch_size: 1000
+    log_base: 1.6
+  }
+  buildbucket {
+    server: "cr-buildbucket.appspot.com"
+    bucket: "luci.pigweed.roll"
+    builder: "opendice-boringssl-roller"
+  }
+}
+job {
+  id: "opendice-pigweed-roller"
+  realm: "roll"
+  schedule: "triggered"
+  acl_sets: "roll"
+  triggering_policy {
+    kind: LOGARITHMIC_BATCHING
+    max_concurrent_invocations: 1
+    max_batch_size: 1000
+    log_base: 1.6
+  }
+  buildbucket {
+    server: "cr-buildbucket.appspot.com"
+    bucket: "luci.pigweed.roll"
+    builder: "opendice-pigweed-roller"
+  }
+}
+job {
+  id: "openocd-roller"
+  realm: "roll"
+  acl_sets: "roll"
+  buildbucket {
+    server: "cr-buildbucket.appspot.com"
+    bucket: "luci.pigweed.roll"
+    builder: "openocd-roller"
+  }
+}
+job {
+  id: "pigweed-experimental-roller"
+  realm: "roll"
+  schedule: "with 6h interval"
+  acl_sets: "roll"
+  triggering_policy {
+    kind: LOGARITHMIC_BATCHING
+    max_concurrent_invocations: 1
+    max_batch_size: 1000
+    log_base: 1.6
+  }
+  buildbucket {
+    server: "cr-buildbucket.appspot.com"
+    bucket: "luci.pigweed.roll"
+    builder: "pigweed-experimental-roller"
+  }
+}
+job {
+  id: "pigweed-lintformat"
+  realm: "ci"
+  acl_sets: "ci"
+  buildbucket {
+    server: "cr-buildbucket.appspot.com"
+    bucket: "luci.pigweed.ci"
+    builder: "pigweed-lintformat"
+  }
+}
+job {
+  id: "pigweed-linux-bazel-host-clang"
+  realm: "ci"
+  acl_sets: "ci"
+  buildbucket {
+    server: "cr-buildbucket.appspot.com"
+    bucket: "luci.pigweed.ci"
+    builder: "pigweed-linux-bazel-host-clang"
+  }
+}
+job {
+  id: "pigweed-linux-cmake-host-clang"
+  realm: "ci"
+  acl_sets: "ci"
+  buildbucket {
+    server: "cr-buildbucket.appspot.com"
+    bucket: "luci.pigweed.ci"
+    builder: "pigweed-linux-cmake-host-clang"
+  }
+}
+job {
+  id: "pigweed-linux-compatibility-host-disco"
+  realm: "ci"
+  acl_sets: "ci"
+  buildbucket {
+    server: "cr-buildbucket.appspot.com"
+    bucket: "luci.pigweed.ci"
+    builder: "pigweed-linux-compatibility-host-disco"
+  }
+}
+job {
+  id: "pigweed-linux-gn-crypto-boringssl"
+  realm: "ci"
+  acl_sets: "ci"
+  buildbucket {
+    server: "cr-buildbucket.appspot.com"
+    bucket: "luci.pigweed.ci"
+    builder: "pigweed-linux-gn-crypto-boringssl"
+  }
+}
+job {
+  id: "pigweed-linux-gn-crypto-build-micro-ecc"
+  realm: "ci"
+  acl_sets: "ci"
+  buildbucket {
+    server: "cr-buildbucket.appspot.com"
+    bucket: "luci.pigweed.ci"
+    builder: "pigweed-linux-gn-crypto-build-micro-ecc"
+  }
+}
+job {
+  id: "pigweed-linux-gn-crypto-mbedtls"
+  realm: "ci"
+  acl_sets: "ci"
+  buildbucket {
+    server: "cr-buildbucket.appspot.com"
+    bucket: "luci.pigweed.ci"
+    builder: "pigweed-linux-gn-crypto-mbedtls"
+  }
+}
+job {
+  id: "pigweed-linux-gn-nanopb"
+  realm: "ci"
+  acl_sets: "ci"
+  buildbucket {
+    server: "cr-buildbucket.appspot.com"
+    bucket: "luci.pigweed.ci"
+    builder: "pigweed-linux-gn-nanopb"
+  }
+}
+job {
+  id: "pigweed-linux-gn-software-update"
+  realm: "ci"
+  acl_sets: "ci"
+  buildbucket {
+    server: "cr-buildbucket.appspot.com"
+    bucket: "luci.pigweed.ci"
+    builder: "pigweed-linux-gn-software-update"
+  }
+}
+job {
+  id: "pigweed-linux-gn-teensy"
+  realm: "ci"
+  acl_sets: "ci"
+  buildbucket {
+    server: "cr-buildbucket.appspot.com"
+    bucket: "luci.pigweed.ci"
+    builder: "pigweed-linux-gn-teensy"
+  }
+}
+job {
+  id: "pigweed-linux-main-host-disco"
+  realm: "ci"
+  acl_sets: "ci"
+  buildbucket {
+    server: "cr-buildbucket.appspot.com"
+    bucket: "luci.pigweed.ci"
+    builder: "pigweed-linux-main-host-disco"
+  }
+}
+job {
+  id: "pigweed-linux-qemu-compatibility-clang-armgcc"
+  realm: "ci"
+  acl_sets: "ci"
+  buildbucket {
+    server: "cr-buildbucket.appspot.com"
+    bucket: "luci.pigweed.ci"
+    builder: "pigweed-linux-qemu-compatibility-clang-armgcc"
+  }
+}
+job {
+  id: "pigweed-linux-qemu-main-clang-armgcc"
+  realm: "ci"
+  acl_sets: "ci"
+  buildbucket {
+    server: "cr-buildbucket.appspot.com"
+    bucket: "luci.pigweed.ci"
+    builder: "pigweed-linux-qemu-main-clang-armgcc"
+  }
+}
+job {
+  id: "pigweed-linux-san-asan"
+  realm: "ci"
+  acl_sets: "ci"
+  buildbucket {
+    server: "cr-buildbucket.appspot.com"
+    bucket: "luci.pigweed.ci"
+    builder: "pigweed-linux-san-asan"
+  }
+}
+job {
+  id: "pigweed-linux-san-tsan"
+  realm: "ci"
+  acl_sets: "ci"
+  buildbucket {
+    server: "cr-buildbucket.appspot.com"
+    bucket: "luci.pigweed.ci"
+    builder: "pigweed-linux-san-tsan"
+  }
+}
+job {
+  id: "pigweed-linux-san-ubsan"
+  realm: "ci"
+  acl_sets: "ci"
+  buildbucket {
+    server: "cr-buildbucket.appspot.com"
+    bucket: "luci.pigweed.ci"
+    builder: "pigweed-linux-san-ubsan"
+  }
+}
+job {
+  id: "pigweed-linux-static-analysis"
+  realm: "ci"
+  acl_sets: "ci"
+  buildbucket {
+    server: "cr-buildbucket.appspot.com"
+    bucket: "luci.pigweed.ci"
+    builder: "pigweed-linux-static-analysis"
+  }
+}
+job {
+  id: "pigweed-mac-bazel-host-clang"
+  realm: "ci"
+  schedule: "triggered"
+  acl_sets: "ci"
+  buildbucket {
+    server: "cr-buildbucket.appspot.com"
+    bucket: "luci.pigweed.ci"
+    builder: "pigweed-mac-bazel-host-clang"
+  }
+}
+job {
+  id: "pigweed-mac-cmake-host-clang"
+  realm: "ci"
+  schedule: "triggered"
+  acl_sets: "ci"
+  buildbucket {
+    server: "cr-buildbucket.appspot.com"
+    bucket: "luci.pigweed.ci"
+    builder: "pigweed-mac-cmake-host-clang"
+  }
+}
+job {
+  id: "pigweed-mac-compatibility-host-disco"
+  realm: "ci"
+  acl_sets: "ci"
+  buildbucket {
+    server: "cr-buildbucket.appspot.com"
+    bucket: "luci.pigweed.ci"
+    builder: "pigweed-mac-compatibility-host-disco"
+  }
+}
+job {
+  id: "pigweed-mac-gn-nanopb"
+  realm: "ci"
+  acl_sets: "ci"
+  buildbucket {
+    server: "cr-buildbucket.appspot.com"
+    bucket: "luci.pigweed.ci"
+    builder: "pigweed-mac-gn-nanopb"
+  }
+}
+job {
+  id: "pigweed-mac-gn-teensy"
+  realm: "ci"
+  acl_sets: "ci"
+  buildbucket {
+    server: "cr-buildbucket.appspot.com"
+    bucket: "luci.pigweed.ci"
+    builder: "pigweed-mac-gn-teensy"
+  }
+}
+job {
+  id: "pigweed-mac-main-host-disco"
+  realm: "ci"
+  acl_sets: "ci"
+  buildbucket {
+    server: "cr-buildbucket.appspot.com"
+    bucket: "luci.pigweed.ci"
+    builder: "pigweed-mac-main-host-disco"
+  }
+}
+job {
+  id: "pigweed-mac-qemu-compatibility-clang-armgcc"
+  realm: "ci"
+  acl_sets: "ci"
+  buildbucket {
+    server: "cr-buildbucket.appspot.com"
+    bucket: "luci.pigweed.ci"
+    builder: "pigweed-mac-qemu-compatibility-clang-armgcc"
+  }
+}
+job {
+  id: "pigweed-mac-qemu-main-clang-armgcc"
+  realm: "ci"
+  acl_sets: "ci"
+  buildbucket {
+    server: "cr-buildbucket.appspot.com"
+    bucket: "luci.pigweed.ci"
+    builder: "pigweed-mac-qemu-main-clang-armgcc"
+  }
+}
+job {
+  id: "pigweed-sample-project-roller"
+  realm: "roll"
+  schedule: "with 6h interval"
+  acl_sets: "roll"
+  triggering_policy {
+    kind: LOGARITHMIC_BATCHING
+    max_concurrent_invocations: 1
+    max_batch_size: 1000
+    log_base: 1.6
+  }
+  buildbucket {
+    server: "cr-buildbucket.appspot.com"
+    bucket: "luci.pigweed.roll"
+    builder: "pigweed-sample-project-roller"
+  }
+}
+job {
+  id: "pigweed-stm32f429i"
+  realm: "ci"
+  schedule: "triggered"
+  acl_sets: "ci"
+  buildbucket {
+    server: "cr-buildbucket.appspot.com"
+    bucket: "luci.pigweed.ci"
+    builder: "pigweed-stm32f429i"
+  }
+}
+job {
+  id: "pigweed-stm32f429i-combined"
+  realm: "ci"
+  schedule: "triggered"
+  acl_sets: "ci"
+  buildbucket {
+    server: "cr-buildbucket.appspot.com"
+    bucket: "luci.pigweed.ci"
+    builder: "pigweed-stm32f429i-combined"
+  }
+}
+job {
+  id: "pigweed-stm32f429i-subbuild"
+  realm: "ci"
+  schedule: "triggered"
+  acl_sets: "ci"
+  buildbucket {
+    server: "cr-buildbucket.appspot.com"
+    bucket: "luci.pigweed.ci"
+    builder: "pigweed-stm32f429i-subbuild"
+  }
+}
+job {
+  id: "pigweed-update-python-versions"
+  realm: "roll"
+  acl_sets: "roll"
+  buildbucket {
+    server: "cr-buildbucket.appspot.com"
+    bucket: "luci.pigweed.roll"
+    builder: "pigweed-update-python-versions"
+  }
+}
+job {
+  id: "pigweed-windows-bazel-host-clang"
+  realm: "ci"
+  schedule: "triggered"
+  acl_sets: "ci"
+  buildbucket {
+    server: "cr-buildbucket.appspot.com"
+    bucket: "luci.pigweed.ci"
+    builder: "pigweed-windows-bazel-host-clang"
+  }
+}
+job {
+  id: "pigweed-windows-compatibility-host-disco"
+  realm: "ci"
+  schedule: "triggered"
+  acl_sets: "ci"
+  buildbucket {
+    server: "cr-buildbucket.appspot.com"
+    bucket: "luci.pigweed.ci"
+    builder: "pigweed-windows-compatibility-host-disco"
+  }
+}
+job {
+  id: "pigweed-windows-gn-nanopb"
+  realm: "ci"
+  schedule: "triggered"
+  acl_sets: "ci"
+  buildbucket {
+    server: "cr-buildbucket.appspot.com"
+    bucket: "luci.pigweed.ci"
+    builder: "pigweed-windows-gn-nanopb"
+  }
+}
+job {
+  id: "pigweed-windows-main-host-disco"
+  realm: "ci"
+  acl_sets: "ci"
+  buildbucket {
+    server: "cr-buildbucket.appspot.com"
+    bucket: "luci.pigweed.ci"
+    builder: "pigweed-windows-main-host-disco"
+  }
+}
+job {
+  id: "pigweed-windows-qemu-compatibility-clang-armgcc"
+  realm: "ci"
+  schedule: "triggered"
+  acl_sets: "ci"
+  buildbucket {
+    server: "cr-buildbucket.appspot.com"
+    bucket: "luci.pigweed.ci"
+    builder: "pigweed-windows-qemu-compatibility-clang-armgcc"
+  }
+}
+job {
+  id: "pigweed-windows-qemu-main-clang-armgcc"
+  realm: "ci"
+  schedule: "triggered"
+  acl_sets: "ci"
+  buildbucket {
+    server: "cr-buildbucket.appspot.com"
+    bucket: "luci.pigweed.ci"
+    builder: "pigweed-windows-qemu-main-clang-armgcc"
+  }
+}
+job {
+  id: "pigweed-xref-generator"
+  realm: "ci"
+  acl_sets: "ci"
+  buildbucket {
+    server: "cr-buildbucket.appspot.com"
+    bucket: "luci.pigweed.ci"
+    builder: "pigweed-xref-generator"
+  }
+}
+job {
+  id: "protoc-gen-go-roller"
+  realm: "roll"
+  acl_sets: "roll"
+  buildbucket {
+    server: "cr-buildbucket.appspot.com"
+    bucket: "luci.pigweed.roll"
+    builder: "protoc-gen-go-roller"
+  }
+}
+job {
+  id: "qemu-roller"
+  realm: "roll"
+  acl_sets: "roll"
+  buildbucket {
+    server: "cr-buildbucket.appspot.com"
+    bucket: "luci.pigweed.roll"
+    builder: "qemu-roller"
+  }
+}
+job {
+  id: "rbe-client-roller"
+  realm: "roll"
+  acl_sets: "roll"
+  buildbucket {
+    server: "cr-buildbucket.appspot.com"
+    bucket: "luci.pigweed.roll"
+    builder: "rbe-client-roller"
+  }
+}
+job {
+  id: "recipes-unittest-only"
+  realm: "ci"
+  acl_sets: "ci"
+  buildbucket {
+    server: "cr-buildbucket.appspot.com"
+    bucket: "luci.pigweed.ci"
+    builder: "recipes-unittest-only"
+  }
+}
+job {
+  id: "sample-project-default-build-linux"
+  realm: "ci"
+  acl_sets: "ci"
+  buildbucket {
+    server: "cr-buildbucket.appspot.com"
+    bucket: "luci.pigweed.ci"
+    builder: "sample-project-default-build-linux"
+  }
+}
+job {
+  id: "sample-project-default-build-mac"
+  realm: "ci"
+  acl_sets: "ci"
+  buildbucket {
+    server: "cr-buildbucket.appspot.com"
+    bucket: "luci.pigweed.ci"
+    builder: "sample-project-default-build-mac"
+  }
+}
+job {
+  id: "sample-project-default-build-windows"
+  realm: "ci"
+  acl_sets: "ci"
+  buildbucket {
+    server: "cr-buildbucket.appspot.com"
+    bucket: "luci.pigweed.ci"
+    builder: "sample-project-default-build-windows"
+  }
+}
+job {
+  id: "sample-project-envtest-linux"
+  realm: "ci"
+  acl_sets: "ci"
+  buildbucket {
+    server: "cr-buildbucket.appspot.com"
+    bucket: "luci.pigweed.ci"
+    builder: "sample-project-envtest-linux"
+  }
+}
+job {
+  id: "sample-project-envtest-mac"
+  realm: "ci"
+  acl_sets: "ci"
+  buildbucket {
+    server: "cr-buildbucket.appspot.com"
+    bucket: "luci.pigweed.ci"
+    builder: "sample-project-envtest-mac"
+  }
+}
+job {
+  id: "sample-project-envtest-windows"
+  realm: "ci"
+  acl_sets: "ci"
+  buildbucket {
+    server: "cr-buildbucket.appspot.com"
+    bucket: "luci.pigweed.ci"
+    builder: "sample-project-envtest-windows"
+  }
+}
+job {
+  id: "sample-project-lintformat"
+  realm: "ci"
+  acl_sets: "ci"
+  buildbucket {
+    server: "cr-buildbucket.appspot.com"
+    bucket: "luci.pigweed.ci"
+    builder: "sample-project-lintformat"
+  }
+}
+job {
+  id: "sample-project-xref-generator"
+  realm: "ci"
+  acl_sets: "ci"
+  buildbucket {
+    server: "cr-buildbucket.appspot.com"
+    bucket: "luci.pigweed.ci"
+    builder: "sample-project-xref-generator"
+  }
+}
+trigger {
+  id: "ci-pigweed-pigweed-pigweed-main-gitiles-trigger"
+  realm: "ci"
+  acl_sets: "ci"
+  triggers: "docs-builder"
+  triggers: "envtest-linux-python2"
+  triggers: "envtest-linux-python3"
+  triggers: "envtest-mac"
+  triggers: "envtest-windows"
+  triggers: "host-tools-builder-linux"
+  triggers: "host-tools-builder-mac"
+  triggers: "host-tools-builder-windows"
+  triggers: "pigweed-lintformat"
+  triggers: "pigweed-linux-bazel-host-clang"
+  triggers: "pigweed-linux-cmake-host-clang"
+  triggers: "pigweed-linux-compatibility-host-disco"
+  triggers: "pigweed-linux-gn-crypto-boringssl"
+  triggers: "pigweed-linux-gn-crypto-build-micro-ecc"
+  triggers: "pigweed-linux-gn-crypto-mbedtls"
+  triggers: "pigweed-linux-gn-nanopb"
+  triggers: "pigweed-linux-gn-software-update"
+  triggers: "pigweed-linux-gn-teensy"
+  triggers: "pigweed-linux-main-host-disco"
+  triggers: "pigweed-linux-qemu-compatibility-clang-armgcc"
+  triggers: "pigweed-linux-qemu-main-clang-armgcc"
+  triggers: "pigweed-linux-san-asan"
+  triggers: "pigweed-linux-san-tsan"
+  triggers: "pigweed-linux-san-ubsan"
+  triggers: "pigweed-linux-static-analysis"
+  triggers: "pigweed-mac-compatibility-host-disco"
+  triggers: "pigweed-mac-gn-nanopb"
+  triggers: "pigweed-mac-gn-teensy"
+  triggers: "pigweed-mac-main-host-disco"
+  triggers: "pigweed-mac-qemu-compatibility-clang-armgcc"
+  triggers: "pigweed-mac-qemu-main-clang-armgcc"
+  triggers: "pigweed-windows-main-host-disco"
+  triggers: "pigweed-xref-generator"
+  gitiles {
+    repo: "https://pigweed.googlesource.com/pigweed/pigweed"
+    refs: "regexp:refs/heads/main"
+  }
+}
+trigger {
+  id: "pigweed-infra-recipes-main-gitiles-trigger"
+  realm: "ci"
+  acl_sets: "ci"
+  triggers: "recipes-unittest-only"
+  gitiles {
+    repo: "https://pigweed.googlesource.com/infra/recipes"
+    refs: "regexp:refs/heads/main"
+  }
+}
+trigger {
+  id: "pigweed-pigweed-experimental-main-gitiles-trigger"
+  realm: "ci"
+  acl_sets: "ci"
+  triggers: "experimental-envtest"
+  triggers: "experimental-full"
+  triggers: "experimental-lintformat"
+  gitiles {
+    repo: "https://pigweed.googlesource.com/pigweed/experimental"
+    refs: "regexp:refs/heads/main"
+  }
+}
+trigger {
+  id: "pigweed-pigweed-pigweed-main-0_11_8_x_x_0_x-gitiles-trigger"
+  realm: "roll"
+  schedule: "0 11 8 * * 0 *"
+  acl_sets: "roll"
+  triggers: "kythe-roller"
+  gitiles {
+    repo: "https://pigweed.googlesource.com/pigweed/pigweed"
+    refs: "regexp:refs/heads/main"
+  }
+}
+trigger {
+  id: "pigweed-pigweed-pigweed-main-0_17_18_x_x_6_x-gitiles-trigger"
+  realm: "roll"
+  schedule: "0 17 18 * * 6 *"
+  acl_sets: "roll"
+  triggers: "clang-roller"
+  gitiles {
+    repo: "https://pigweed.googlesource.com/pigweed/pigweed"
+    refs: "regexp:refs/heads/main"
+  }
+}
+trigger {
+  id: "pigweed-pigweed-pigweed-main-0_19_6_x_x_1_x-gitiles-trigger"
+  realm: "roll"
+  schedule: "0 19 6 * * 1 *"
+  acl_sets: "roll"
+  triggers: "pigweed-update-python-versions"
+  gitiles {
+    repo: "https://pigweed.googlesource.com/pigweed/pigweed"
+    refs: "regexp:refs/heads/main"
+  }
+}
+trigger {
+  id: "pigweed-pigweed-pigweed-main-0_1_21_x_x_0_x-gitiles-trigger"
+  realm: "roll"
+  schedule: "0 1 21 * * 0 *"
+  acl_sets: "roll"
+  triggers: "openocd-roller"
+  gitiles {
+    repo: "https://pigweed.googlesource.com/pigweed/pigweed"
+    refs: "regexp:refs/heads/main"
+  }
+}
+trigger {
+  id: "pigweed-pigweed-pigweed-main-0_20_21_x_x_0_x-gitiles-trigger"
+  realm: "roll"
+  schedule: "0 20 21 * * 0 *"
+  acl_sets: "roll"
+  triggers: "bloaty-embedded-roller"
+  gitiles {
+    repo: "https://pigweed.googlesource.com/pigweed/pigweed"
+    refs: "regexp:refs/heads/main"
+  }
+}
+trigger {
+  id: "pigweed-pigweed-pigweed-main-0_22_18_x_x_6_x-gitiles-trigger"
+  realm: "roll"
+  schedule: "0 22 18 * * 6 *"
+  acl_sets: "roll"
+  triggers: "cmake-roller"
+  gitiles {
+    repo: "https://pigweed.googlesource.com/pigweed/pigweed"
+    refs: "regexp:refs/heads/main"
+  }
+}
+trigger {
+  id: "pigweed-pigweed-pigweed-main-0_28_1_x_x_0_x-gitiles-trigger"
+  realm: "roll"
+  schedule: "0 28 1 * * 0 *"
+  acl_sets: "roll"
+  triggers: "ninja-roller"
+  gitiles {
+    repo: "https://pigweed.googlesource.com/pigweed/pigweed"
+    refs: "regexp:refs/heads/main"
+  }
+}
+trigger {
+  id: "pigweed-pigweed-pigweed-main-0_29_19_x_x_0_x-gitiles-trigger"
+  realm: "roll"
+  schedule: "0 29 19 * * 0 *"
+  acl_sets: "roll"
+  triggers: "kythe-libs-roller"
+  gitiles {
+    repo: "https://pigweed.googlesource.com/pigweed/pigweed"
+    refs: "regexp:refs/heads/main"
+  }
+}
+trigger {
+  id: "pigweed-pigweed-pigweed-main-0_29_8_x_x_1_x-gitiles-trigger"
+  realm: "roll"
+  schedule: "0 29 8 * * 1 *"
+  acl_sets: "roll"
+  triggers: "buildifier-roller"
+  gitiles {
+    repo: "https://pigweed.googlesource.com/pigweed/pigweed"
+    refs: "regexp:refs/heads/main"
+  }
+}
+trigger {
+  id: "pigweed-pigweed-pigweed-main-0_30_11_x_x_1_x-gitiles-trigger"
+  realm: "roll"
+  schedule: "0 30 11 * * 1 *"
+  acl_sets: "roll"
+  triggers: "go-roller"
+  gitiles {
+    repo: "https://pigweed.googlesource.com/pigweed/pigweed"
+    refs: "regexp:refs/heads/main"
+  }
+}
+trigger {
+  id: "pigweed-pigweed-pigweed-main-0_32_21_x_x_0_x-gitiles-trigger"
+  realm: "roll"
+  schedule: "0 32 21 * * 0 *"
+  acl_sets: "roll"
+  triggers: "host-tools-roller"
+  gitiles {
+    repo: "https://pigweed.googlesource.com/pigweed/pigweed"
+    refs: "regexp:refs/heads/main"
+  }
+}
+trigger {
+  id: "pigweed-pigweed-pigweed-main-0_34_12_x_x_6_x-gitiles-trigger"
+  realm: "roll"
+  schedule: "0 34 12 * * 6 *"
+  acl_sets: "roll"
+  triggers: "protoc-gen-go-roller"
+  gitiles {
+    repo: "https://pigweed.googlesource.com/pigweed/pigweed"
+    refs: "regexp:refs/heads/main"
+  }
+}
+trigger {
+  id: "pigweed-pigweed-pigweed-main-0_3_11_x_x_0_x-gitiles-trigger"
+  realm: "roll"
+  schedule: "0 3 11 * * 0 *"
+  acl_sets: "roll"
+  triggers: "mingw64-roller"
+  gitiles {
+    repo: "https://pigweed.googlesource.com/pigweed/pigweed"
+    refs: "regexp:refs/heads/main"
+  }
+}
+trigger {
+  id: "pigweed-pigweed-pigweed-main-0_54_2_x_x_1_x-gitiles-trigger"
+  realm: "roll"
+  schedule: "0 54 2 * * 1 *"
+  acl_sets: "roll"
+  triggers: "gcc-arm-none-eabi-roller"
+  gitiles {
+    repo: "https://pigweed.googlesource.com/pigweed/pigweed"
+    refs: "regexp:refs/heads/main"
+  }
+}
+trigger {
+  id: "pigweed-pigweed-pigweed-main-0_7_0_x_x_1_x-gitiles-trigger"
+  realm: "roll"
+  schedule: "0 7 0 * * 1 *"
+  acl_sets: "roll"
+  triggers: "rbe-client-roller"
+  gitiles {
+    repo: "https://pigweed.googlesource.com/pigweed/pigweed"
+    refs: "regexp:refs/heads/main"
+  }
+}
+trigger {
+  id: "pigweed-pigweed-pigweed-main-0_9_15_x_x_0_x-gitiles-trigger"
+  realm: "roll"
+  schedule: "0 9 15 * * 0 *"
+  acl_sets: "roll"
+  triggers: "qemu-roller"
+  gitiles {
+    repo: "https://pigweed.googlesource.com/pigweed/pigweed"
+    refs: "regexp:refs/heads/main"
+  }
+}
+trigger {
+  id: "pigweed-pigweed-pigweed-main-0_9_20_x_x_0_x-gitiles-trigger"
+  realm: "roll"
+  schedule: "0 9 20 * * 0 *"
+  acl_sets: "roll"
+  triggers: "gn-roller"
+  gitiles {
+    repo: "https://pigweed.googlesource.com/pigweed/pigweed"
+    refs: "regexp:refs/heads/main"
+  }
+}
+trigger {
+  id: "pigweed-pigweed-sample_project-main-gitiles-trigger"
+  realm: "ci"
+  acl_sets: "ci"
+  triggers: "sample-project-default-build-linux"
+  triggers: "sample-project-default-build-mac"
+  triggers: "sample-project-default-build-windows"
+  triggers: "sample-project-envtest-linux"
+  triggers: "sample-project-envtest-mac"
+  triggers: "sample-project-envtest-windows"
+  triggers: "sample-project-lintformat"
+  triggers: "sample-project-xref-generator"
+  gitiles {
+    repo: "https://pigweed.googlesource.com/pigweed/sample_project"
+    refs: "regexp:refs/heads/main"
+  }
+}
+trigger {
+  id: "roll-pigweed-pigweed-pigweed-main-gitiles-trigger"
+  realm: "roll"
+  acl_sets: "roll"
+  triggers: "pigweed-experimental-roller"
+  triggers: "pigweed-sample-project-roller"
+  gitiles {
+    repo: "https://pigweed.googlesource.com/pigweed/pigweed"
+    refs: "regexp:refs/heads/main"
+  }
+}
+acl_sets {
+  name: "ci"
+  acls {
+    role: OWNER
+    granted_to: "group:project-pigweed-admins"
+  }
+  acls {
+    granted_to: "group:all"
+  }
+  acls {
+    role: TRIGGERER
+    granted_to: "luci-scheduler@appspot.gserviceaccount.com"
+  }
+  acls {
+    role: TRIGGERER
+    granted_to: "pigweed-ci-builder@pigweed.google.com.iam.gserviceaccount.com"
+  }
+}
+acl_sets {
+  name: "roll"
+  acls {
+    role: OWNER
+    granted_to: "group:project-pigweed-admins"
+  }
+  acls {
+    granted_to: "group:all"
+  }
+  acls {
+    role: TRIGGERER
+    granted_to: "luci-scheduler@appspot.gserviceaccount.com"
+  }
+  acls {
+    role: TRIGGERER
+    granted_to: "group:project-pigweed-committers"
+  }
+}
diff --git a/generated/pigweed/luci/project.cfg b/generated/pigweed/luci/project.cfg
new file mode 100644
index 0000000..e2016a8
--- /dev/null
+++ b/generated/pigweed/luci/project.cfg
@@ -0,0 +1,14 @@
+# Auto-generated by lucicfg.
+# Do not modify manually.
+#
+# For the schema of this file, see ProjectCfg message:
+#   https://luci-config.appspot.com/schemas/projects:project.cfg
+
+name: "pigweed"
+access: "group:all"
+lucicfg {
+  version: "1.30.4"
+  package_dir: "../../../starlark"
+  config_dir: "../generated/pigweed/luci"
+  entry_point: "pigweed.star"
+}
diff --git a/generated/pigweed/luci/realms.cfg b/generated/pigweed/luci/realms.cfg
new file mode 100644
index 0000000..68956ab
--- /dev/null
+++ b/generated/pigweed/luci/realms.cfg
@@ -0,0 +1,132 @@
+# Auto-generated by lucicfg.
+# Do not modify manually.
+#
+# For the schema of this file, see RealmsCfg message:
+#   https://luci-config.appspot.com/schemas/projects:realms.cfg
+
+realms {
+  name: "@root"
+  bindings {
+    role: "role/buildbucket.reader"
+    principals: "group:all"
+  }
+  bindings {
+    role: "role/configs.reader"
+    principals: "group:all"
+  }
+  bindings {
+    role: "role/configs.validator"
+    principals: "group:project-pigweed-config-validation"
+  }
+  bindings {
+    role: "role/cq.committer"
+    principals: "group:project-pigweed-tryjob-access"
+  }
+  bindings {
+    role: "role/logdog.reader"
+    principals: "group:all"
+  }
+  bindings {
+    role: "role/logdog.writer"
+    principals: "group:project-pigweed-logdog-writers"
+  }
+  bindings {
+    role: "role/scheduler.owner"
+    principals: "group:project-pigweed-admins"
+  }
+  bindings {
+    role: "role/scheduler.reader"
+    principals: "group:all"
+  }
+  bindings {
+    role: "role/swarming.poolOwner"
+    principals: "group:project-pigweed-admins"
+  }
+  bindings {
+    role: "role/swarming.poolViewer"
+    principals: "group:all"
+  }
+}
+realms {
+  name: "ci"
+  bindings {
+    role: "role/buildbucket.builderServiceAccount"
+    principals: "user:pigweed-ci-builder@pigweed.google.com.iam.gserviceaccount.com"
+    principals: "user:pigweed-doc-builder@pigweed.google.com.iam.gserviceaccount.com"
+    principals: "user:pigweed-kythe@pigweed.google.com.iam.gserviceaccount.com"
+    principals: "user:pigweed-roller@pigweed.google.com.iam.gserviceaccount.com"
+  }
+  bindings {
+    role: "role/buildbucket.triggerer"
+    principals: "user:luci-scheduler@appspot.gserviceaccount.com"
+    principals: "user:pigweed-ci-builder@pigweed.google.com.iam.gserviceaccount.com"
+  }
+  bindings {
+    role: "role/scheduler.triggerer"
+    principals: "user:luci-scheduler@appspot.gserviceaccount.com"
+    principals: "user:pigweed-ci-builder@pigweed.google.com.iam.gserviceaccount.com"
+  }
+  bindings {
+    role: "role/swarming.taskTriggerer"
+    principals: "group:project-pigweed-admins"
+  }
+}
+realms {
+  name: "pools/ci"
+  bindings {
+    role: "role/swarming.poolUser"
+    principals: "group:project-pigweed-admins"
+    principals: "group:project-pigweed-committers"
+  }
+}
+realms {
+  name: "pools/try"
+  bindings {
+    role: "role/swarming.poolUser"
+    principals: "group:project-pigweed-admins"
+    principals: "group:project-pigweed-led-users"
+    principals: "group:project-pigweed-try-task-accounts"
+  }
+}
+realms {
+  name: "roll"
+  bindings {
+    role: "role/buildbucket.builderServiceAccount"
+    principals: "user:auto-submit@pigweed.google.com.iam.gserviceaccount.com"
+    principals: "user:pigweed-integration-roller@pigweed.google.com.iam.gserviceaccount.com"
+    principals: "user:pigweed-roller@pigweed.google.com.iam.gserviceaccount.com"
+  }
+  bindings {
+    role: "role/buildbucket.triggerer"
+    principals: "group:project-pigweed-committers"
+    principals: "user:luci-scheduler@appspot.gserviceaccount.com"
+  }
+  bindings {
+    role: "role/scheduler.triggerer"
+    principals: "group:project-pigweed-committers"
+    principals: "user:luci-scheduler@appspot.gserviceaccount.com"
+  }
+  bindings {
+    role: "role/swarming.taskTriggerer"
+    principals: "group:project-pigweed-admins"
+    principals: "group:project-pigweed-committers"
+  }
+}
+realms {
+  name: "try"
+  bindings {
+    role: "role/buildbucket.builderServiceAccount"
+    principals: "user:pigweed-try-builder@pigweed.google.com.iam.gserviceaccount.com"
+  }
+  bindings {
+    role: "role/buildbucket.triggerer"
+    principals: "group:project-pigweed-tryjob-access"
+    principals: "user:pigweed-try-builder@pigweed.google.com.iam.gserviceaccount.com"
+  }
+  bindings {
+    role: "role/swarming.taskTriggerer"
+    principals: "group:project-pigweed-admins"
+    principals: "group:project-pigweed-led-users"
+    principals: "group:project-pigweed-try-task-accounts"
+  }
+}