[roll] Roll the config repository

GitOrigin-RevId: a6b150220b690066b6e0ed17b08098b0040ef5e6
Change-Id: Ia351bf36166a3b99b38b845038123aae232f32a8
diff --git a/generated/pigweed/for_review_only/buildbucket/try/pigweed-linux-main-host-disco-integration.textproto b/generated/pigweed/for_review_only/buildbucket/ci/integration-envtest-linux-python2.textproto
similarity index 69%
copy from generated/pigweed/for_review_only/buildbucket/try/pigweed-linux-main-host-disco-integration.textproto
copy to generated/pigweed/for_review_only/buildbucket/ci/integration-envtest-linux-python2.textproto
index e41225e..af45d03 100644
--- a/generated/pigweed/for_review_only/buildbucket/try/pigweed-linux-main-host-disco-integration.textproto
+++ b/generated/pigweed/for_review_only/buildbucket/ci/integration-envtest-linux-python2.textproto
@@ -4,26 +4,26 @@
 # For the schema of this file, see Bucket message:
 #   https://luci-config.appspot.com/schemas/projects:buildbucket.cfg
 
-name: "try"
+name: "ci"
 acls {
   group: "all"
 }
 acls {
   role: SCHEDULER
-  identity: "user:pigweed-try-builder@pigweed.google.com.iam.gserviceaccount.com"
+  identity: "user:luci-scheduler@appspot.gserviceaccount.com"
 }
 acls {
   role: SCHEDULER
-  group: "project-pigweed-tryjob-access"
+  identity: "user:pigweed-ci-builder@pigweed.google.com.iam.gserviceaccount.com"
 }
 swarming {
   builders {
-    name: "pigweed-linux-main-host-disco-integration"
+    name: "integration-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"
+    dimensions: "pool:luci.pigweed.ci"
     exe {
       cipd_package: "pigweed/infra/recipe_bundles/pigweed.googlesource.com/infra/recipes"
       cipd_version: "refs/heads/main"
@@ -31,11 +31,6 @@
     }
     properties:
       '{'
-      '  "$pigweed/pw_presubmit": {'
-      '    "step": ['
-      '      "gn_full_build_check"'
-      '    ]'
-      '  },'
       '  "checkout_options": {'
       '    "branch": "main",'
       '    "equivalent_remotes": [],'
@@ -46,11 +41,12 @@
       '    "use_repo": false,'
       '    "use_trigger": true'
       '  },'
+      '  "command": "python -m pw_cli --directory $PW_PROJECT_ROOT --loglevel debug presubmit --step gn_gen_check",'
       '  "dry_run": true,'
-      '  "environment_options": {'
-      '    "config_file": "pw_env_setup/config.json"'
-      '  },'
-      '  "recipe": "pw_presubmit"'
+      '  "environment_variables": ['
+      '    "PW_BOOTSTRAP_PYTHON=python2"'
+      '  ],'
+      '  "recipe": "envtest"'
       '}'
     priority: 50
     execution_timeout_secs: 2700
@@ -63,7 +59,7 @@
       path: "pip"
       wait_for_warm_cache_secs: 60
     }
-    service_account: "pigweed-try-builder@pigweed.google.com.iam.gserviceaccount.com"
+    service_account: "pigweed-ci-builder@pigweed.google.com.iam.gserviceaccount.com"
     experimental: YES
     experiments {
       key: "luci.recipes.use_python3"
diff --git a/generated/pigweed/for_review_only/buildbucket/try/pigweed-linux-main-host-disco-integration.textproto b/generated/pigweed/for_review_only/buildbucket/ci/integration-envtest-linux-python3.textproto
similarity index 69%
copy from generated/pigweed/for_review_only/buildbucket/try/pigweed-linux-main-host-disco-integration.textproto
copy to generated/pigweed/for_review_only/buildbucket/ci/integration-envtest-linux-python3.textproto
index e41225e..9237799 100644
--- a/generated/pigweed/for_review_only/buildbucket/try/pigweed-linux-main-host-disco-integration.textproto
+++ b/generated/pigweed/for_review_only/buildbucket/ci/integration-envtest-linux-python3.textproto
@@ -4,26 +4,26 @@
 # For the schema of this file, see Bucket message:
 #   https://luci-config.appspot.com/schemas/projects:buildbucket.cfg
 
-name: "try"
+name: "ci"
 acls {
   group: "all"
 }
 acls {
   role: SCHEDULER
-  identity: "user:pigweed-try-builder@pigweed.google.com.iam.gserviceaccount.com"
+  identity: "user:luci-scheduler@appspot.gserviceaccount.com"
 }
 acls {
   role: SCHEDULER
-  group: "project-pigweed-tryjob-access"
+  identity: "user:pigweed-ci-builder@pigweed.google.com.iam.gserviceaccount.com"
 }
 swarming {
   builders {
-    name: "pigweed-linux-main-host-disco-integration"
+    name: "integration-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"
+    dimensions: "pool:luci.pigweed.ci"
     exe {
       cipd_package: "pigweed/infra/recipe_bundles/pigweed.googlesource.com/infra/recipes"
       cipd_version: "refs/heads/main"
@@ -31,11 +31,6 @@
     }
     properties:
       '{'
-      '  "$pigweed/pw_presubmit": {'
-      '    "step": ['
-      '      "gn_full_build_check"'
-      '    ]'
-      '  },'
       '  "checkout_options": {'
       '    "branch": "main",'
       '    "equivalent_remotes": [],'
@@ -46,11 +41,12 @@
       '    "use_repo": false,'
       '    "use_trigger": true'
       '  },'
+      '  "command": "python -m pw_cli --directory $PW_PROJECT_ROOT --loglevel debug presubmit --step gn_gen_check",'
       '  "dry_run": true,'
-      '  "environment_options": {'
-      '    "config_file": "pw_env_setup/config.json"'
-      '  },'
-      '  "recipe": "pw_presubmit"'
+      '  "environment_variables": ['
+      '    "PW_BOOTSTRAP_PYTHON=python3"'
+      '  ],'
+      '  "recipe": "envtest"'
       '}'
     priority: 50
     execution_timeout_secs: 2700
@@ -63,7 +59,7 @@
       path: "pip"
       wait_for_warm_cache_secs: 60
     }
-    service_account: "pigweed-try-builder@pigweed.google.com.iam.gserviceaccount.com"
+    service_account: "pigweed-ci-builder@pigweed.google.com.iam.gserviceaccount.com"
     experimental: YES
     experiments {
       key: "luci.recipes.use_python3"
diff --git a/generated/pigweed/for_review_only/buildbucket/try/pigweed-linux-main-host-disco-integration.textproto b/generated/pigweed/for_review_only/buildbucket/ci/integration-envtest-mac.textproto
similarity index 66%
copy from generated/pigweed/for_review_only/buildbucket/try/pigweed-linux-main-host-disco-integration.textproto
copy to generated/pigweed/for_review_only/buildbucket/ci/integration-envtest-mac.textproto
index e41225e..c325191 100644
--- a/generated/pigweed/for_review_only/buildbucket/try/pigweed-linux-main-host-disco-integration.textproto
+++ b/generated/pigweed/for_review_only/buildbucket/ci/integration-envtest-mac.textproto
@@ -4,26 +4,25 @@
 # For the schema of this file, see Bucket message:
 #   https://luci-config.appspot.com/schemas/projects:buildbucket.cfg
 
-name: "try"
+name: "ci"
 acls {
   group: "all"
 }
 acls {
   role: SCHEDULER
-  identity: "user:pigweed-try-builder@pigweed.google.com.iam.gserviceaccount.com"
+  identity: "user:luci-scheduler@appspot.gserviceaccount.com"
 }
 acls {
   role: SCHEDULER
-  group: "project-pigweed-tryjob-access"
+  identity: "user:pigweed-ci-builder@pigweed.google.com.iam.gserviceaccount.com"
 }
 swarming {
   builders {
-    name: "pigweed-linux-main-host-disco-integration"
+    name: "integration-envtest-mac"
     swarming_host: "chromium-swarm.appspot.com"
-    dimensions: "cores:16"
     dimensions: "cpu:x64|x86-64"
-    dimensions: "os:Debian"
-    dimensions: "pool:luci.pigweed.try"
+    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"
@@ -31,11 +30,6 @@
     }
     properties:
       '{'
-      '  "$pigweed/pw_presubmit": {'
-      '    "step": ['
-      '      "gn_full_build_check"'
-      '    ]'
-      '  },'
       '  "checkout_options": {'
       '    "branch": "main",'
       '    "equivalent_remotes": [],'
@@ -46,11 +40,10 @@
       '    "use_repo": false,'
       '    "use_trigger": true'
       '  },'
+      '  "command": "python -m pw_cli --directory $PW_PROJECT_ROOT --loglevel debug presubmit --step gn_gen_check",'
       '  "dry_run": true,'
-      '  "environment_options": {'
-      '    "config_file": "pw_env_setup/config.json"'
-      '  },'
-      '  "recipe": "pw_presubmit"'
+      '  "macos_sdk.version": "11c29",'
+      '  "recipe": "envtest"'
       '}'
     priority: 50
     execution_timeout_secs: 2700
@@ -59,11 +52,16 @@
       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"
+    service_account: "pigweed-ci-builder@pigweed.google.com.iam.gserviceaccount.com"
     experimental: YES
     experiments {
       key: "luci.recipes.use_python3"
diff --git a/generated/pigweed/for_review_only/buildbucket/try/pigweed-linux-main-host-disco-integration.textproto b/generated/pigweed/for_review_only/buildbucket/ci/integration-envtest-windows.textproto
similarity index 68%
copy from generated/pigweed/for_review_only/buildbucket/try/pigweed-linux-main-host-disco-integration.textproto
copy to generated/pigweed/for_review_only/buildbucket/ci/integration-envtest-windows.textproto
index e41225e..288e1ca 100644
--- a/generated/pigweed/for_review_only/buildbucket/try/pigweed-linux-main-host-disco-integration.textproto
+++ b/generated/pigweed/for_review_only/buildbucket/ci/integration-envtest-windows.textproto
@@ -4,26 +4,26 @@
 # For the schema of this file, see Bucket message:
 #   https://luci-config.appspot.com/schemas/projects:buildbucket.cfg
 
-name: "try"
+name: "ci"
 acls {
   group: "all"
 }
 acls {
   role: SCHEDULER
-  identity: "user:pigweed-try-builder@pigweed.google.com.iam.gserviceaccount.com"
+  identity: "user:luci-scheduler@appspot.gserviceaccount.com"
 }
 acls {
   role: SCHEDULER
-  group: "project-pigweed-tryjob-access"
+  identity: "user:pigweed-ci-builder@pigweed.google.com.iam.gserviceaccount.com"
 }
 swarming {
   builders {
-    name: "pigweed-linux-main-host-disco-integration"
+    name: "integration-envtest-windows"
     swarming_host: "chromium-swarm.appspot.com"
     dimensions: "cores:16"
     dimensions: "cpu:x64|x86-64"
-    dimensions: "os:Debian"
-    dimensions: "pool:luci.pigweed.try"
+    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"
@@ -31,11 +31,6 @@
     }
     properties:
       '{'
-      '  "$pigweed/pw_presubmit": {'
-      '    "step": ['
-      '      "gn_full_build_check"'
-      '    ]'
-      '  },'
       '  "checkout_options": {'
       '    "branch": "main",'
       '    "equivalent_remotes": [],'
@@ -46,11 +41,9 @@
       '    "use_repo": false,'
       '    "use_trigger": true'
       '  },'
+      '  "command": "python -m pw_cli --directory $PW_PROJECT_ROOT --loglevel debug presubmit --step gn_gen_check",'
       '  "dry_run": true,'
-      '  "environment_options": {'
-      '    "config_file": "pw_env_setup/config.json"'
-      '  },'
-      '  "recipe": "pw_presubmit"'
+      '  "recipe": "envtest"'
       '}'
     priority: 50
     execution_timeout_secs: 2700
@@ -63,7 +56,7 @@
       path: "pip"
       wait_for_warm_cache_secs: 60
     }
-    service_account: "pigweed-try-builder@pigweed.google.com.iam.gserviceaccount.com"
+    service_account: "pigweed-ci-builder@pigweed.google.com.iam.gserviceaccount.com"
     experimental: YES
     experiments {
       key: "luci.recipes.use_python3"
diff --git a/generated/pigweed/for_review_only/buildbucket/try/pigweed-linux-main-host-disco-integration.textproto b/generated/pigweed/for_review_only/buildbucket/ci/integration-integration-pigweed-lintformat.textproto
similarity index 77%
copy from generated/pigweed/for_review_only/buildbucket/try/pigweed-linux-main-host-disco-integration.textproto
copy to generated/pigweed/for_review_only/buildbucket/ci/integration-integration-pigweed-lintformat.textproto
index e41225e..316d827 100644
--- a/generated/pigweed/for_review_only/buildbucket/try/pigweed-linux-main-host-disco-integration.textproto
+++ b/generated/pigweed/for_review_only/buildbucket/ci/integration-integration-pigweed-lintformat.textproto
@@ -4,26 +4,26 @@
 # For the schema of this file, see Bucket message:
 #   https://luci-config.appspot.com/schemas/projects:buildbucket.cfg
 
-name: "try"
+name: "ci"
 acls {
   group: "all"
 }
 acls {
   role: SCHEDULER
-  identity: "user:pigweed-try-builder@pigweed.google.com.iam.gserviceaccount.com"
+  identity: "user:luci-scheduler@appspot.gserviceaccount.com"
 }
 acls {
   role: SCHEDULER
-  group: "project-pigweed-tryjob-access"
+  identity: "user:pigweed-ci-builder@pigweed.google.com.iam.gserviceaccount.com"
 }
 swarming {
   builders {
-    name: "pigweed-linux-main-host-disco-integration"
+    name: "integration-integration-pigweed-lintformat"
     swarming_host: "chromium-swarm.appspot.com"
     dimensions: "cores:16"
     dimensions: "cpu:x64|x86-64"
     dimensions: "os:Debian"
-    dimensions: "pool:luci.pigweed.try"
+    dimensions: "pool:luci.pigweed.ci"
     exe {
       cipd_package: "pigweed/infra/recipe_bundles/pigweed.googlesource.com/infra/recipes"
       cipd_version: "refs/heads/main"
@@ -32,8 +32,8 @@
     properties:
       '{'
       '  "$pigweed/pw_presubmit": {'
-      '    "step": ['
-      '      "gn_full_build_check"'
+      '    "program": ['
+      '      "lintformat"'
       '    ]'
       '  },'
       '  "checkout_options": {'
@@ -53,7 +53,7 @@
       '  "recipe": "pw_presubmit"'
       '}'
     priority: 50
-    execution_timeout_secs: 2700
+    execution_timeout_secs: 1500
     caches {
       name: "builder"
       path: "builder"
@@ -63,7 +63,7 @@
       path: "pip"
       wait_for_warm_cache_secs: 60
     }
-    service_account: "pigweed-try-builder@pigweed.google.com.iam.gserviceaccount.com"
+    service_account: "pigweed-ci-builder@pigweed.google.com.iam.gserviceaccount.com"
     experimental: YES
     experiments {
       key: "luci.recipes.use_python3"
diff --git a/generated/pigweed/for_review_only/buildbucket/try/pigweed-linux-main-host-disco-integration.textproto b/generated/pigweed/for_review_only/buildbucket/ci/integration-pigweed-linux-bazel-build-host-clang.textproto
similarity index 76%
copy from generated/pigweed/for_review_only/buildbucket/try/pigweed-linux-main-host-disco-integration.textproto
copy to generated/pigweed/for_review_only/buildbucket/ci/integration-pigweed-linux-bazel-build-host-clang.textproto
index e41225e..9d06633 100644
--- a/generated/pigweed/for_review_only/buildbucket/try/pigweed-linux-main-host-disco-integration.textproto
+++ b/generated/pigweed/for_review_only/buildbucket/ci/integration-pigweed-linux-bazel-build-host-clang.textproto
@@ -4,26 +4,26 @@
 # For the schema of this file, see Bucket message:
 #   https://luci-config.appspot.com/schemas/projects:buildbucket.cfg
 
-name: "try"
+name: "ci"
 acls {
   group: "all"
 }
 acls {
   role: SCHEDULER
-  identity: "user:pigweed-try-builder@pigweed.google.com.iam.gserviceaccount.com"
+  identity: "user:luci-scheduler@appspot.gserviceaccount.com"
 }
 acls {
   role: SCHEDULER
-  group: "project-pigweed-tryjob-access"
+  identity: "user:pigweed-ci-builder@pigweed.google.com.iam.gserviceaccount.com"
 }
 swarming {
   builders {
-    name: "pigweed-linux-main-host-disco-integration"
+    name: "integration-pigweed-linux-bazel-build-host-clang"
     swarming_host: "chromium-swarm.appspot.com"
     dimensions: "cores:16"
     dimensions: "cpu:x64|x86-64"
     dimensions: "os:Debian"
-    dimensions: "pool:luci.pigweed.try"
+    dimensions: "pool:luci.pigweed.ci"
     exe {
       cipd_package: "pigweed/infra/recipe_bundles/pigweed.googlesource.com/infra/recipes"
       cipd_version: "refs/heads/main"
@@ -33,7 +33,7 @@
       '{'
       '  "$pigweed/pw_presubmit": {'
       '    "step": ['
-      '      "gn_full_build_check"'
+      '      "bazel_build"'
       '    ]'
       '  },'
       '  "checkout_options": {'
@@ -55,6 +55,11 @@
     priority: 50
     execution_timeout_secs: 2700
     caches {
+      name: "bazel"
+      path: "bazel"
+      wait_for_warm_cache_secs: 60
+    }
+    caches {
       name: "builder"
       path: "builder"
     }
@@ -63,7 +68,7 @@
       path: "pip"
       wait_for_warm_cache_secs: 60
     }
-    service_account: "pigweed-try-builder@pigweed.google.com.iam.gserviceaccount.com"
+    service_account: "pigweed-ci-builder@pigweed.google.com.iam.gserviceaccount.com"
     experimental: YES
     experiments {
       key: "luci.recipes.use_python3"
diff --git a/generated/pigweed/for_review_only/buildbucket/try/pigweed-linux-main-host-disco-integration.textproto b/generated/pigweed/for_review_only/buildbucket/ci/integration-pigweed-linux-bazel-test-host-clang.textproto
similarity index 76%
copy from generated/pigweed/for_review_only/buildbucket/try/pigweed-linux-main-host-disco-integration.textproto
copy to generated/pigweed/for_review_only/buildbucket/ci/integration-pigweed-linux-bazel-test-host-clang.textproto
index e41225e..15952a8 100644
--- a/generated/pigweed/for_review_only/buildbucket/try/pigweed-linux-main-host-disco-integration.textproto
+++ b/generated/pigweed/for_review_only/buildbucket/ci/integration-pigweed-linux-bazel-test-host-clang.textproto
@@ -4,26 +4,26 @@
 # For the schema of this file, see Bucket message:
 #   https://luci-config.appspot.com/schemas/projects:buildbucket.cfg
 
-name: "try"
+name: "ci"
 acls {
   group: "all"
 }
 acls {
   role: SCHEDULER
-  identity: "user:pigweed-try-builder@pigweed.google.com.iam.gserviceaccount.com"
+  identity: "user:luci-scheduler@appspot.gserviceaccount.com"
 }
 acls {
   role: SCHEDULER
-  group: "project-pigweed-tryjob-access"
+  identity: "user:pigweed-ci-builder@pigweed.google.com.iam.gserviceaccount.com"
 }
 swarming {
   builders {
-    name: "pigweed-linux-main-host-disco-integration"
+    name: "integration-pigweed-linux-bazel-test-host-clang"
     swarming_host: "chromium-swarm.appspot.com"
     dimensions: "cores:16"
     dimensions: "cpu:x64|x86-64"
     dimensions: "os:Debian"
-    dimensions: "pool:luci.pigweed.try"
+    dimensions: "pool:luci.pigweed.ci"
     exe {
       cipd_package: "pigweed/infra/recipe_bundles/pigweed.googlesource.com/infra/recipes"
       cipd_version: "refs/heads/main"
@@ -33,7 +33,7 @@
       '{'
       '  "$pigweed/pw_presubmit": {'
       '    "step": ['
-      '      "gn_full_build_check"'
+      '      "bazel_test"'
       '    ]'
       '  },'
       '  "checkout_options": {'
@@ -55,6 +55,11 @@
     priority: 50
     execution_timeout_secs: 2700
     caches {
+      name: "bazel"
+      path: "bazel"
+      wait_for_warm_cache_secs: 60
+    }
+    caches {
       name: "builder"
       path: "builder"
     }
@@ -63,7 +68,7 @@
       path: "pip"
       wait_for_warm_cache_secs: 60
     }
-    service_account: "pigweed-try-builder@pigweed.google.com.iam.gserviceaccount.com"
+    service_account: "pigweed-ci-builder@pigweed.google.com.iam.gserviceaccount.com"
     experimental: YES
     experiments {
       key: "luci.recipes.use_python3"
diff --git a/generated/pigweed/for_review_only/buildbucket/try/pigweed-linux-main-host-disco-integration.textproto b/generated/pigweed/for_review_only/buildbucket/ci/integration-pigweed-linux-cmake-host-clang.textproto
similarity index 80%
copy from generated/pigweed/for_review_only/buildbucket/try/pigweed-linux-main-host-disco-integration.textproto
copy to generated/pigweed/for_review_only/buildbucket/ci/integration-pigweed-linux-cmake-host-clang.textproto
index e41225e..98cc748 100644
--- a/generated/pigweed/for_review_only/buildbucket/try/pigweed-linux-main-host-disco-integration.textproto
+++ b/generated/pigweed/for_review_only/buildbucket/ci/integration-pigweed-linux-cmake-host-clang.textproto
@@ -4,26 +4,26 @@
 # For the schema of this file, see Bucket message:
 #   https://luci-config.appspot.com/schemas/projects:buildbucket.cfg
 
-name: "try"
+name: "ci"
 acls {
   group: "all"
 }
 acls {
   role: SCHEDULER
-  identity: "user:pigweed-try-builder@pigweed.google.com.iam.gserviceaccount.com"
+  identity: "user:luci-scheduler@appspot.gserviceaccount.com"
 }
 acls {
   role: SCHEDULER
-  group: "project-pigweed-tryjob-access"
+  identity: "user:pigweed-ci-builder@pigweed.google.com.iam.gserviceaccount.com"
 }
 swarming {
   builders {
-    name: "pigweed-linux-main-host-disco-integration"
+    name: "integration-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"
+    dimensions: "pool:luci.pigweed.ci"
     exe {
       cipd_package: "pigweed/infra/recipe_bundles/pigweed.googlesource.com/infra/recipes"
       cipd_version: "refs/heads/main"
@@ -33,7 +33,7 @@
       '{'
       '  "$pigweed/pw_presubmit": {'
       '    "step": ['
-      '      "gn_full_build_check"'
+      '      "cmake_clang"'
       '    ]'
       '  },'
       '  "checkout_options": {'
@@ -63,7 +63,7 @@
       path: "pip"
       wait_for_warm_cache_secs: 60
     }
-    service_account: "pigweed-try-builder@pigweed.google.com.iam.gserviceaccount.com"
+    service_account: "pigweed-ci-builder@pigweed.google.com.iam.gserviceaccount.com"
     experimental: YES
     experiments {
       key: "luci.recipes.use_python3"
diff --git a/generated/pigweed/for_review_only/buildbucket/try/pigweed-linux-main-host-disco-integration.textproto b/generated/pigweed/for_review_only/buildbucket/ci/integration-pigweed-linux-cmake-host-gcc.textproto
similarity index 80%
copy from generated/pigweed/for_review_only/buildbucket/try/pigweed-linux-main-host-disco-integration.textproto
copy to generated/pigweed/for_review_only/buildbucket/ci/integration-pigweed-linux-cmake-host-gcc.textproto
index e41225e..cd20e40 100644
--- a/generated/pigweed/for_review_only/buildbucket/try/pigweed-linux-main-host-disco-integration.textproto
+++ b/generated/pigweed/for_review_only/buildbucket/ci/integration-pigweed-linux-cmake-host-gcc.textproto
@@ -4,26 +4,26 @@
 # For the schema of this file, see Bucket message:
 #   https://luci-config.appspot.com/schemas/projects:buildbucket.cfg
 
-name: "try"
+name: "ci"
 acls {
   group: "all"
 }
 acls {
   role: SCHEDULER
-  identity: "user:pigweed-try-builder@pigweed.google.com.iam.gserviceaccount.com"
+  identity: "user:luci-scheduler@appspot.gserviceaccount.com"
 }
 acls {
   role: SCHEDULER
-  group: "project-pigweed-tryjob-access"
+  identity: "user:pigweed-ci-builder@pigweed.google.com.iam.gserviceaccount.com"
 }
 swarming {
   builders {
-    name: "pigweed-linux-main-host-disco-integration"
+    name: "integration-pigweed-linux-cmake-host-gcc"
     swarming_host: "chromium-swarm.appspot.com"
     dimensions: "cores:16"
     dimensions: "cpu:x64|x86-64"
     dimensions: "os:Debian"
-    dimensions: "pool:luci.pigweed.try"
+    dimensions: "pool:luci.pigweed.ci"
     exe {
       cipd_package: "pigweed/infra/recipe_bundles/pigweed.googlesource.com/infra/recipes"
       cipd_version: "refs/heads/main"
@@ -33,7 +33,7 @@
       '{'
       '  "$pigweed/pw_presubmit": {'
       '    "step": ['
-      '      "gn_full_build_check"'
+      '      "cmake_gcc"'
       '    ]'
       '  },'
       '  "checkout_options": {'
@@ -63,7 +63,7 @@
       path: "pip"
       wait_for_warm_cache_secs: 60
     }
-    service_account: "pigweed-try-builder@pigweed.google.com.iam.gserviceaccount.com"
+    service_account: "pigweed-ci-builder@pigweed.google.com.iam.gserviceaccount.com"
     experimental: YES
     experiments {
       key: "luci.recipes.use_python3"
diff --git a/generated/pigweed/for_review_only/buildbucket/try/pigweed-linux-main-host-disco-integration.textproto b/generated/pigweed/for_review_only/buildbucket/ci/integration-pigweed-linux-compatibility-host-disco.textproto
similarity index 78%
copy from generated/pigweed/for_review_only/buildbucket/try/pigweed-linux-main-host-disco-integration.textproto
copy to generated/pigweed/for_review_only/buildbucket/ci/integration-pigweed-linux-compatibility-host-disco.textproto
index e41225e..9cf0d10 100644
--- a/generated/pigweed/for_review_only/buildbucket/try/pigweed-linux-main-host-disco-integration.textproto
+++ b/generated/pigweed/for_review_only/buildbucket/ci/integration-pigweed-linux-compatibility-host-disco.textproto
@@ -4,26 +4,26 @@
 # For the schema of this file, see Bucket message:
 #   https://luci-config.appspot.com/schemas/projects:buildbucket.cfg
 
-name: "try"
+name: "ci"
 acls {
   group: "all"
 }
 acls {
   role: SCHEDULER
-  identity: "user:pigweed-try-builder@pigweed.google.com.iam.gserviceaccount.com"
+  identity: "user:luci-scheduler@appspot.gserviceaccount.com"
 }
 acls {
   role: SCHEDULER
-  group: "project-pigweed-tryjob-access"
+  identity: "user:pigweed-ci-builder@pigweed.google.com.iam.gserviceaccount.com"
 }
 swarming {
   builders {
-    name: "pigweed-linux-main-host-disco-integration"
+    name: "integration-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"
+    dimensions: "pool:luci.pigweed.ci"
     exe {
       cipd_package: "pigweed/infra/recipe_bundles/pigweed.googlesource.com/infra/recipes"
       cipd_version: "refs/heads/main"
@@ -48,7 +48,7 @@
       '  },'
       '  "dry_run": true,'
       '  "environment_options": {'
-      '    "config_file": "pw_env_setup/config.json"'
+      '    "config_file": "pw_env_setup/compatibility.json"'
       '  },'
       '  "recipe": "pw_presubmit"'
       '}'
@@ -63,7 +63,7 @@
       path: "pip"
       wait_for_warm_cache_secs: 60
     }
-    service_account: "pigweed-try-builder@pigweed.google.com.iam.gserviceaccount.com"
+    service_account: "pigweed-ci-builder@pigweed.google.com.iam.gserviceaccount.com"
     experimental: YES
     experiments {
       key: "luci.recipes.use_python3"
diff --git a/generated/pigweed/for_review_only/buildbucket/try/pigweed-linux-main-host-disco-integration.textproto b/generated/pigweed/for_review_only/buildbucket/ci/integration-pigweed-linux-gn-crypto-boringssl.textproto
similarity index 79%
copy from generated/pigweed/for_review_only/buildbucket/try/pigweed-linux-main-host-disco-integration.textproto
copy to generated/pigweed/for_review_only/buildbucket/ci/integration-pigweed-linux-gn-crypto-boringssl.textproto
index e41225e..5768de6 100644
--- a/generated/pigweed/for_review_only/buildbucket/try/pigweed-linux-main-host-disco-integration.textproto
+++ b/generated/pigweed/for_review_only/buildbucket/ci/integration-pigweed-linux-gn-crypto-boringssl.textproto
@@ -4,26 +4,26 @@
 # For the schema of this file, see Bucket message:
 #   https://luci-config.appspot.com/schemas/projects:buildbucket.cfg
 
-name: "try"
+name: "ci"
 acls {
   group: "all"
 }
 acls {
   role: SCHEDULER
-  identity: "user:pigweed-try-builder@pigweed.google.com.iam.gserviceaccount.com"
+  identity: "user:luci-scheduler@appspot.gserviceaccount.com"
 }
 acls {
   role: SCHEDULER
-  group: "project-pigweed-tryjob-access"
+  identity: "user:pigweed-ci-builder@pigweed.google.com.iam.gserviceaccount.com"
 }
 swarming {
   builders {
-    name: "pigweed-linux-main-host-disco-integration"
+    name: "integration-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"
+    dimensions: "pool:luci.pigweed.ci"
     exe {
       cipd_package: "pigweed/infra/recipe_bundles/pigweed.googlesource.com/infra/recipes"
       cipd_version: "refs/heads/main"
@@ -33,7 +33,7 @@
       '{'
       '  "$pigweed/pw_presubmit": {'
       '    "step": ['
-      '      "gn_full_build_check"'
+      '      "gn_crypto_boringssl_build"'
       '    ]'
       '  },'
       '  "checkout_options": {'
@@ -63,7 +63,7 @@
       path: "pip"
       wait_for_warm_cache_secs: 60
     }
-    service_account: "pigweed-try-builder@pigweed.google.com.iam.gserviceaccount.com"
+    service_account: "pigweed-ci-builder@pigweed.google.com.iam.gserviceaccount.com"
     experimental: YES
     experiments {
       key: "luci.recipes.use_python3"
diff --git a/generated/pigweed/for_review_only/buildbucket/try/pigweed-linux-main-host-disco-integration.textproto b/generated/pigweed/for_review_only/buildbucket/ci/integration-pigweed-linux-gn-crypto-build-micro-ecc.textproto
similarity index 79%
copy from generated/pigweed/for_review_only/buildbucket/try/pigweed-linux-main-host-disco-integration.textproto
copy to generated/pigweed/for_review_only/buildbucket/ci/integration-pigweed-linux-gn-crypto-build-micro-ecc.textproto
index e41225e..1f59f29 100644
--- a/generated/pigweed/for_review_only/buildbucket/try/pigweed-linux-main-host-disco-integration.textproto
+++ b/generated/pigweed/for_review_only/buildbucket/ci/integration-pigweed-linux-gn-crypto-build-micro-ecc.textproto
@@ -4,26 +4,26 @@
 # For the schema of this file, see Bucket message:
 #   https://luci-config.appspot.com/schemas/projects:buildbucket.cfg
 
-name: "try"
+name: "ci"
 acls {
   group: "all"
 }
 acls {
   role: SCHEDULER
-  identity: "user:pigweed-try-builder@pigweed.google.com.iam.gserviceaccount.com"
+  identity: "user:luci-scheduler@appspot.gserviceaccount.com"
 }
 acls {
   role: SCHEDULER
-  group: "project-pigweed-tryjob-access"
+  identity: "user:pigweed-ci-builder@pigweed.google.com.iam.gserviceaccount.com"
 }
 swarming {
   builders {
-    name: "pigweed-linux-main-host-disco-integration"
+    name: "integration-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"
+    dimensions: "pool:luci.pigweed.ci"
     exe {
       cipd_package: "pigweed/infra/recipe_bundles/pigweed.googlesource.com/infra/recipes"
       cipd_version: "refs/heads/main"
@@ -33,7 +33,7 @@
       '{'
       '  "$pigweed/pw_presubmit": {'
       '    "step": ['
-      '      "gn_full_build_check"'
+      '      "gn_crypto_micro_ecc_build"'
       '    ]'
       '  },'
       '  "checkout_options": {'
@@ -63,7 +63,7 @@
       path: "pip"
       wait_for_warm_cache_secs: 60
     }
-    service_account: "pigweed-try-builder@pigweed.google.com.iam.gserviceaccount.com"
+    service_account: "pigweed-ci-builder@pigweed.google.com.iam.gserviceaccount.com"
     experimental: YES
     experiments {
       key: "luci.recipes.use_python3"
diff --git a/generated/pigweed/for_review_only/buildbucket/try/pigweed-linux-main-host-disco-integration.textproto b/generated/pigweed/for_review_only/buildbucket/ci/integration-pigweed-linux-gn-crypto-mbedtls.textproto
similarity index 80%
copy from generated/pigweed/for_review_only/buildbucket/try/pigweed-linux-main-host-disco-integration.textproto
copy to generated/pigweed/for_review_only/buildbucket/ci/integration-pigweed-linux-gn-crypto-mbedtls.textproto
index e41225e..96ef62a 100644
--- a/generated/pigweed/for_review_only/buildbucket/try/pigweed-linux-main-host-disco-integration.textproto
+++ b/generated/pigweed/for_review_only/buildbucket/ci/integration-pigweed-linux-gn-crypto-mbedtls.textproto
@@ -4,26 +4,26 @@
 # For the schema of this file, see Bucket message:
 #   https://luci-config.appspot.com/schemas/projects:buildbucket.cfg
 
-name: "try"
+name: "ci"
 acls {
   group: "all"
 }
 acls {
   role: SCHEDULER
-  identity: "user:pigweed-try-builder@pigweed.google.com.iam.gserviceaccount.com"
+  identity: "user:luci-scheduler@appspot.gserviceaccount.com"
 }
 acls {
   role: SCHEDULER
-  group: "project-pigweed-tryjob-access"
+  identity: "user:pigweed-ci-builder@pigweed.google.com.iam.gserviceaccount.com"
 }
 swarming {
   builders {
-    name: "pigweed-linux-main-host-disco-integration"
+    name: "integration-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"
+    dimensions: "pool:luci.pigweed.ci"
     exe {
       cipd_package: "pigweed/infra/recipe_bundles/pigweed.googlesource.com/infra/recipes"
       cipd_version: "refs/heads/main"
@@ -33,7 +33,7 @@
       '{'
       '  "$pigweed/pw_presubmit": {'
       '    "step": ['
-      '      "gn_full_build_check"'
+      '      "gn_crypto_mbedtls_build"'
       '    ]'
       '  },'
       '  "checkout_options": {'
@@ -63,7 +63,7 @@
       path: "pip"
       wait_for_warm_cache_secs: 60
     }
-    service_account: "pigweed-try-builder@pigweed.google.com.iam.gserviceaccount.com"
+    service_account: "pigweed-ci-builder@pigweed.google.com.iam.gserviceaccount.com"
     experimental: YES
     experiments {
       key: "luci.recipes.use_python3"
diff --git a/generated/pigweed/for_review_only/buildbucket/try/pigweed-linux-main-host-disco-integration.textproto b/generated/pigweed/for_review_only/buildbucket/ci/integration-pigweed-linux-gn-nanopb.textproto
similarity index 80%
copy from generated/pigweed/for_review_only/buildbucket/try/pigweed-linux-main-host-disco-integration.textproto
copy to generated/pigweed/for_review_only/buildbucket/ci/integration-pigweed-linux-gn-nanopb.textproto
index e41225e..ce7d86e 100644
--- a/generated/pigweed/for_review_only/buildbucket/try/pigweed-linux-main-host-disco-integration.textproto
+++ b/generated/pigweed/for_review_only/buildbucket/ci/integration-pigweed-linux-gn-nanopb.textproto
@@ -4,26 +4,26 @@
 # For the schema of this file, see Bucket message:
 #   https://luci-config.appspot.com/schemas/projects:buildbucket.cfg
 
-name: "try"
+name: "ci"
 acls {
   group: "all"
 }
 acls {
   role: SCHEDULER
-  identity: "user:pigweed-try-builder@pigweed.google.com.iam.gserviceaccount.com"
+  identity: "user:luci-scheduler@appspot.gserviceaccount.com"
 }
 acls {
   role: SCHEDULER
-  group: "project-pigweed-tryjob-access"
+  identity: "user:pigweed-ci-builder@pigweed.google.com.iam.gserviceaccount.com"
 }
 swarming {
   builders {
-    name: "pigweed-linux-main-host-disco-integration"
+    name: "integration-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"
+    dimensions: "pool:luci.pigweed.ci"
     exe {
       cipd_package: "pigweed/infra/recipe_bundles/pigweed.googlesource.com/infra/recipes"
       cipd_version: "refs/heads/main"
@@ -33,7 +33,7 @@
       '{'
       '  "$pigweed/pw_presubmit": {'
       '    "step": ['
-      '      "gn_full_build_check"'
+      '      "gn_nanopb_build"'
       '    ]'
       '  },'
       '  "checkout_options": {'
@@ -63,7 +63,7 @@
       path: "pip"
       wait_for_warm_cache_secs: 60
     }
-    service_account: "pigweed-try-builder@pigweed.google.com.iam.gserviceaccount.com"
+    service_account: "pigweed-ci-builder@pigweed.google.com.iam.gserviceaccount.com"
     experimental: YES
     experiments {
       key: "luci.recipes.use_python3"
diff --git a/generated/pigweed/for_review_only/buildbucket/try/pigweed-linux-main-host-disco-integration.textproto b/generated/pigweed/for_review_only/buildbucket/ci/integration-pigweed-linux-gn-software-update.textproto
similarity index 80%
copy from generated/pigweed/for_review_only/buildbucket/try/pigweed-linux-main-host-disco-integration.textproto
copy to generated/pigweed/for_review_only/buildbucket/ci/integration-pigweed-linux-gn-software-update.textproto
index e41225e..af280ce 100644
--- a/generated/pigweed/for_review_only/buildbucket/try/pigweed-linux-main-host-disco-integration.textproto
+++ b/generated/pigweed/for_review_only/buildbucket/ci/integration-pigweed-linux-gn-software-update.textproto
@@ -4,26 +4,26 @@
 # For the schema of this file, see Bucket message:
 #   https://luci-config.appspot.com/schemas/projects:buildbucket.cfg
 
-name: "try"
+name: "ci"
 acls {
   group: "all"
 }
 acls {
   role: SCHEDULER
-  identity: "user:pigweed-try-builder@pigweed.google.com.iam.gserviceaccount.com"
+  identity: "user:luci-scheduler@appspot.gserviceaccount.com"
 }
 acls {
   role: SCHEDULER
-  group: "project-pigweed-tryjob-access"
+  identity: "user:pigweed-ci-builder@pigweed.google.com.iam.gserviceaccount.com"
 }
 swarming {
   builders {
-    name: "pigweed-linux-main-host-disco-integration"
+    name: "integration-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"
+    dimensions: "pool:luci.pigweed.ci"
     exe {
       cipd_package: "pigweed/infra/recipe_bundles/pigweed.googlesource.com/infra/recipes"
       cipd_version: "refs/heads/main"
@@ -33,7 +33,7 @@
       '{'
       '  "$pigweed/pw_presubmit": {'
       '    "step": ['
-      '      "gn_full_build_check"'
+      '      "gn_software_update_build"'
       '    ]'
       '  },'
       '  "checkout_options": {'
@@ -63,7 +63,7 @@
       path: "pip"
       wait_for_warm_cache_secs: 60
     }
-    service_account: "pigweed-try-builder@pigweed.google.com.iam.gserviceaccount.com"
+    service_account: "pigweed-ci-builder@pigweed.google.com.iam.gserviceaccount.com"
     experimental: YES
     experiments {
       key: "luci.recipes.use_python3"
diff --git a/generated/pigweed/for_review_only/buildbucket/try/pigweed-linux-main-host-disco-integration.textproto b/generated/pigweed/for_review_only/buildbucket/ci/integration-pigweed-linux-gn-teensy.textproto
similarity index 80%
copy from generated/pigweed/for_review_only/buildbucket/try/pigweed-linux-main-host-disco-integration.textproto
copy to generated/pigweed/for_review_only/buildbucket/ci/integration-pigweed-linux-gn-teensy.textproto
index e41225e..75e44f2 100644
--- a/generated/pigweed/for_review_only/buildbucket/try/pigweed-linux-main-host-disco-integration.textproto
+++ b/generated/pigweed/for_review_only/buildbucket/ci/integration-pigweed-linux-gn-teensy.textproto
@@ -4,26 +4,26 @@
 # For the schema of this file, see Bucket message:
 #   https://luci-config.appspot.com/schemas/projects:buildbucket.cfg
 
-name: "try"
+name: "ci"
 acls {
   group: "all"
 }
 acls {
   role: SCHEDULER
-  identity: "user:pigweed-try-builder@pigweed.google.com.iam.gserviceaccount.com"
+  identity: "user:luci-scheduler@appspot.gserviceaccount.com"
 }
 acls {
   role: SCHEDULER
-  group: "project-pigweed-tryjob-access"
+  identity: "user:pigweed-ci-builder@pigweed.google.com.iam.gserviceaccount.com"
 }
 swarming {
   builders {
-    name: "pigweed-linux-main-host-disco-integration"
+    name: "integration-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"
+    dimensions: "pool:luci.pigweed.ci"
     exe {
       cipd_package: "pigweed/infra/recipe_bundles/pigweed.googlesource.com/infra/recipes"
       cipd_version: "refs/heads/main"
@@ -33,7 +33,7 @@
       '{'
       '  "$pigweed/pw_presubmit": {'
       '    "step": ['
-      '      "gn_full_build_check"'
+      '      "gn_teensy_build"'
       '    ]'
       '  },'
       '  "checkout_options": {'
@@ -63,7 +63,7 @@
       path: "pip"
       wait_for_warm_cache_secs: 60
     }
-    service_account: "pigweed-try-builder@pigweed.google.com.iam.gserviceaccount.com"
+    service_account: "pigweed-ci-builder@pigweed.google.com.iam.gserviceaccount.com"
     experimental: YES
     experiments {
       key: "luci.recipes.use_python3"
diff --git a/generated/pigweed/for_review_only/buildbucket/try/pigweed-linux-main-host-disco-integration.textproto b/generated/pigweed/for_review_only/buildbucket/ci/integration-pigweed-linux-main-host-disco.textproto
similarity index 82%
copy from generated/pigweed/for_review_only/buildbucket/try/pigweed-linux-main-host-disco-integration.textproto
copy to generated/pigweed/for_review_only/buildbucket/ci/integration-pigweed-linux-main-host-disco.textproto
index e41225e..e3d3661 100644
--- a/generated/pigweed/for_review_only/buildbucket/try/pigweed-linux-main-host-disco-integration.textproto
+++ b/generated/pigweed/for_review_only/buildbucket/ci/integration-pigweed-linux-main-host-disco.textproto
@@ -4,26 +4,26 @@
 # For the schema of this file, see Bucket message:
 #   https://luci-config.appspot.com/schemas/projects:buildbucket.cfg
 
-name: "try"
+name: "ci"
 acls {
   group: "all"
 }
 acls {
   role: SCHEDULER
-  identity: "user:pigweed-try-builder@pigweed.google.com.iam.gserviceaccount.com"
+  identity: "user:luci-scheduler@appspot.gserviceaccount.com"
 }
 acls {
   role: SCHEDULER
-  group: "project-pigweed-tryjob-access"
+  identity: "user:pigweed-ci-builder@pigweed.google.com.iam.gserviceaccount.com"
 }
 swarming {
   builders {
-    name: "pigweed-linux-main-host-disco-integration"
+    name: "integration-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"
+    dimensions: "pool:luci.pigweed.ci"
     exe {
       cipd_package: "pigweed/infra/recipe_bundles/pigweed.googlesource.com/infra/recipes"
       cipd_version: "refs/heads/main"
@@ -63,7 +63,7 @@
       path: "pip"
       wait_for_warm_cache_secs: 60
     }
-    service_account: "pigweed-try-builder@pigweed.google.com.iam.gserviceaccount.com"
+    service_account: "pigweed-ci-builder@pigweed.google.com.iam.gserviceaccount.com"
     experimental: YES
     experiments {
       key: "luci.recipes.use_python3"
diff --git a/generated/pigweed/for_review_only/buildbucket/try/pigweed-linux-main-host-disco-integration.textproto b/generated/pigweed/for_review_only/buildbucket/ci/integration-pigweed-linux-qemu-compatibility-clang-armgcc.textproto
similarity index 76%
copy from generated/pigweed/for_review_only/buildbucket/try/pigweed-linux-main-host-disco-integration.textproto
copy to generated/pigweed/for_review_only/buildbucket/ci/integration-pigweed-linux-qemu-compatibility-clang-armgcc.textproto
index e41225e..e27df2b 100644
--- a/generated/pigweed/for_review_only/buildbucket/try/pigweed-linux-main-host-disco-integration.textproto
+++ b/generated/pigweed/for_review_only/buildbucket/ci/integration-pigweed-linux-qemu-compatibility-clang-armgcc.textproto
@@ -4,26 +4,26 @@
 # For the schema of this file, see Bucket message:
 #   https://luci-config.appspot.com/schemas/projects:buildbucket.cfg
 
-name: "try"
+name: "ci"
 acls {
   group: "all"
 }
 acls {
   role: SCHEDULER
-  identity: "user:pigweed-try-builder@pigweed.google.com.iam.gserviceaccount.com"
+  identity: "user:luci-scheduler@appspot.gserviceaccount.com"
 }
 acls {
   role: SCHEDULER
-  group: "project-pigweed-tryjob-access"
+  identity: "user:pigweed-ci-builder@pigweed.google.com.iam.gserviceaccount.com"
 }
 swarming {
   builders {
-    name: "pigweed-linux-main-host-disco-integration"
+    name: "integration-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"
+    dimensions: "pool:luci.pigweed.ci"
     exe {
       cipd_package: "pigweed/infra/recipe_bundles/pigweed.googlesource.com/infra/recipes"
       cipd_version: "refs/heads/main"
@@ -33,7 +33,7 @@
       '{'
       '  "$pigweed/pw_presubmit": {'
       '    "step": ['
-      '      "gn_full_build_check"'
+      '      "gn_full_qemu_check"'
       '    ]'
       '  },'
       '  "checkout_options": {'
@@ -48,7 +48,7 @@
       '  },'
       '  "dry_run": true,'
       '  "environment_options": {'
-      '    "config_file": "pw_env_setup/config.json"'
+      '    "config_file": "pw_env_setup/compatibility.json"'
       '  },'
       '  "recipe": "pw_presubmit"'
       '}'
@@ -63,7 +63,7 @@
       path: "pip"
       wait_for_warm_cache_secs: 60
     }
-    service_account: "pigweed-try-builder@pigweed.google.com.iam.gserviceaccount.com"
+    service_account: "pigweed-ci-builder@pigweed.google.com.iam.gserviceaccount.com"
     experimental: YES
     experiments {
       key: "luci.recipes.use_python3"
diff --git a/generated/pigweed/for_review_only/buildbucket/try/pigweed-linux-main-host-disco-integration.textproto b/generated/pigweed/for_review_only/buildbucket/ci/integration-pigweed-linux-qemu-main-clang-armgcc.textproto
similarity index 80%
copy from generated/pigweed/for_review_only/buildbucket/try/pigweed-linux-main-host-disco-integration.textproto
copy to generated/pigweed/for_review_only/buildbucket/ci/integration-pigweed-linux-qemu-main-clang-armgcc.textproto
index e41225e..83ee4aa 100644
--- a/generated/pigweed/for_review_only/buildbucket/try/pigweed-linux-main-host-disco-integration.textproto
+++ b/generated/pigweed/for_review_only/buildbucket/ci/integration-pigweed-linux-qemu-main-clang-armgcc.textproto
@@ -4,26 +4,26 @@
 # For the schema of this file, see Bucket message:
 #   https://luci-config.appspot.com/schemas/projects:buildbucket.cfg
 
-name: "try"
+name: "ci"
 acls {
   group: "all"
 }
 acls {
   role: SCHEDULER
-  identity: "user:pigweed-try-builder@pigweed.google.com.iam.gserviceaccount.com"
+  identity: "user:luci-scheduler@appspot.gserviceaccount.com"
 }
 acls {
   role: SCHEDULER
-  group: "project-pigweed-tryjob-access"
+  identity: "user:pigweed-ci-builder@pigweed.google.com.iam.gserviceaccount.com"
 }
 swarming {
   builders {
-    name: "pigweed-linux-main-host-disco-integration"
+    name: "integration-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"
+    dimensions: "pool:luci.pigweed.ci"
     exe {
       cipd_package: "pigweed/infra/recipe_bundles/pigweed.googlesource.com/infra/recipes"
       cipd_version: "refs/heads/main"
@@ -33,7 +33,7 @@
       '{'
       '  "$pigweed/pw_presubmit": {'
       '    "step": ['
-      '      "gn_full_build_check"'
+      '      "gn_full_qemu_check"'
       '    ]'
       '  },'
       '  "checkout_options": {'
@@ -63,7 +63,7 @@
       path: "pip"
       wait_for_warm_cache_secs: 60
     }
-    service_account: "pigweed-try-builder@pigweed.google.com.iam.gserviceaccount.com"
+    service_account: "pigweed-ci-builder@pigweed.google.com.iam.gserviceaccount.com"
     experimental: YES
     experiments {
       key: "luci.recipes.use_python3"
diff --git a/generated/pigweed/for_review_only/buildbucket/try/pigweed-linux-main-host-disco-integration.textproto b/generated/pigweed/for_review_only/buildbucket/ci/integration-pigweed-linux-san-asan.textproto
similarity index 81%
copy from generated/pigweed/for_review_only/buildbucket/try/pigweed-linux-main-host-disco-integration.textproto
copy to generated/pigweed/for_review_only/buildbucket/ci/integration-pigweed-linux-san-asan.textproto
index e41225e..e632538 100644
--- a/generated/pigweed/for_review_only/buildbucket/try/pigweed-linux-main-host-disco-integration.textproto
+++ b/generated/pigweed/for_review_only/buildbucket/ci/integration-pigweed-linux-san-asan.textproto
@@ -4,26 +4,26 @@
 # For the schema of this file, see Bucket message:
 #   https://luci-config.appspot.com/schemas/projects:buildbucket.cfg
 
-name: "try"
+name: "ci"
 acls {
   group: "all"
 }
 acls {
   role: SCHEDULER
-  identity: "user:pigweed-try-builder@pigweed.google.com.iam.gserviceaccount.com"
+  identity: "user:luci-scheduler@appspot.gserviceaccount.com"
 }
 acls {
   role: SCHEDULER
-  group: "project-pigweed-tryjob-access"
+  identity: "user:pigweed-ci-builder@pigweed.google.com.iam.gserviceaccount.com"
 }
 swarming {
   builders {
-    name: "pigweed-linux-main-host-disco-integration"
+    name: "integration-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"
+    dimensions: "pool:luci.pigweed.ci"
     exe {
       cipd_package: "pigweed/infra/recipe_bundles/pigweed.googlesource.com/infra/recipes"
       cipd_version: "refs/heads/main"
@@ -33,7 +33,7 @@
       '{'
       '  "$pigweed/pw_presubmit": {'
       '    "step": ['
-      '      "gn_full_build_check"'
+      '      "asan"'
       '    ]'
       '  },'
       '  "checkout_options": {'
@@ -63,7 +63,7 @@
       path: "pip"
       wait_for_warm_cache_secs: 60
     }
-    service_account: "pigweed-try-builder@pigweed.google.com.iam.gserviceaccount.com"
+    service_account: "pigweed-ci-builder@pigweed.google.com.iam.gserviceaccount.com"
     experimental: YES
     experiments {
       key: "luci.recipes.use_python3"
diff --git a/generated/pigweed/for_review_only/buildbucket/try/pigweed-linux-main-host-disco-integration.textproto b/generated/pigweed/for_review_only/buildbucket/ci/integration-pigweed-linux-san-tsan.textproto
similarity index 81%
copy from generated/pigweed/for_review_only/buildbucket/try/pigweed-linux-main-host-disco-integration.textproto
copy to generated/pigweed/for_review_only/buildbucket/ci/integration-pigweed-linux-san-tsan.textproto
index e41225e..ae5c085 100644
--- a/generated/pigweed/for_review_only/buildbucket/try/pigweed-linux-main-host-disco-integration.textproto
+++ b/generated/pigweed/for_review_only/buildbucket/ci/integration-pigweed-linux-san-tsan.textproto
@@ -4,26 +4,26 @@
 # For the schema of this file, see Bucket message:
 #   https://luci-config.appspot.com/schemas/projects:buildbucket.cfg
 
-name: "try"
+name: "ci"
 acls {
   group: "all"
 }
 acls {
   role: SCHEDULER
-  identity: "user:pigweed-try-builder@pigweed.google.com.iam.gserviceaccount.com"
+  identity: "user:luci-scheduler@appspot.gserviceaccount.com"
 }
 acls {
   role: SCHEDULER
-  group: "project-pigweed-tryjob-access"
+  identity: "user:pigweed-ci-builder@pigweed.google.com.iam.gserviceaccount.com"
 }
 swarming {
   builders {
-    name: "pigweed-linux-main-host-disco-integration"
+    name: "integration-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"
+    dimensions: "pool:luci.pigweed.ci"
     exe {
       cipd_package: "pigweed/infra/recipe_bundles/pigweed.googlesource.com/infra/recipes"
       cipd_version: "refs/heads/main"
@@ -33,7 +33,7 @@
       '{'
       '  "$pigweed/pw_presubmit": {'
       '    "step": ['
-      '      "gn_full_build_check"'
+      '      "tsan"'
       '    ]'
       '  },'
       '  "checkout_options": {'
@@ -63,7 +63,7 @@
       path: "pip"
       wait_for_warm_cache_secs: 60
     }
-    service_account: "pigweed-try-builder@pigweed.google.com.iam.gserviceaccount.com"
+    service_account: "pigweed-ci-builder@pigweed.google.com.iam.gserviceaccount.com"
     experimental: YES
     experiments {
       key: "luci.recipes.use_python3"
diff --git a/generated/pigweed/for_review_only/buildbucket/try/pigweed-linux-main-host-disco-integration.textproto b/generated/pigweed/for_review_only/buildbucket/ci/integration-pigweed-linux-san-ubsan.textproto
similarity index 81%
copy from generated/pigweed/for_review_only/buildbucket/try/pigweed-linux-main-host-disco-integration.textproto
copy to generated/pigweed/for_review_only/buildbucket/ci/integration-pigweed-linux-san-ubsan.textproto
index e41225e..df6eab7 100644
--- a/generated/pigweed/for_review_only/buildbucket/try/pigweed-linux-main-host-disco-integration.textproto
+++ b/generated/pigweed/for_review_only/buildbucket/ci/integration-pigweed-linux-san-ubsan.textproto
@@ -4,26 +4,26 @@
 # For the schema of this file, see Bucket message:
 #   https://luci-config.appspot.com/schemas/projects:buildbucket.cfg
 
-name: "try"
+name: "ci"
 acls {
   group: "all"
 }
 acls {
   role: SCHEDULER
-  identity: "user:pigweed-try-builder@pigweed.google.com.iam.gserviceaccount.com"
+  identity: "user:luci-scheduler@appspot.gserviceaccount.com"
 }
 acls {
   role: SCHEDULER
-  group: "project-pigweed-tryjob-access"
+  identity: "user:pigweed-ci-builder@pigweed.google.com.iam.gserviceaccount.com"
 }
 swarming {
   builders {
-    name: "pigweed-linux-main-host-disco-integration"
+    name: "integration-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"
+    dimensions: "pool:luci.pigweed.ci"
     exe {
       cipd_package: "pigweed/infra/recipe_bundles/pigweed.googlesource.com/infra/recipes"
       cipd_version: "refs/heads/main"
@@ -33,7 +33,7 @@
       '{'
       '  "$pigweed/pw_presubmit": {'
       '    "step": ['
-      '      "gn_full_build_check"'
+      '      "ubsan"'
       '    ]'
       '  },'
       '  "checkout_options": {'
@@ -63,7 +63,7 @@
       path: "pip"
       wait_for_warm_cache_secs: 60
     }
-    service_account: "pigweed-try-builder@pigweed.google.com.iam.gserviceaccount.com"
+    service_account: "pigweed-ci-builder@pigweed.google.com.iam.gserviceaccount.com"
     experimental: YES
     experiments {
       key: "luci.recipes.use_python3"
diff --git a/generated/pigweed/for_review_only/buildbucket/try/pigweed-linux-main-host-disco-integration.textproto b/generated/pigweed/for_review_only/buildbucket/ci/integration-pigweed-linux-static-analysis.textproto
similarity index 80%
copy from generated/pigweed/for_review_only/buildbucket/try/pigweed-linux-main-host-disco-integration.textproto
copy to generated/pigweed/for_review_only/buildbucket/ci/integration-pigweed-linux-static-analysis.textproto
index e41225e..b0dee1b 100644
--- a/generated/pigweed/for_review_only/buildbucket/try/pigweed-linux-main-host-disco-integration.textproto
+++ b/generated/pigweed/for_review_only/buildbucket/ci/integration-pigweed-linux-static-analysis.textproto
@@ -4,26 +4,26 @@
 # For the schema of this file, see Bucket message:
 #   https://luci-config.appspot.com/schemas/projects:buildbucket.cfg
 
-name: "try"
+name: "ci"
 acls {
   group: "all"
 }
 acls {
   role: SCHEDULER
-  identity: "user:pigweed-try-builder@pigweed.google.com.iam.gserviceaccount.com"
+  identity: "user:luci-scheduler@appspot.gserviceaccount.com"
 }
 acls {
   role: SCHEDULER
-  group: "project-pigweed-tryjob-access"
+  identity: "user:pigweed-ci-builder@pigweed.google.com.iam.gserviceaccount.com"
 }
 swarming {
   builders {
-    name: "pigweed-linux-main-host-disco-integration"
+    name: "integration-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"
+    dimensions: "pool:luci.pigweed.ci"
     exe {
       cipd_package: "pigweed/infra/recipe_bundles/pigweed.googlesource.com/infra/recipes"
       cipd_version: "refs/heads/main"
@@ -33,7 +33,7 @@
       '{'
       '  "$pigweed/pw_presubmit": {'
       '    "step": ['
-      '      "gn_full_build_check"'
+      '      "static_analysis"'
       '    ]'
       '  },'
       '  "checkout_options": {'
@@ -63,7 +63,7 @@
       path: "pip"
       wait_for_warm_cache_secs: 60
     }
-    service_account: "pigweed-try-builder@pigweed.google.com.iam.gserviceaccount.com"
+    service_account: "pigweed-ci-builder@pigweed.google.com.iam.gserviceaccount.com"
     experimental: YES
     experiments {
       key: "luci.recipes.use_python3"
diff --git a/generated/pigweed/for_review_only/buildbucket/try/pigweed-linux-main-host-disco-integration.textproto b/generated/pigweed/for_review_only/buildbucket/ci/integration-pigweed-mac-bazel-test-host-clang.textproto
similarity index 70%
copy from generated/pigweed/for_review_only/buildbucket/try/pigweed-linux-main-host-disco-integration.textproto
copy to generated/pigweed/for_review_only/buildbucket/ci/integration-pigweed-mac-bazel-test-host-clang.textproto
index e41225e..25d0959 100644
--- a/generated/pigweed/for_review_only/buildbucket/try/pigweed-linux-main-host-disco-integration.textproto
+++ b/generated/pigweed/for_review_only/buildbucket/ci/integration-pigweed-mac-bazel-test-host-clang.textproto
@@ -4,26 +4,25 @@
 # For the schema of this file, see Bucket message:
 #   https://luci-config.appspot.com/schemas/projects:buildbucket.cfg
 
-name: "try"
+name: "ci"
 acls {
   group: "all"
 }
 acls {
   role: SCHEDULER
-  identity: "user:pigweed-try-builder@pigweed.google.com.iam.gserviceaccount.com"
+  identity: "user:luci-scheduler@appspot.gserviceaccount.com"
 }
 acls {
   role: SCHEDULER
-  group: "project-pigweed-tryjob-access"
+  identity: "user:pigweed-ci-builder@pigweed.google.com.iam.gserviceaccount.com"
 }
 swarming {
   builders {
-    name: "pigweed-linux-main-host-disco-integration"
+    name: "integration-pigweed-mac-bazel-test-host-clang"
     swarming_host: "chromium-swarm.appspot.com"
-    dimensions: "cores:16"
     dimensions: "cpu:x64|x86-64"
-    dimensions: "os:Debian"
-    dimensions: "pool:luci.pigweed.try"
+    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"
@@ -33,7 +32,7 @@
       '{'
       '  "$pigweed/pw_presubmit": {'
       '    "step": ['
-      '      "gn_full_build_check"'
+      '      "bazel_test"'
       '    ]'
       '  },'
       '  "checkout_options": {'
@@ -50,20 +49,31 @@
       '  "environment_options": {'
       '    "config_file": "pw_env_setup/config.json"'
       '  },'
+      '  "macos_sdk.version": "11c29",'
       '  "recipe": "pw_presubmit"'
       '}'
     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"
+    service_account: "pigweed-ci-builder@pigweed.google.com.iam.gserviceaccount.com"
     experimental: YES
     experiments {
       key: "luci.recipes.use_python3"
diff --git a/generated/pigweed/for_review_only/buildbucket/try/pigweed-linux-main-host-disco-integration.textproto b/generated/pigweed/for_review_only/buildbucket/ci/integration-pigweed-mac-cmake-host-clang.textproto
similarity index 73%
copy from generated/pigweed/for_review_only/buildbucket/try/pigweed-linux-main-host-disco-integration.textproto
copy to generated/pigweed/for_review_only/buildbucket/ci/integration-pigweed-mac-cmake-host-clang.textproto
index e41225e..4b13ad4 100644
--- a/generated/pigweed/for_review_only/buildbucket/try/pigweed-linux-main-host-disco-integration.textproto
+++ b/generated/pigweed/for_review_only/buildbucket/ci/integration-pigweed-mac-cmake-host-clang.textproto
@@ -4,26 +4,25 @@
 # For the schema of this file, see Bucket message:
 #   https://luci-config.appspot.com/schemas/projects:buildbucket.cfg
 
-name: "try"
+name: "ci"
 acls {
   group: "all"
 }
 acls {
   role: SCHEDULER
-  identity: "user:pigweed-try-builder@pigweed.google.com.iam.gserviceaccount.com"
+  identity: "user:luci-scheduler@appspot.gserviceaccount.com"
 }
 acls {
   role: SCHEDULER
-  group: "project-pigweed-tryjob-access"
+  identity: "user:pigweed-ci-builder@pigweed.google.com.iam.gserviceaccount.com"
 }
 swarming {
   builders {
-    name: "pigweed-linux-main-host-disco-integration"
+    name: "integration-pigweed-mac-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"
+    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"
@@ -33,7 +32,7 @@
       '{'
       '  "$pigweed/pw_presubmit": {'
       '    "step": ['
-      '      "gn_full_build_check"'
+      '      "cmake_clang"'
       '    ]'
       '  },'
       '  "checkout_options": {'
@@ -50,6 +49,7 @@
       '  "environment_options": {'
       '    "config_file": "pw_env_setup/config.json"'
       '  },'
+      '  "macos_sdk.version": "11c29",'
       '  "recipe": "pw_presubmit"'
       '}'
     priority: 50
@@ -59,11 +59,16 @@
       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"
+    service_account: "pigweed-ci-builder@pigweed.google.com.iam.gserviceaccount.com"
     experimental: YES
     experiments {
       key: "luci.recipes.use_python3"
diff --git a/generated/pigweed/for_review_only/buildbucket/try/pigweed-linux-main-host-disco-integration.textproto b/generated/pigweed/for_review_only/buildbucket/ci/integration-pigweed-mac-cmake-host-gcc.textproto
similarity index 73%
copy from generated/pigweed/for_review_only/buildbucket/try/pigweed-linux-main-host-disco-integration.textproto
copy to generated/pigweed/for_review_only/buildbucket/ci/integration-pigweed-mac-cmake-host-gcc.textproto
index e41225e..feffd39 100644
--- a/generated/pigweed/for_review_only/buildbucket/try/pigweed-linux-main-host-disco-integration.textproto
+++ b/generated/pigweed/for_review_only/buildbucket/ci/integration-pigweed-mac-cmake-host-gcc.textproto
@@ -4,26 +4,25 @@
 # For the schema of this file, see Bucket message:
 #   https://luci-config.appspot.com/schemas/projects:buildbucket.cfg
 
-name: "try"
+name: "ci"
 acls {
   group: "all"
 }
 acls {
   role: SCHEDULER
-  identity: "user:pigweed-try-builder@pigweed.google.com.iam.gserviceaccount.com"
+  identity: "user:luci-scheduler@appspot.gserviceaccount.com"
 }
 acls {
   role: SCHEDULER
-  group: "project-pigweed-tryjob-access"
+  identity: "user:pigweed-ci-builder@pigweed.google.com.iam.gserviceaccount.com"
 }
 swarming {
   builders {
-    name: "pigweed-linux-main-host-disco-integration"
+    name: "integration-pigweed-mac-cmake-host-gcc"
     swarming_host: "chromium-swarm.appspot.com"
-    dimensions: "cores:16"
     dimensions: "cpu:x64|x86-64"
-    dimensions: "os:Debian"
-    dimensions: "pool:luci.pigweed.try"
+    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"
@@ -33,7 +32,7 @@
       '{'
       '  "$pigweed/pw_presubmit": {'
       '    "step": ['
-      '      "gn_full_build_check"'
+      '      "cmake_gcc"'
       '    ]'
       '  },'
       '  "checkout_options": {'
@@ -50,6 +49,7 @@
       '  "environment_options": {'
       '    "config_file": "pw_env_setup/config.json"'
       '  },'
+      '  "macos_sdk.version": "11c29",'
       '  "recipe": "pw_presubmit"'
       '}'
     priority: 50
@@ -59,11 +59,16 @@
       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"
+    service_account: "pigweed-ci-builder@pigweed.google.com.iam.gserviceaccount.com"
     experimental: YES
     experiments {
       key: "luci.recipes.use_python3"
diff --git a/generated/pigweed/for_review_only/buildbucket/try/pigweed-linux-main-host-disco-integration.textproto b/generated/pigweed/for_review_only/buildbucket/ci/integration-pigweed-mac-compatibility-host-disco.textproto
similarity index 71%
copy from generated/pigweed/for_review_only/buildbucket/try/pigweed-linux-main-host-disco-integration.textproto
copy to generated/pigweed/for_review_only/buildbucket/ci/integration-pigweed-mac-compatibility-host-disco.textproto
index e41225e..ecf72b7 100644
--- a/generated/pigweed/for_review_only/buildbucket/try/pigweed-linux-main-host-disco-integration.textproto
+++ b/generated/pigweed/for_review_only/buildbucket/ci/integration-pigweed-mac-compatibility-host-disco.textproto
@@ -4,26 +4,25 @@
 # For the schema of this file, see Bucket message:
 #   https://luci-config.appspot.com/schemas/projects:buildbucket.cfg
 
-name: "try"
+name: "ci"
 acls {
   group: "all"
 }
 acls {
   role: SCHEDULER
-  identity: "user:pigweed-try-builder@pigweed.google.com.iam.gserviceaccount.com"
+  identity: "user:luci-scheduler@appspot.gserviceaccount.com"
 }
 acls {
   role: SCHEDULER
-  group: "project-pigweed-tryjob-access"
+  identity: "user:pigweed-ci-builder@pigweed.google.com.iam.gserviceaccount.com"
 }
 swarming {
   builders {
-    name: "pigweed-linux-main-host-disco-integration"
+    name: "integration-pigweed-mac-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"
+    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"
@@ -48,8 +47,9 @@
       '  },'
       '  "dry_run": true,'
       '  "environment_options": {'
-      '    "config_file": "pw_env_setup/config.json"'
+      '    "config_file": "pw_env_setup/compatibility.json"'
       '  },'
+      '  "macos_sdk.version": "11c29",'
       '  "recipe": "pw_presubmit"'
       '}'
     priority: 50
@@ -59,11 +59,16 @@
       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"
+    service_account: "pigweed-ci-builder@pigweed.google.com.iam.gserviceaccount.com"
     experimental: YES
     experiments {
       key: "luci.recipes.use_python3"
diff --git a/generated/pigweed/for_review_only/buildbucket/try/pigweed-linux-main-host-disco-integration.textproto b/generated/pigweed/for_review_only/buildbucket/ci/integration-pigweed-mac-gn-nanopb.textproto
similarity index 73%
copy from generated/pigweed/for_review_only/buildbucket/try/pigweed-linux-main-host-disco-integration.textproto
copy to generated/pigweed/for_review_only/buildbucket/ci/integration-pigweed-mac-gn-nanopb.textproto
index e41225e..d0c40d4 100644
--- a/generated/pigweed/for_review_only/buildbucket/try/pigweed-linux-main-host-disco-integration.textproto
+++ b/generated/pigweed/for_review_only/buildbucket/ci/integration-pigweed-mac-gn-nanopb.textproto
@@ -4,26 +4,25 @@
 # For the schema of this file, see Bucket message:
 #   https://luci-config.appspot.com/schemas/projects:buildbucket.cfg
 
-name: "try"
+name: "ci"
 acls {
   group: "all"
 }
 acls {
   role: SCHEDULER
-  identity: "user:pigweed-try-builder@pigweed.google.com.iam.gserviceaccount.com"
+  identity: "user:luci-scheduler@appspot.gserviceaccount.com"
 }
 acls {
   role: SCHEDULER
-  group: "project-pigweed-tryjob-access"
+  identity: "user:pigweed-ci-builder@pigweed.google.com.iam.gserviceaccount.com"
 }
 swarming {
   builders {
-    name: "pigweed-linux-main-host-disco-integration"
+    name: "integration-pigweed-mac-gn-nanopb"
     swarming_host: "chromium-swarm.appspot.com"
-    dimensions: "cores:16"
     dimensions: "cpu:x64|x86-64"
-    dimensions: "os:Debian"
-    dimensions: "pool:luci.pigweed.try"
+    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"
@@ -33,7 +32,7 @@
       '{'
       '  "$pigweed/pw_presubmit": {'
       '    "step": ['
-      '      "gn_full_build_check"'
+      '      "gn_nanopb_build"'
       '    ]'
       '  },'
       '  "checkout_options": {'
@@ -50,6 +49,7 @@
       '  "environment_options": {'
       '    "config_file": "pw_env_setup/config.json"'
       '  },'
+      '  "macos_sdk.version": "11c29",'
       '  "recipe": "pw_presubmit"'
       '}'
     priority: 50
@@ -59,11 +59,16 @@
       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"
+    service_account: "pigweed-ci-builder@pigweed.google.com.iam.gserviceaccount.com"
     experimental: YES
     experiments {
       key: "luci.recipes.use_python3"
diff --git a/generated/pigweed/for_review_only/buildbucket/try/pigweed-linux-main-host-disco-integration.textproto b/generated/pigweed/for_review_only/buildbucket/ci/integration-pigweed-mac-gn-teensy.textproto
similarity index 73%
copy from generated/pigweed/for_review_only/buildbucket/try/pigweed-linux-main-host-disco-integration.textproto
copy to generated/pigweed/for_review_only/buildbucket/ci/integration-pigweed-mac-gn-teensy.textproto
index e41225e..ab0b31c 100644
--- a/generated/pigweed/for_review_only/buildbucket/try/pigweed-linux-main-host-disco-integration.textproto
+++ b/generated/pigweed/for_review_only/buildbucket/ci/integration-pigweed-mac-gn-teensy.textproto
@@ -4,26 +4,25 @@
 # For the schema of this file, see Bucket message:
 #   https://luci-config.appspot.com/schemas/projects:buildbucket.cfg
 
-name: "try"
+name: "ci"
 acls {
   group: "all"
 }
 acls {
   role: SCHEDULER
-  identity: "user:pigweed-try-builder@pigweed.google.com.iam.gserviceaccount.com"
+  identity: "user:luci-scheduler@appspot.gserviceaccount.com"
 }
 acls {
   role: SCHEDULER
-  group: "project-pigweed-tryjob-access"
+  identity: "user:pigweed-ci-builder@pigweed.google.com.iam.gserviceaccount.com"
 }
 swarming {
   builders {
-    name: "pigweed-linux-main-host-disco-integration"
+    name: "integration-pigweed-mac-gn-teensy"
     swarming_host: "chromium-swarm.appspot.com"
-    dimensions: "cores:16"
     dimensions: "cpu:x64|x86-64"
-    dimensions: "os:Debian"
-    dimensions: "pool:luci.pigweed.try"
+    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"
@@ -33,7 +32,7 @@
       '{'
       '  "$pigweed/pw_presubmit": {'
       '    "step": ['
-      '      "gn_full_build_check"'
+      '      "gn_teensy_build"'
       '    ]'
       '  },'
       '  "checkout_options": {'
@@ -50,6 +49,7 @@
       '  "environment_options": {'
       '    "config_file": "pw_env_setup/config.json"'
       '  },'
+      '  "macos_sdk.version": "11c29",'
       '  "recipe": "pw_presubmit"'
       '}'
     priority: 50
@@ -59,11 +59,16 @@
       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"
+    service_account: "pigweed-ci-builder@pigweed.google.com.iam.gserviceaccount.com"
     experimental: YES
     experiments {
       key: "luci.recipes.use_python3"
diff --git a/generated/pigweed/for_review_only/buildbucket/try/pigweed-linux-main-host-disco-integration.textproto b/generated/pigweed/for_review_only/buildbucket/ci/integration-pigweed-mac-main-host-disco.textproto
similarity index 75%
copy from generated/pigweed/for_review_only/buildbucket/try/pigweed-linux-main-host-disco-integration.textproto
copy to generated/pigweed/for_review_only/buildbucket/ci/integration-pigweed-mac-main-host-disco.textproto
index e41225e..acd0bb2 100644
--- a/generated/pigweed/for_review_only/buildbucket/try/pigweed-linux-main-host-disco-integration.textproto
+++ b/generated/pigweed/for_review_only/buildbucket/ci/integration-pigweed-mac-main-host-disco.textproto
@@ -4,26 +4,25 @@
 # For the schema of this file, see Bucket message:
 #   https://luci-config.appspot.com/schemas/projects:buildbucket.cfg
 
-name: "try"
+name: "ci"
 acls {
   group: "all"
 }
 acls {
   role: SCHEDULER
-  identity: "user:pigweed-try-builder@pigweed.google.com.iam.gserviceaccount.com"
+  identity: "user:luci-scheduler@appspot.gserviceaccount.com"
 }
 acls {
   role: SCHEDULER
-  group: "project-pigweed-tryjob-access"
+  identity: "user:pigweed-ci-builder@pigweed.google.com.iam.gserviceaccount.com"
 }
 swarming {
   builders {
-    name: "pigweed-linux-main-host-disco-integration"
+    name: "integration-pigweed-mac-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"
+    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"
@@ -50,6 +49,7 @@
       '  "environment_options": {'
       '    "config_file": "pw_env_setup/config.json"'
       '  },'
+      '  "macos_sdk.version": "11c29",'
       '  "recipe": "pw_presubmit"'
       '}'
     priority: 50
@@ -59,11 +59,16 @@
       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"
+    service_account: "pigweed-ci-builder@pigweed.google.com.iam.gserviceaccount.com"
     experimental: YES
     experiments {
       key: "luci.recipes.use_python3"
diff --git a/generated/pigweed/for_review_only/buildbucket/try/pigweed-linux-main-host-disco-integration.textproto b/generated/pigweed/for_review_only/buildbucket/ci/integration-pigweed-mac-qemu-compatibility-clang-armgcc.textproto
similarity index 69%
copy from generated/pigweed/for_review_only/buildbucket/try/pigweed-linux-main-host-disco-integration.textproto
copy to generated/pigweed/for_review_only/buildbucket/ci/integration-pigweed-mac-qemu-compatibility-clang-armgcc.textproto
index e41225e..223ca38 100644
--- a/generated/pigweed/for_review_only/buildbucket/try/pigweed-linux-main-host-disco-integration.textproto
+++ b/generated/pigweed/for_review_only/buildbucket/ci/integration-pigweed-mac-qemu-compatibility-clang-armgcc.textproto
@@ -4,26 +4,25 @@
 # For the schema of this file, see Bucket message:
 #   https://luci-config.appspot.com/schemas/projects:buildbucket.cfg
 
-name: "try"
+name: "ci"
 acls {
   group: "all"
 }
 acls {
   role: SCHEDULER
-  identity: "user:pigweed-try-builder@pigweed.google.com.iam.gserviceaccount.com"
+  identity: "user:luci-scheduler@appspot.gserviceaccount.com"
 }
 acls {
   role: SCHEDULER
-  group: "project-pigweed-tryjob-access"
+  identity: "user:pigweed-ci-builder@pigweed.google.com.iam.gserviceaccount.com"
 }
 swarming {
   builders {
-    name: "pigweed-linux-main-host-disco-integration"
+    name: "integration-pigweed-mac-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"
+    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"
@@ -33,7 +32,7 @@
       '{'
       '  "$pigweed/pw_presubmit": {'
       '    "step": ['
-      '      "gn_full_build_check"'
+      '      "gn_full_qemu_check"'
       '    ]'
       '  },'
       '  "checkout_options": {'
@@ -48,8 +47,9 @@
       '  },'
       '  "dry_run": true,'
       '  "environment_options": {'
-      '    "config_file": "pw_env_setup/config.json"'
+      '    "config_file": "pw_env_setup/compatibility.json"'
       '  },'
+      '  "macos_sdk.version": "11c29",'
       '  "recipe": "pw_presubmit"'
       '}'
     priority: 50
@@ -59,11 +59,16 @@
       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"
+    service_account: "pigweed-ci-builder@pigweed.google.com.iam.gserviceaccount.com"
     experimental: YES
     experiments {
       key: "luci.recipes.use_python3"
diff --git a/generated/pigweed/for_review_only/buildbucket/try/pigweed-linux-main-host-disco-integration.textproto b/generated/pigweed/for_review_only/buildbucket/ci/integration-pigweed-mac-qemu-main-clang-armgcc.textproto
similarity index 73%
copy from generated/pigweed/for_review_only/buildbucket/try/pigweed-linux-main-host-disco-integration.textproto
copy to generated/pigweed/for_review_only/buildbucket/ci/integration-pigweed-mac-qemu-main-clang-armgcc.textproto
index e41225e..4ba8f45 100644
--- a/generated/pigweed/for_review_only/buildbucket/try/pigweed-linux-main-host-disco-integration.textproto
+++ b/generated/pigweed/for_review_only/buildbucket/ci/integration-pigweed-mac-qemu-main-clang-armgcc.textproto
@@ -4,26 +4,25 @@
 # For the schema of this file, see Bucket message:
 #   https://luci-config.appspot.com/schemas/projects:buildbucket.cfg
 
-name: "try"
+name: "ci"
 acls {
   group: "all"
 }
 acls {
   role: SCHEDULER
-  identity: "user:pigweed-try-builder@pigweed.google.com.iam.gserviceaccount.com"
+  identity: "user:luci-scheduler@appspot.gserviceaccount.com"
 }
 acls {
   role: SCHEDULER
-  group: "project-pigweed-tryjob-access"
+  identity: "user:pigweed-ci-builder@pigweed.google.com.iam.gserviceaccount.com"
 }
 swarming {
   builders {
-    name: "pigweed-linux-main-host-disco-integration"
+    name: "integration-pigweed-mac-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"
+    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"
@@ -33,7 +32,7 @@
       '{'
       '  "$pigweed/pw_presubmit": {'
       '    "step": ['
-      '      "gn_full_build_check"'
+      '      "gn_full_qemu_check"'
       '    ]'
       '  },'
       '  "checkout_options": {'
@@ -50,6 +49,7 @@
       '  "environment_options": {'
       '    "config_file": "pw_env_setup/config.json"'
       '  },'
+      '  "macos_sdk.version": "11c29",'
       '  "recipe": "pw_presubmit"'
       '}'
     priority: 50
@@ -59,11 +59,16 @@
       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"
+    service_account: "pigweed-ci-builder@pigweed.google.com.iam.gserviceaccount.com"
     experimental: YES
     experiments {
       key: "luci.recipes.use_python3"
diff --git a/generated/pigweed/for_review_only/buildbucket/try/pigweed-linux-main-host-disco-integration.textproto b/generated/pigweed/for_review_only/buildbucket/ci/integration-pigweed-stm32f429i-combined.textproto
similarity index 80%
copy from generated/pigweed/for_review_only/buildbucket/try/pigweed-linux-main-host-disco-integration.textproto
copy to generated/pigweed/for_review_only/buildbucket/ci/integration-pigweed-stm32f429i-combined.textproto
index e41225e..97200f2 100644
--- a/generated/pigweed/for_review_only/buildbucket/try/pigweed-linux-main-host-disco-integration.textproto
+++ b/generated/pigweed/for_review_only/buildbucket/ci/integration-pigweed-stm32f429i-combined.textproto
@@ -4,26 +4,26 @@
 # For the schema of this file, see Bucket message:
 #   https://luci-config.appspot.com/schemas/projects:buildbucket.cfg
 
-name: "try"
+name: "ci"
 acls {
   group: "all"
 }
 acls {
   role: SCHEDULER
-  identity: "user:pigweed-try-builder@pigweed.google.com.iam.gserviceaccount.com"
+  identity: "user:luci-scheduler@appspot.gserviceaccount.com"
 }
 acls {
   role: SCHEDULER
-  group: "project-pigweed-tryjob-access"
+  identity: "user:pigweed-ci-builder@pigweed.google.com.iam.gserviceaccount.com"
 }
 swarming {
   builders {
-    name: "pigweed-linux-main-host-disco-integration"
+    name: "integration-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"
+    dimensions: "pool:luci.pigweed.ci"
     exe {
       cipd_package: "pigweed/infra/recipe_bundles/pigweed.googlesource.com/infra/recipes"
       cipd_version: "refs/heads/main"
@@ -33,7 +33,7 @@
       '{'
       '  "$pigweed/pw_presubmit": {'
       '    "step": ['
-      '      "gn_full_build_check"'
+      '      "stm32f429i"'
       '    ]'
       '  },'
       '  "checkout_options": {'
@@ -63,7 +63,7 @@
       path: "pip"
       wait_for_warm_cache_secs: 60
     }
-    service_account: "pigweed-try-builder@pigweed.google.com.iam.gserviceaccount.com"
+    service_account: "pigweed-ci-builder@pigweed.google.com.iam.gserviceaccount.com"
     experimental: YES
     experiments {
       key: "luci.recipes.use_python3"
diff --git a/generated/pigweed/for_review_only/buildbucket/try/pigweed-linux-main-host-disco-integration.textproto b/generated/pigweed/for_review_only/buildbucket/ci/integration-pigweed-windows-bazel-test-host-clang.textproto
similarity index 75%
copy from generated/pigweed/for_review_only/buildbucket/try/pigweed-linux-main-host-disco-integration.textproto
copy to generated/pigweed/for_review_only/buildbucket/ci/integration-pigweed-windows-bazel-test-host-clang.textproto
index e41225e..d389923 100644
--- a/generated/pigweed/for_review_only/buildbucket/try/pigweed-linux-main-host-disco-integration.textproto
+++ b/generated/pigweed/for_review_only/buildbucket/ci/integration-pigweed-windows-bazel-test-host-clang.textproto
@@ -4,26 +4,26 @@
 # For the schema of this file, see Bucket message:
 #   https://luci-config.appspot.com/schemas/projects:buildbucket.cfg
 
-name: "try"
+name: "ci"
 acls {
   group: "all"
 }
 acls {
   role: SCHEDULER
-  identity: "user:pigweed-try-builder@pigweed.google.com.iam.gserviceaccount.com"
+  identity: "user:luci-scheduler@appspot.gserviceaccount.com"
 }
 acls {
   role: SCHEDULER
-  group: "project-pigweed-tryjob-access"
+  identity: "user:pigweed-ci-builder@pigweed.google.com.iam.gserviceaccount.com"
 }
 swarming {
   builders {
-    name: "pigweed-linux-main-host-disco-integration"
+    name: "integration-pigweed-windows-bazel-test-host-clang"
     swarming_host: "chromium-swarm.appspot.com"
     dimensions: "cores:16"
     dimensions: "cpu:x64|x86-64"
-    dimensions: "os:Debian"
-    dimensions: "pool:luci.pigweed.try"
+    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"
@@ -33,7 +33,7 @@
       '{'
       '  "$pigweed/pw_presubmit": {'
       '    "step": ['
-      '      "gn_full_build_check"'
+      '      "bazel_test"'
       '    ]'
       '  },'
       '  "checkout_options": {'
@@ -55,6 +55,11 @@
     priority: 50
     execution_timeout_secs: 2700
     caches {
+      name: "bazel"
+      path: "bazel"
+      wait_for_warm_cache_secs: 60
+    }
+    caches {
       name: "builder"
       path: "builder"
     }
@@ -63,7 +68,7 @@
       path: "pip"
       wait_for_warm_cache_secs: 60
     }
-    service_account: "pigweed-try-builder@pigweed.google.com.iam.gserviceaccount.com"
+    service_account: "pigweed-ci-builder@pigweed.google.com.iam.gserviceaccount.com"
     experimental: YES
     experiments {
       key: "luci.recipes.use_python3"
diff --git a/generated/pigweed/for_review_only/buildbucket/try/pigweed-linux-main-host-disco-integration.textproto b/generated/pigweed/for_review_only/buildbucket/ci/integration-pigweed-windows-compatibility-host-disco.textproto
similarity index 77%
copy from generated/pigweed/for_review_only/buildbucket/try/pigweed-linux-main-host-disco-integration.textproto
copy to generated/pigweed/for_review_only/buildbucket/ci/integration-pigweed-windows-compatibility-host-disco.textproto
index e41225e..46c0142 100644
--- a/generated/pigweed/for_review_only/buildbucket/try/pigweed-linux-main-host-disco-integration.textproto
+++ b/generated/pigweed/for_review_only/buildbucket/ci/integration-pigweed-windows-compatibility-host-disco.textproto
@@ -4,26 +4,26 @@
 # For the schema of this file, see Bucket message:
 #   https://luci-config.appspot.com/schemas/projects:buildbucket.cfg
 
-name: "try"
+name: "ci"
 acls {
   group: "all"
 }
 acls {
   role: SCHEDULER
-  identity: "user:pigweed-try-builder@pigweed.google.com.iam.gserviceaccount.com"
+  identity: "user:luci-scheduler@appspot.gserviceaccount.com"
 }
 acls {
   role: SCHEDULER
-  group: "project-pigweed-tryjob-access"
+  identity: "user:pigweed-ci-builder@pigweed.google.com.iam.gserviceaccount.com"
 }
 swarming {
   builders {
-    name: "pigweed-linux-main-host-disco-integration"
+    name: "integration-pigweed-windows-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"
+    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"
@@ -48,7 +48,7 @@
       '  },'
       '  "dry_run": true,'
       '  "environment_options": {'
-      '    "config_file": "pw_env_setup/config.json"'
+      '    "config_file": "pw_env_setup/compatibility.json"'
       '  },'
       '  "recipe": "pw_presubmit"'
       '}'
@@ -63,7 +63,7 @@
       path: "pip"
       wait_for_warm_cache_secs: 60
     }
-    service_account: "pigweed-try-builder@pigweed.google.com.iam.gserviceaccount.com"
+    service_account: "pigweed-ci-builder@pigweed.google.com.iam.gserviceaccount.com"
     experimental: YES
     experiments {
       key: "luci.recipes.use_python3"
diff --git a/generated/pigweed/for_review_only/buildbucket/try/pigweed-linux-main-host-disco-integration.textproto b/generated/pigweed/for_review_only/buildbucket/ci/integration-pigweed-windows-gn-nanopb.textproto
similarity index 79%
copy from generated/pigweed/for_review_only/buildbucket/try/pigweed-linux-main-host-disco-integration.textproto
copy to generated/pigweed/for_review_only/buildbucket/ci/integration-pigweed-windows-gn-nanopb.textproto
index e41225e..d799f67 100644
--- a/generated/pigweed/for_review_only/buildbucket/try/pigweed-linux-main-host-disco-integration.textproto
+++ b/generated/pigweed/for_review_only/buildbucket/ci/integration-pigweed-windows-gn-nanopb.textproto
@@ -4,26 +4,26 @@
 # For the schema of this file, see Bucket message:
 #   https://luci-config.appspot.com/schemas/projects:buildbucket.cfg
 
-name: "try"
+name: "ci"
 acls {
   group: "all"
 }
 acls {
   role: SCHEDULER
-  identity: "user:pigweed-try-builder@pigweed.google.com.iam.gserviceaccount.com"
+  identity: "user:luci-scheduler@appspot.gserviceaccount.com"
 }
 acls {
   role: SCHEDULER
-  group: "project-pigweed-tryjob-access"
+  identity: "user:pigweed-ci-builder@pigweed.google.com.iam.gserviceaccount.com"
 }
 swarming {
   builders {
-    name: "pigweed-linux-main-host-disco-integration"
+    name: "integration-pigweed-windows-gn-nanopb"
     swarming_host: "chromium-swarm.appspot.com"
     dimensions: "cores:16"
     dimensions: "cpu:x64|x86-64"
-    dimensions: "os:Debian"
-    dimensions: "pool:luci.pigweed.try"
+    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"
@@ -33,7 +33,7 @@
       '{'
       '  "$pigweed/pw_presubmit": {'
       '    "step": ['
-      '      "gn_full_build_check"'
+      '      "gn_nanopb_build"'
       '    ]'
       '  },'
       '  "checkout_options": {'
@@ -63,7 +63,7 @@
       path: "pip"
       wait_for_warm_cache_secs: 60
     }
-    service_account: "pigweed-try-builder@pigweed.google.com.iam.gserviceaccount.com"
+    service_account: "pigweed-ci-builder@pigweed.google.com.iam.gserviceaccount.com"
     experimental: YES
     experiments {
       key: "luci.recipes.use_python3"
diff --git a/generated/pigweed/for_review_only/buildbucket/try/pigweed-linux-main-host-disco-integration.textproto b/generated/pigweed/for_review_only/buildbucket/ci/integration-pigweed-windows-main-host-disco.textproto
similarity index 80%
copy from generated/pigweed/for_review_only/buildbucket/try/pigweed-linux-main-host-disco-integration.textproto
copy to generated/pigweed/for_review_only/buildbucket/ci/integration-pigweed-windows-main-host-disco.textproto
index e41225e..2251200 100644
--- a/generated/pigweed/for_review_only/buildbucket/try/pigweed-linux-main-host-disco-integration.textproto
+++ b/generated/pigweed/for_review_only/buildbucket/ci/integration-pigweed-windows-main-host-disco.textproto
@@ -4,26 +4,26 @@
 # For the schema of this file, see Bucket message:
 #   https://luci-config.appspot.com/schemas/projects:buildbucket.cfg
 
-name: "try"
+name: "ci"
 acls {
   group: "all"
 }
 acls {
   role: SCHEDULER
-  identity: "user:pigweed-try-builder@pigweed.google.com.iam.gserviceaccount.com"
+  identity: "user:luci-scheduler@appspot.gserviceaccount.com"
 }
 acls {
   role: SCHEDULER
-  group: "project-pigweed-tryjob-access"
+  identity: "user:pigweed-ci-builder@pigweed.google.com.iam.gserviceaccount.com"
 }
 swarming {
   builders {
-    name: "pigweed-linux-main-host-disco-integration"
+    name: "integration-pigweed-windows-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"
+    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"
@@ -63,7 +63,7 @@
       path: "pip"
       wait_for_warm_cache_secs: 60
     }
-    service_account: "pigweed-try-builder@pigweed.google.com.iam.gserviceaccount.com"
+    service_account: "pigweed-ci-builder@pigweed.google.com.iam.gserviceaccount.com"
     experimental: YES
     experiments {
       key: "luci.recipes.use_python3"
diff --git a/generated/pigweed/for_review_only/buildbucket/try/pigweed-linux-main-host-disco-integration.textproto b/generated/pigweed/for_review_only/buildbucket/ci/integration-pigweed-windows-qemu-compatibility-clang-armgcc.textproto
similarity index 75%
copy from generated/pigweed/for_review_only/buildbucket/try/pigweed-linux-main-host-disco-integration.textproto
copy to generated/pigweed/for_review_only/buildbucket/ci/integration-pigweed-windows-qemu-compatibility-clang-armgcc.textproto
index e41225e..aba089a 100644
--- a/generated/pigweed/for_review_only/buildbucket/try/pigweed-linux-main-host-disco-integration.textproto
+++ b/generated/pigweed/for_review_only/buildbucket/ci/integration-pigweed-windows-qemu-compatibility-clang-armgcc.textproto
@@ -4,26 +4,26 @@
 # For the schema of this file, see Bucket message:
 #   https://luci-config.appspot.com/schemas/projects:buildbucket.cfg
 
-name: "try"
+name: "ci"
 acls {
   group: "all"
 }
 acls {
   role: SCHEDULER
-  identity: "user:pigweed-try-builder@pigweed.google.com.iam.gserviceaccount.com"
+  identity: "user:luci-scheduler@appspot.gserviceaccount.com"
 }
 acls {
   role: SCHEDULER
-  group: "project-pigweed-tryjob-access"
+  identity: "user:pigweed-ci-builder@pigweed.google.com.iam.gserviceaccount.com"
 }
 swarming {
   builders {
-    name: "pigweed-linux-main-host-disco-integration"
+    name: "integration-pigweed-windows-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"
+    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"
@@ -33,7 +33,7 @@
       '{'
       '  "$pigweed/pw_presubmit": {'
       '    "step": ['
-      '      "gn_full_build_check"'
+      '      "gn_full_qemu_check"'
       '    ]'
       '  },'
       '  "checkout_options": {'
@@ -48,7 +48,7 @@
       '  },'
       '  "dry_run": true,'
       '  "environment_options": {'
-      '    "config_file": "pw_env_setup/config.json"'
+      '    "config_file": "pw_env_setup/compatibility.json"'
       '  },'
       '  "recipe": "pw_presubmit"'
       '}'
@@ -63,7 +63,7 @@
       path: "pip"
       wait_for_warm_cache_secs: 60
     }
-    service_account: "pigweed-try-builder@pigweed.google.com.iam.gserviceaccount.com"
+    service_account: "pigweed-ci-builder@pigweed.google.com.iam.gserviceaccount.com"
     experimental: YES
     experiments {
       key: "luci.recipes.use_python3"
diff --git a/generated/pigweed/for_review_only/buildbucket/try/pigweed-linux-main-host-disco-integration.textproto b/generated/pigweed/for_review_only/buildbucket/ci/integration-pigweed-windows-qemu-main-clang-armgcc.textproto
similarity index 78%
copy from generated/pigweed/for_review_only/buildbucket/try/pigweed-linux-main-host-disco-integration.textproto
copy to generated/pigweed/for_review_only/buildbucket/ci/integration-pigweed-windows-qemu-main-clang-armgcc.textproto
index e41225e..16d3bb5 100644
--- a/generated/pigweed/for_review_only/buildbucket/try/pigweed-linux-main-host-disco-integration.textproto
+++ b/generated/pigweed/for_review_only/buildbucket/ci/integration-pigweed-windows-qemu-main-clang-armgcc.textproto
@@ -4,26 +4,26 @@
 # For the schema of this file, see Bucket message:
 #   https://luci-config.appspot.com/schemas/projects:buildbucket.cfg
 
-name: "try"
+name: "ci"
 acls {
   group: "all"
 }
 acls {
   role: SCHEDULER
-  identity: "user:pigweed-try-builder@pigweed.google.com.iam.gserviceaccount.com"
+  identity: "user:luci-scheduler@appspot.gserviceaccount.com"
 }
 acls {
   role: SCHEDULER
-  group: "project-pigweed-tryjob-access"
+  identity: "user:pigweed-ci-builder@pigweed.google.com.iam.gserviceaccount.com"
 }
 swarming {
   builders {
-    name: "pigweed-linux-main-host-disco-integration"
+    name: "integration-pigweed-windows-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"
+    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"
@@ -33,7 +33,7 @@
       '{'
       '  "$pigweed/pw_presubmit": {'
       '    "step": ['
-      '      "gn_full_build_check"'
+      '      "gn_full_qemu_check"'
       '    ]'
       '  },'
       '  "checkout_options": {'
@@ -63,7 +63,7 @@
       path: "pip"
       wait_for_warm_cache_secs: 60
     }
-    service_account: "pigweed-try-builder@pigweed.google.com.iam.gserviceaccount.com"
+    service_account: "pigweed-ci-builder@pigweed.google.com.iam.gserviceaccount.com"
     experimental: YES
     experiments {
       key: "luci.recipes.use_python3"
diff --git a/generated/pigweed/for_review_only/buildbucket/try/pigweed-linux-main-host-disco-integration.textproto b/generated/pigweed/for_review_only/buildbucket/try/integration-envtest-linux-python2.textproto
similarity index 83%
copy from generated/pigweed/for_review_only/buildbucket/try/pigweed-linux-main-host-disco-integration.textproto
copy to generated/pigweed/for_review_only/buildbucket/try/integration-envtest-linux-python2.textproto
index e41225e..ddb64c0 100644
--- a/generated/pigweed/for_review_only/buildbucket/try/pigweed-linux-main-host-disco-integration.textproto
+++ b/generated/pigweed/for_review_only/buildbucket/try/integration-envtest-linux-python2.textproto
@@ -18,7 +18,7 @@
 }
 swarming {
   builders {
-    name: "pigweed-linux-main-host-disco-integration"
+    name: "integration-envtest-linux-python2"
     swarming_host: "chromium-swarm.appspot.com"
     dimensions: "cores:16"
     dimensions: "cpu:x64|x86-64"
@@ -31,11 +31,6 @@
     }
     properties:
       '{'
-      '  "$pigweed/pw_presubmit": {'
-      '    "step": ['
-      '      "gn_full_build_check"'
-      '    ]'
-      '  },'
       '  "checkout_options": {'
       '    "branch": "main",'
       '    "equivalent_remotes": [],'
@@ -46,11 +41,12 @@
       '    "use_repo": false,'
       '    "use_trigger": true'
       '  },'
+      '  "command": "python -m pw_cli --directory $PW_PROJECT_ROOT --loglevel debug presubmit --step gn_gen_check",'
       '  "dry_run": true,'
-      '  "environment_options": {'
-      '    "config_file": "pw_env_setup/config.json"'
-      '  },'
-      '  "recipe": "pw_presubmit"'
+      '  "environment_variables": ['
+      '    "PW_BOOTSTRAP_PYTHON=python2"'
+      '  ],'
+      '  "recipe": "envtest"'
       '}'
     priority: 50
     execution_timeout_secs: 2700
diff --git a/generated/pigweed/for_review_only/buildbucket/try/pigweed-linux-main-host-disco-integration.textproto b/generated/pigweed/for_review_only/buildbucket/try/integration-envtest-linux-python3.textproto
similarity index 83%
copy from generated/pigweed/for_review_only/buildbucket/try/pigweed-linux-main-host-disco-integration.textproto
copy to generated/pigweed/for_review_only/buildbucket/try/integration-envtest-linux-python3.textproto
index e41225e..110d9a2 100644
--- a/generated/pigweed/for_review_only/buildbucket/try/pigweed-linux-main-host-disco-integration.textproto
+++ b/generated/pigweed/for_review_only/buildbucket/try/integration-envtest-linux-python3.textproto
@@ -18,7 +18,7 @@
 }
 swarming {
   builders {
-    name: "pigweed-linux-main-host-disco-integration"
+    name: "integration-envtest-linux-python3"
     swarming_host: "chromium-swarm.appspot.com"
     dimensions: "cores:16"
     dimensions: "cpu:x64|x86-64"
@@ -31,11 +31,6 @@
     }
     properties:
       '{'
-      '  "$pigweed/pw_presubmit": {'
-      '    "step": ['
-      '      "gn_full_build_check"'
-      '    ]'
-      '  },'
       '  "checkout_options": {'
       '    "branch": "main",'
       '    "equivalent_remotes": [],'
@@ -46,11 +41,12 @@
       '    "use_repo": false,'
       '    "use_trigger": true'
       '  },'
+      '  "command": "python -m pw_cli --directory $PW_PROJECT_ROOT --loglevel debug presubmit --step gn_gen_check",'
       '  "dry_run": true,'
-      '  "environment_options": {'
-      '    "config_file": "pw_env_setup/config.json"'
-      '  },'
-      '  "recipe": "pw_presubmit"'
+      '  "environment_variables": ['
+      '    "PW_BOOTSTRAP_PYTHON=python3"'
+      '  ],'
+      '  "recipe": "envtest"'
       '}'
     priority: 50
     execution_timeout_secs: 2700
diff --git a/generated/pigweed/for_review_only/buildbucket/try/pigweed-linux-main-host-disco-integration.textproto b/generated/pigweed/for_review_only/buildbucket/try/integration-envtest-mac.textproto
similarity index 80%
copy from generated/pigweed/for_review_only/buildbucket/try/pigweed-linux-main-host-disco-integration.textproto
copy to generated/pigweed/for_review_only/buildbucket/try/integration-envtest-mac.textproto
index e41225e..2fa5a83 100644
--- a/generated/pigweed/for_review_only/buildbucket/try/pigweed-linux-main-host-disco-integration.textproto
+++ b/generated/pigweed/for_review_only/buildbucket/try/integration-envtest-mac.textproto
@@ -18,11 +18,10 @@
 }
 swarming {
   builders {
-    name: "pigweed-linux-main-host-disco-integration"
+    name: "integration-envtest-mac"
     swarming_host: "chromium-swarm.appspot.com"
-    dimensions: "cores:16"
     dimensions: "cpu:x64|x86-64"
-    dimensions: "os:Debian"
+    dimensions: "os:Mac"
     dimensions: "pool:luci.pigweed.try"
     exe {
       cipd_package: "pigweed/infra/recipe_bundles/pigweed.googlesource.com/infra/recipes"
@@ -31,11 +30,6 @@
     }
     properties:
       '{'
-      '  "$pigweed/pw_presubmit": {'
-      '    "step": ['
-      '      "gn_full_build_check"'
-      '    ]'
-      '  },'
       '  "checkout_options": {'
       '    "branch": "main",'
       '    "equivalent_remotes": [],'
@@ -46,11 +40,10 @@
       '    "use_repo": false,'
       '    "use_trigger": true'
       '  },'
+      '  "command": "python -m pw_cli --directory $PW_PROJECT_ROOT --loglevel debug presubmit --step gn_gen_check",'
       '  "dry_run": true,'
-      '  "environment_options": {'
-      '    "config_file": "pw_env_setup/config.json"'
-      '  },'
-      '  "recipe": "pw_presubmit"'
+      '  "macos_sdk.version": "11c29",'
+      '  "recipe": "envtest"'
       '}'
     priority: 50
     execution_timeout_secs: 2700
@@ -59,6 +52,11 @@
       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
diff --git a/generated/pigweed/for_review_only/buildbucket/try/pigweed-linux-main-host-disco-integration.textproto b/generated/pigweed/for_review_only/buildbucket/try/integration-envtest-windows.textproto
similarity index 81%
copy from generated/pigweed/for_review_only/buildbucket/try/pigweed-linux-main-host-disco-integration.textproto
copy to generated/pigweed/for_review_only/buildbucket/try/integration-envtest-windows.textproto
index e41225e..530de9e 100644
--- a/generated/pigweed/for_review_only/buildbucket/try/pigweed-linux-main-host-disco-integration.textproto
+++ b/generated/pigweed/for_review_only/buildbucket/try/integration-envtest-windows.textproto
@@ -18,11 +18,11 @@
 }
 swarming {
   builders {
-    name: "pigweed-linux-main-host-disco-integration"
+    name: "integration-envtest-windows"
     swarming_host: "chromium-swarm.appspot.com"
     dimensions: "cores:16"
     dimensions: "cpu:x64|x86-64"
-    dimensions: "os:Debian"
+    dimensions: "os:Windows-10"
     dimensions: "pool:luci.pigweed.try"
     exe {
       cipd_package: "pigweed/infra/recipe_bundles/pigweed.googlesource.com/infra/recipes"
@@ -31,11 +31,6 @@
     }
     properties:
       '{'
-      '  "$pigweed/pw_presubmit": {'
-      '    "step": ['
-      '      "gn_full_build_check"'
-      '    ]'
-      '  },'
       '  "checkout_options": {'
       '    "branch": "main",'
       '    "equivalent_remotes": [],'
@@ -46,11 +41,9 @@
       '    "use_repo": false,'
       '    "use_trigger": true'
       '  },'
+      '  "command": "python -m pw_cli --directory $PW_PROJECT_ROOT --loglevel debug presubmit --step gn_gen_check",'
       '  "dry_run": true,'
-      '  "environment_options": {'
-      '    "config_file": "pw_env_setup/config.json"'
-      '  },'
-      '  "recipe": "pw_presubmit"'
+      '  "recipe": "envtest"'
       '}'
     priority: 50
     execution_timeout_secs: 2700
diff --git a/generated/pigweed/for_review_only/buildbucket/try/pigweed-linux-main-host-disco-integration.textproto b/generated/pigweed/for_review_only/buildbucket/try/integration-integration-pigweed-lintformat-full.textproto
similarity index 92%
copy from generated/pigweed/for_review_only/buildbucket/try/pigweed-linux-main-host-disco-integration.textproto
copy to generated/pigweed/for_review_only/buildbucket/try/integration-integration-pigweed-lintformat-full.textproto
index e41225e..3197f35 100644
--- a/generated/pigweed/for_review_only/buildbucket/try/pigweed-linux-main-host-disco-integration.textproto
+++ b/generated/pigweed/for_review_only/buildbucket/try/integration-integration-pigweed-lintformat-full.textproto
@@ -18,7 +18,7 @@
 }
 swarming {
   builders {
-    name: "pigweed-linux-main-host-disco-integration"
+    name: "integration-integration-pigweed-lintformat-full"
     swarming_host: "chromium-swarm.appspot.com"
     dimensions: "cores:16"
     dimensions: "cpu:x64|x86-64"
@@ -32,8 +32,8 @@
     properties:
       '{'
       '  "$pigweed/pw_presubmit": {'
-      '    "step": ['
-      '      "gn_full_build_check"'
+      '    "program": ['
+      '      "lintformat"'
       '    ]'
       '  },'
       '  "checkout_options": {'
@@ -53,7 +53,7 @@
       '  "recipe": "pw_presubmit"'
       '}'
     priority: 50
-    execution_timeout_secs: 2700
+    execution_timeout_secs: 1500
     caches {
       name: "builder"
       path: "builder"
diff --git a/generated/pigweed/for_review_only/buildbucket/try/pigweed-linux-main-host-disco-integration.textproto b/generated/pigweed/for_review_only/buildbucket/try/integration-integration-pigweed-lintformat.textproto
similarity index 90%
copy from generated/pigweed/for_review_only/buildbucket/try/pigweed-linux-main-host-disco-integration.textproto
copy to generated/pigweed/for_review_only/buildbucket/try/integration-integration-pigweed-lintformat.textproto
index e41225e..b9cfc34 100644
--- a/generated/pigweed/for_review_only/buildbucket/try/pigweed-linux-main-host-disco-integration.textproto
+++ b/generated/pigweed/for_review_only/buildbucket/try/integration-integration-pigweed-lintformat.textproto
@@ -18,7 +18,7 @@
 }
 swarming {
   builders {
-    name: "pigweed-linux-main-host-disco-integration"
+    name: "integration-integration-pigweed-lintformat"
     swarming_host: "chromium-swarm.appspot.com"
     dimensions: "cores:16"
     dimensions: "cpu:x64|x86-64"
@@ -32,8 +32,9 @@
     properties:
       '{'
       '  "$pigweed/pw_presubmit": {'
-      '    "step": ['
-      '      "gn_full_build_check"'
+      '    "only_on_changed_files": true,'
+      '    "program": ['
+      '      "lintformat"'
       '    ]'
       '  },'
       '  "checkout_options": {'
@@ -53,7 +54,7 @@
       '  "recipe": "pw_presubmit"'
       '}'
     priority: 50
-    execution_timeout_secs: 2700
+    execution_timeout_secs: 1500
     caches {
       name: "builder"
       path: "builder"
diff --git a/generated/pigweed/for_review_only/buildbucket/try/pigweed-linux-main-host-disco-integration.textproto b/generated/pigweed/for_review_only/buildbucket/try/integration-pigweed-linux-bazel-build-host-clang.textproto
similarity index 90%
copy from generated/pigweed/for_review_only/buildbucket/try/pigweed-linux-main-host-disco-integration.textproto
copy to generated/pigweed/for_review_only/buildbucket/try/integration-pigweed-linux-bazel-build-host-clang.textproto
index e41225e..1153926 100644
--- a/generated/pigweed/for_review_only/buildbucket/try/pigweed-linux-main-host-disco-integration.textproto
+++ b/generated/pigweed/for_review_only/buildbucket/try/integration-pigweed-linux-bazel-build-host-clang.textproto
@@ -18,7 +18,7 @@
 }
 swarming {
   builders {
-    name: "pigweed-linux-main-host-disco-integration"
+    name: "integration-pigweed-linux-bazel-build-host-clang"
     swarming_host: "chromium-swarm.appspot.com"
     dimensions: "cores:16"
     dimensions: "cpu:x64|x86-64"
@@ -33,7 +33,7 @@
       '{'
       '  "$pigweed/pw_presubmit": {'
       '    "step": ['
-      '      "gn_full_build_check"'
+      '      "bazel_build"'
       '    ]'
       '  },'
       '  "checkout_options": {'
@@ -55,6 +55,11 @@
     priority: 50
     execution_timeout_secs: 2700
     caches {
+      name: "bazel"
+      path: "bazel"
+      wait_for_warm_cache_secs: 60
+    }
+    caches {
       name: "builder"
       path: "builder"
     }
diff --git a/generated/pigweed/for_review_only/buildbucket/try/pigweed-linux-main-host-disco-integration.textproto b/generated/pigweed/for_review_only/buildbucket/try/integration-pigweed-linux-bazel-test-host-clang.textproto
similarity index 90%
copy from generated/pigweed/for_review_only/buildbucket/try/pigweed-linux-main-host-disco-integration.textproto
copy to generated/pigweed/for_review_only/buildbucket/try/integration-pigweed-linux-bazel-test-host-clang.textproto
index e41225e..bc04280 100644
--- a/generated/pigweed/for_review_only/buildbucket/try/pigweed-linux-main-host-disco-integration.textproto
+++ b/generated/pigweed/for_review_only/buildbucket/try/integration-pigweed-linux-bazel-test-host-clang.textproto
@@ -18,7 +18,7 @@
 }
 swarming {
   builders {
-    name: "pigweed-linux-main-host-disco-integration"
+    name: "integration-pigweed-linux-bazel-test-host-clang"
     swarming_host: "chromium-swarm.appspot.com"
     dimensions: "cores:16"
     dimensions: "cpu:x64|x86-64"
@@ -33,7 +33,7 @@
       '{'
       '  "$pigweed/pw_presubmit": {'
       '    "step": ['
-      '      "gn_full_build_check"'
+      '      "bazel_test"'
       '    ]'
       '  },'
       '  "checkout_options": {'
@@ -55,6 +55,11 @@
     priority: 50
     execution_timeout_secs: 2700
     caches {
+      name: "bazel"
+      path: "bazel"
+      wait_for_warm_cache_secs: 60
+    }
+    caches {
       name: "builder"
       path: "builder"
     }
diff --git a/generated/pigweed/for_review_only/buildbucket/try/pigweed-linux-main-host-disco-integration.textproto b/generated/pigweed/for_review_only/buildbucket/try/integration-pigweed-linux-cmake-host-clang.textproto
similarity index 94%
copy from generated/pigweed/for_review_only/buildbucket/try/pigweed-linux-main-host-disco-integration.textproto
copy to generated/pigweed/for_review_only/buildbucket/try/integration-pigweed-linux-cmake-host-clang.textproto
index e41225e..ca6e722 100644
--- a/generated/pigweed/for_review_only/buildbucket/try/pigweed-linux-main-host-disco-integration.textproto
+++ b/generated/pigweed/for_review_only/buildbucket/try/integration-pigweed-linux-cmake-host-clang.textproto
@@ -18,7 +18,7 @@
 }
 swarming {
   builders {
-    name: "pigweed-linux-main-host-disco-integration"
+    name: "integration-pigweed-linux-cmake-host-clang"
     swarming_host: "chromium-swarm.appspot.com"
     dimensions: "cores:16"
     dimensions: "cpu:x64|x86-64"
@@ -33,7 +33,7 @@
       '{'
       '  "$pigweed/pw_presubmit": {'
       '    "step": ['
-      '      "gn_full_build_check"'
+      '      "cmake_clang"'
       '    ]'
       '  },'
       '  "checkout_options": {'
diff --git a/generated/pigweed/for_review_only/buildbucket/try/pigweed-linux-main-host-disco-integration.textproto b/generated/pigweed/for_review_only/buildbucket/try/integration-pigweed-linux-cmake-host-gcc.textproto
similarity index 94%
copy from generated/pigweed/for_review_only/buildbucket/try/pigweed-linux-main-host-disco-integration.textproto
copy to generated/pigweed/for_review_only/buildbucket/try/integration-pigweed-linux-cmake-host-gcc.textproto
index e41225e..13e0f94 100644
--- a/generated/pigweed/for_review_only/buildbucket/try/pigweed-linux-main-host-disco-integration.textproto
+++ b/generated/pigweed/for_review_only/buildbucket/try/integration-pigweed-linux-cmake-host-gcc.textproto
@@ -18,7 +18,7 @@
 }
 swarming {
   builders {
-    name: "pigweed-linux-main-host-disco-integration"
+    name: "integration-pigweed-linux-cmake-host-gcc"
     swarming_host: "chromium-swarm.appspot.com"
     dimensions: "cores:16"
     dimensions: "cpu:x64|x86-64"
@@ -33,7 +33,7 @@
       '{'
       '  "$pigweed/pw_presubmit": {'
       '    "step": ['
-      '      "gn_full_build_check"'
+      '      "cmake_gcc"'
       '    ]'
       '  },'
       '  "checkout_options": {'
diff --git a/generated/pigweed/for_review_only/buildbucket/try/pigweed-linux-main-host-disco-integration.textproto b/generated/pigweed/for_review_only/buildbucket/try/integration-pigweed-linux-compatibility-host-disco.textproto
similarity index 93%
copy from generated/pigweed/for_review_only/buildbucket/try/pigweed-linux-main-host-disco-integration.textproto
copy to generated/pigweed/for_review_only/buildbucket/try/integration-pigweed-linux-compatibility-host-disco.textproto
index e41225e..bdf3a84 100644
--- a/generated/pigweed/for_review_only/buildbucket/try/pigweed-linux-main-host-disco-integration.textproto
+++ b/generated/pigweed/for_review_only/buildbucket/try/integration-pigweed-linux-compatibility-host-disco.textproto
@@ -18,7 +18,7 @@
 }
 swarming {
   builders {
-    name: "pigweed-linux-main-host-disco-integration"
+    name: "integration-pigweed-linux-compatibility-host-disco"
     swarming_host: "chromium-swarm.appspot.com"
     dimensions: "cores:16"
     dimensions: "cpu:x64|x86-64"
@@ -48,7 +48,7 @@
       '  },'
       '  "dry_run": true,'
       '  "environment_options": {'
-      '    "config_file": "pw_env_setup/config.json"'
+      '    "config_file": "pw_env_setup/compatibility.json"'
       '  },'
       '  "recipe": "pw_presubmit"'
       '}'
diff --git a/generated/pigweed/for_review_only/buildbucket/try/pigweed-linux-main-host-disco-integration.textproto b/generated/pigweed/for_review_only/buildbucket/try/integration-pigweed-linux-gn-crypto-boringssl.textproto
similarity index 94%
copy from generated/pigweed/for_review_only/buildbucket/try/pigweed-linux-main-host-disco-integration.textproto
copy to generated/pigweed/for_review_only/buildbucket/try/integration-pigweed-linux-gn-crypto-boringssl.textproto
index e41225e..16d3973 100644
--- a/generated/pigweed/for_review_only/buildbucket/try/pigweed-linux-main-host-disco-integration.textproto
+++ b/generated/pigweed/for_review_only/buildbucket/try/integration-pigweed-linux-gn-crypto-boringssl.textproto
@@ -18,7 +18,7 @@
 }
 swarming {
   builders {
-    name: "pigweed-linux-main-host-disco-integration"
+    name: "integration-pigweed-linux-gn-crypto-boringssl"
     swarming_host: "chromium-swarm.appspot.com"
     dimensions: "cores:16"
     dimensions: "cpu:x64|x86-64"
@@ -33,7 +33,7 @@
       '{'
       '  "$pigweed/pw_presubmit": {'
       '    "step": ['
-      '      "gn_full_build_check"'
+      '      "gn_crypto_boringssl_build"'
       '    ]'
       '  },'
       '  "checkout_options": {'
diff --git a/generated/pigweed/for_review_only/buildbucket/try/pigweed-linux-main-host-disco-integration.textproto b/generated/pigweed/for_review_only/buildbucket/try/integration-pigweed-linux-gn-crypto-build-micro-ecc.textproto
similarity index 94%
copy from generated/pigweed/for_review_only/buildbucket/try/pigweed-linux-main-host-disco-integration.textproto
copy to generated/pigweed/for_review_only/buildbucket/try/integration-pigweed-linux-gn-crypto-build-micro-ecc.textproto
index e41225e..7ff3632 100644
--- a/generated/pigweed/for_review_only/buildbucket/try/pigweed-linux-main-host-disco-integration.textproto
+++ b/generated/pigweed/for_review_only/buildbucket/try/integration-pigweed-linux-gn-crypto-build-micro-ecc.textproto
@@ -18,7 +18,7 @@
 }
 swarming {
   builders {
-    name: "pigweed-linux-main-host-disco-integration"
+    name: "integration-pigweed-linux-gn-crypto-build-micro-ecc"
     swarming_host: "chromium-swarm.appspot.com"
     dimensions: "cores:16"
     dimensions: "cpu:x64|x86-64"
@@ -33,7 +33,7 @@
       '{'
       '  "$pigweed/pw_presubmit": {'
       '    "step": ['
-      '      "gn_full_build_check"'
+      '      "gn_crypto_micro_ecc_build"'
       '    ]'
       '  },'
       '  "checkout_options": {'
diff --git a/generated/pigweed/for_review_only/buildbucket/try/pigweed-linux-main-host-disco-integration.textproto b/generated/pigweed/for_review_only/buildbucket/try/integration-pigweed-linux-gn-crypto-mbedtls.textproto
similarity index 94%
copy from generated/pigweed/for_review_only/buildbucket/try/pigweed-linux-main-host-disco-integration.textproto
copy to generated/pigweed/for_review_only/buildbucket/try/integration-pigweed-linux-gn-crypto-mbedtls.textproto
index e41225e..7cfc142 100644
--- a/generated/pigweed/for_review_only/buildbucket/try/pigweed-linux-main-host-disco-integration.textproto
+++ b/generated/pigweed/for_review_only/buildbucket/try/integration-pigweed-linux-gn-crypto-mbedtls.textproto
@@ -18,7 +18,7 @@
 }
 swarming {
   builders {
-    name: "pigweed-linux-main-host-disco-integration"
+    name: "integration-pigweed-linux-gn-crypto-mbedtls"
     swarming_host: "chromium-swarm.appspot.com"
     dimensions: "cores:16"
     dimensions: "cpu:x64|x86-64"
@@ -33,7 +33,7 @@
       '{'
       '  "$pigweed/pw_presubmit": {'
       '    "step": ['
-      '      "gn_full_build_check"'
+      '      "gn_crypto_mbedtls_build"'
       '    ]'
       '  },'
       '  "checkout_options": {'
diff --git a/generated/pigweed/for_review_only/buildbucket/try/pigweed-linux-main-host-disco-integration.textproto b/generated/pigweed/for_review_only/buildbucket/try/integration-pigweed-linux-gn-hosttools.textproto
similarity index 91%
copy from generated/pigweed/for_review_only/buildbucket/try/pigweed-linux-main-host-disco-integration.textproto
copy to generated/pigweed/for_review_only/buildbucket/try/integration-pigweed-linux-gn-hosttools.textproto
index e41225e..e7318c0 100644
--- a/generated/pigweed/for_review_only/buildbucket/try/pigweed-linux-main-host-disco-integration.textproto
+++ b/generated/pigweed/for_review_only/buildbucket/try/integration-pigweed-linux-gn-hosttools.textproto
@@ -18,7 +18,7 @@
 }
 swarming {
   builders {
-    name: "pigweed-linux-main-host-disco-integration"
+    name: "integration-pigweed-linux-gn-hosttools"
     swarming_host: "chromium-swarm.appspot.com"
     dimensions: "cores:16"
     dimensions: "cpu:x64|x86-64"
@@ -33,7 +33,7 @@
       '{'
       '  "$pigweed/pw_presubmit": {'
       '    "step": ['
-      '      "gn_full_build_check"'
+      '      "gn_host_tools"'
       '    ]'
       '  },'
       '  "checkout_options": {'
@@ -59,6 +59,11 @@
       path: "builder"
     }
     caches {
+      name: "go"
+      path: "go"
+      wait_for_warm_cache_secs: 120
+    }
+    caches {
       name: "pip"
       path: "pip"
       wait_for_warm_cache_secs: 60
diff --git a/generated/pigweed/for_review_only/buildbucket/try/pigweed-linux-main-host-disco-integration.textproto b/generated/pigweed/for_review_only/buildbucket/try/integration-pigweed-linux-gn-nanopb.textproto
similarity index 94%
copy from generated/pigweed/for_review_only/buildbucket/try/pigweed-linux-main-host-disco-integration.textproto
copy to generated/pigweed/for_review_only/buildbucket/try/integration-pigweed-linux-gn-nanopb.textproto
index e41225e..99fd024 100644
--- a/generated/pigweed/for_review_only/buildbucket/try/pigweed-linux-main-host-disco-integration.textproto
+++ b/generated/pigweed/for_review_only/buildbucket/try/integration-pigweed-linux-gn-nanopb.textproto
@@ -18,7 +18,7 @@
 }
 swarming {
   builders {
-    name: "pigweed-linux-main-host-disco-integration"
+    name: "integration-pigweed-linux-gn-nanopb"
     swarming_host: "chromium-swarm.appspot.com"
     dimensions: "cores:16"
     dimensions: "cpu:x64|x86-64"
@@ -33,7 +33,7 @@
       '{'
       '  "$pigweed/pw_presubmit": {'
       '    "step": ['
-      '      "gn_full_build_check"'
+      '      "gn_nanopb_build"'
       '    ]'
       '  },'
       '  "checkout_options": {'
diff --git a/generated/pigweed/for_review_only/buildbucket/try/pigweed-linux-main-host-disco-integration.textproto b/generated/pigweed/for_review_only/buildbucket/try/integration-pigweed-linux-gn-software-update.textproto
similarity index 94%
copy from generated/pigweed/for_review_only/buildbucket/try/pigweed-linux-main-host-disco-integration.textproto
copy to generated/pigweed/for_review_only/buildbucket/try/integration-pigweed-linux-gn-software-update.textproto
index e41225e..3dbc5c5 100644
--- a/generated/pigweed/for_review_only/buildbucket/try/pigweed-linux-main-host-disco-integration.textproto
+++ b/generated/pigweed/for_review_only/buildbucket/try/integration-pigweed-linux-gn-software-update.textproto
@@ -18,7 +18,7 @@
 }
 swarming {
   builders {
-    name: "pigweed-linux-main-host-disco-integration"
+    name: "integration-pigweed-linux-gn-software-update"
     swarming_host: "chromium-swarm.appspot.com"
     dimensions: "cores:16"
     dimensions: "cpu:x64|x86-64"
@@ -33,7 +33,7 @@
       '{'
       '  "$pigweed/pw_presubmit": {'
       '    "step": ['
-      '      "gn_full_build_check"'
+      '      "gn_software_update_build"'
       '    ]'
       '  },'
       '  "checkout_options": {'
diff --git a/generated/pigweed/for_review_only/buildbucket/try/pigweed-linux-main-host-disco-integration.textproto b/generated/pigweed/for_review_only/buildbucket/try/integration-pigweed-linux-gn-teensy.textproto
similarity index 94%
copy from generated/pigweed/for_review_only/buildbucket/try/pigweed-linux-main-host-disco-integration.textproto
copy to generated/pigweed/for_review_only/buildbucket/try/integration-pigweed-linux-gn-teensy.textproto
index e41225e..775f11b 100644
--- a/generated/pigweed/for_review_only/buildbucket/try/pigweed-linux-main-host-disco-integration.textproto
+++ b/generated/pigweed/for_review_only/buildbucket/try/integration-pigweed-linux-gn-teensy.textproto
@@ -18,7 +18,7 @@
 }
 swarming {
   builders {
-    name: "pigweed-linux-main-host-disco-integration"
+    name: "integration-pigweed-linux-gn-teensy"
     swarming_host: "chromium-swarm.appspot.com"
     dimensions: "cores:16"
     dimensions: "cpu:x64|x86-64"
@@ -33,7 +33,7 @@
       '{'
       '  "$pigweed/pw_presubmit": {'
       '    "step": ['
-      '      "gn_full_build_check"'
+      '      "gn_teensy_build"'
       '    ]'
       '  },'
       '  "checkout_options": {'
diff --git a/generated/pigweed/for_review_only/buildbucket/try/pigweed-linux-main-host-disco-integration.textproto b/generated/pigweed/for_review_only/buildbucket/try/integration-pigweed-linux-main-host-disco.textproto
similarity index 96%
rename from generated/pigweed/for_review_only/buildbucket/try/pigweed-linux-main-host-disco-integration.textproto
rename to generated/pigweed/for_review_only/buildbucket/try/integration-pigweed-linux-main-host-disco.textproto
index e41225e..852222c 100644
--- a/generated/pigweed/for_review_only/buildbucket/try/pigweed-linux-main-host-disco-integration.textproto
+++ b/generated/pigweed/for_review_only/buildbucket/try/integration-pigweed-linux-main-host-disco.textproto
@@ -18,7 +18,7 @@
 }
 swarming {
   builders {
-    name: "pigweed-linux-main-host-disco-integration"
+    name: "integration-pigweed-linux-main-host-disco"
     swarming_host: "chromium-swarm.appspot.com"
     dimensions: "cores:16"
     dimensions: "cpu:x64|x86-64"
diff --git a/generated/pigweed/for_review_only/buildbucket/try/pigweed-linux-main-host-disco-integration.textproto b/generated/pigweed/for_review_only/buildbucket/try/integration-pigweed-linux-qemu-compatibility-clang-armgcc.textproto
similarity index 91%
copy from generated/pigweed/for_review_only/buildbucket/try/pigweed-linux-main-host-disco-integration.textproto
copy to generated/pigweed/for_review_only/buildbucket/try/integration-pigweed-linux-qemu-compatibility-clang-armgcc.textproto
index e41225e..4bee8b4 100644
--- a/generated/pigweed/for_review_only/buildbucket/try/pigweed-linux-main-host-disco-integration.textproto
+++ b/generated/pigweed/for_review_only/buildbucket/try/integration-pigweed-linux-qemu-compatibility-clang-armgcc.textproto
@@ -18,7 +18,7 @@
 }
 swarming {
   builders {
-    name: "pigweed-linux-main-host-disco-integration"
+    name: "integration-pigweed-linux-qemu-compatibility-clang-armgcc"
     swarming_host: "chromium-swarm.appspot.com"
     dimensions: "cores:16"
     dimensions: "cpu:x64|x86-64"
@@ -33,7 +33,7 @@
       '{'
       '  "$pigweed/pw_presubmit": {'
       '    "step": ['
-      '      "gn_full_build_check"'
+      '      "gn_full_qemu_check"'
       '    ]'
       '  },'
       '  "checkout_options": {'
@@ -48,7 +48,7 @@
       '  },'
       '  "dry_run": true,'
       '  "environment_options": {'
-      '    "config_file": "pw_env_setup/config.json"'
+      '    "config_file": "pw_env_setup/compatibility.json"'
       '  },'
       '  "recipe": "pw_presubmit"'
       '}'
diff --git a/generated/pigweed/for_review_only/buildbucket/try/pigweed-linux-main-host-disco-integration.textproto b/generated/pigweed/for_review_only/buildbucket/try/integration-pigweed-linux-qemu-main-clang-armgcc.textproto
similarity index 94%
copy from generated/pigweed/for_review_only/buildbucket/try/pigweed-linux-main-host-disco-integration.textproto
copy to generated/pigweed/for_review_only/buildbucket/try/integration-pigweed-linux-qemu-main-clang-armgcc.textproto
index e41225e..9419d11 100644
--- a/generated/pigweed/for_review_only/buildbucket/try/pigweed-linux-main-host-disco-integration.textproto
+++ b/generated/pigweed/for_review_only/buildbucket/try/integration-pigweed-linux-qemu-main-clang-armgcc.textproto
@@ -18,7 +18,7 @@
 }
 swarming {
   builders {
-    name: "pigweed-linux-main-host-disco-integration"
+    name: "integration-pigweed-linux-qemu-main-clang-armgcc"
     swarming_host: "chromium-swarm.appspot.com"
     dimensions: "cores:16"
     dimensions: "cpu:x64|x86-64"
@@ -33,7 +33,7 @@
       '{'
       '  "$pigweed/pw_presubmit": {'
       '    "step": ['
-      '      "gn_full_build_check"'
+      '      "gn_full_qemu_check"'
       '    ]'
       '  },'
       '  "checkout_options": {'
diff --git a/generated/pigweed/for_review_only/buildbucket/try/pigweed-linux-main-host-disco-integration.textproto b/generated/pigweed/for_review_only/buildbucket/try/integration-pigweed-linux-san-asan.textproto
similarity index 94%
copy from generated/pigweed/for_review_only/buildbucket/try/pigweed-linux-main-host-disco-integration.textproto
copy to generated/pigweed/for_review_only/buildbucket/try/integration-pigweed-linux-san-asan.textproto
index e41225e..45e389c 100644
--- a/generated/pigweed/for_review_only/buildbucket/try/pigweed-linux-main-host-disco-integration.textproto
+++ b/generated/pigweed/for_review_only/buildbucket/try/integration-pigweed-linux-san-asan.textproto
@@ -18,7 +18,7 @@
 }
 swarming {
   builders {
-    name: "pigweed-linux-main-host-disco-integration"
+    name: "integration-pigweed-linux-san-asan"
     swarming_host: "chromium-swarm.appspot.com"
     dimensions: "cores:16"
     dimensions: "cpu:x64|x86-64"
@@ -33,7 +33,7 @@
       '{'
       '  "$pigweed/pw_presubmit": {'
       '    "step": ['
-      '      "gn_full_build_check"'
+      '      "asan"'
       '    ]'
       '  },'
       '  "checkout_options": {'
diff --git a/generated/pigweed/for_review_only/buildbucket/try/pigweed-linux-main-host-disco-integration.textproto b/generated/pigweed/for_review_only/buildbucket/try/integration-pigweed-linux-san-tsan.textproto
similarity index 94%
copy from generated/pigweed/for_review_only/buildbucket/try/pigweed-linux-main-host-disco-integration.textproto
copy to generated/pigweed/for_review_only/buildbucket/try/integration-pigweed-linux-san-tsan.textproto
index e41225e..6d3d0ce 100644
--- a/generated/pigweed/for_review_only/buildbucket/try/pigweed-linux-main-host-disco-integration.textproto
+++ b/generated/pigweed/for_review_only/buildbucket/try/integration-pigweed-linux-san-tsan.textproto
@@ -18,7 +18,7 @@
 }
 swarming {
   builders {
-    name: "pigweed-linux-main-host-disco-integration"
+    name: "integration-pigweed-linux-san-tsan"
     swarming_host: "chromium-swarm.appspot.com"
     dimensions: "cores:16"
     dimensions: "cpu:x64|x86-64"
@@ -33,7 +33,7 @@
       '{'
       '  "$pigweed/pw_presubmit": {'
       '    "step": ['
-      '      "gn_full_build_check"'
+      '      "tsan"'
       '    ]'
       '  },'
       '  "checkout_options": {'
diff --git a/generated/pigweed/for_review_only/buildbucket/try/pigweed-linux-main-host-disco-integration.textproto b/generated/pigweed/for_review_only/buildbucket/try/integration-pigweed-linux-san-ubsan.textproto
similarity index 94%
copy from generated/pigweed/for_review_only/buildbucket/try/pigweed-linux-main-host-disco-integration.textproto
copy to generated/pigweed/for_review_only/buildbucket/try/integration-pigweed-linux-san-ubsan.textproto
index e41225e..90d1e73 100644
--- a/generated/pigweed/for_review_only/buildbucket/try/pigweed-linux-main-host-disco-integration.textproto
+++ b/generated/pigweed/for_review_only/buildbucket/try/integration-pigweed-linux-san-ubsan.textproto
@@ -18,7 +18,7 @@
 }
 swarming {
   builders {
-    name: "pigweed-linux-main-host-disco-integration"
+    name: "integration-pigweed-linux-san-ubsan"
     swarming_host: "chromium-swarm.appspot.com"
     dimensions: "cores:16"
     dimensions: "cpu:x64|x86-64"
@@ -33,7 +33,7 @@
       '{'
       '  "$pigweed/pw_presubmit": {'
       '    "step": ['
-      '      "gn_full_build_check"'
+      '      "ubsan"'
       '    ]'
       '  },'
       '  "checkout_options": {'
diff --git a/generated/pigweed/for_review_only/buildbucket/try/pigweed-linux-main-host-disco-integration.textproto b/generated/pigweed/for_review_only/buildbucket/try/integration-pigweed-linux-static-analysis.textproto
similarity index 94%
copy from generated/pigweed/for_review_only/buildbucket/try/pigweed-linux-main-host-disco-integration.textproto
copy to generated/pigweed/for_review_only/buildbucket/try/integration-pigweed-linux-static-analysis.textproto
index e41225e..8a51c26 100644
--- a/generated/pigweed/for_review_only/buildbucket/try/pigweed-linux-main-host-disco-integration.textproto
+++ b/generated/pigweed/for_review_only/buildbucket/try/integration-pigweed-linux-static-analysis.textproto
@@ -18,7 +18,7 @@
 }
 swarming {
   builders {
-    name: "pigweed-linux-main-host-disco-integration"
+    name: "integration-pigweed-linux-static-analysis"
     swarming_host: "chromium-swarm.appspot.com"
     dimensions: "cores:16"
     dimensions: "cpu:x64|x86-64"
@@ -33,7 +33,7 @@
       '{'
       '  "$pigweed/pw_presubmit": {'
       '    "step": ['
-      '      "gn_full_build_check"'
+      '      "static_analysis"'
       '    ]'
       '  },'
       '  "checkout_options": {'
diff --git a/generated/pigweed/for_review_only/buildbucket/try/pigweed-linux-main-host-disco-integration.textproto b/generated/pigweed/for_review_only/buildbucket/try/integration-pigweed-mac-bazel-test-host-clang.textproto
similarity index 83%
copy from generated/pigweed/for_review_only/buildbucket/try/pigweed-linux-main-host-disco-integration.textproto
copy to generated/pigweed/for_review_only/buildbucket/try/integration-pigweed-mac-bazel-test-host-clang.textproto
index e41225e..46d80ab 100644
--- a/generated/pigweed/for_review_only/buildbucket/try/pigweed-linux-main-host-disco-integration.textproto
+++ b/generated/pigweed/for_review_only/buildbucket/try/integration-pigweed-mac-bazel-test-host-clang.textproto
@@ -18,11 +18,10 @@
 }
 swarming {
   builders {
-    name: "pigweed-linux-main-host-disco-integration"
+    name: "integration-pigweed-mac-bazel-test-host-clang"
     swarming_host: "chromium-swarm.appspot.com"
-    dimensions: "cores:16"
     dimensions: "cpu:x64|x86-64"
-    dimensions: "os:Debian"
+    dimensions: "os:Mac"
     dimensions: "pool:luci.pigweed.try"
     exe {
       cipd_package: "pigweed/infra/recipe_bundles/pigweed.googlesource.com/infra/recipes"
@@ -33,7 +32,7 @@
       '{'
       '  "$pigweed/pw_presubmit": {'
       '    "step": ['
-      '      "gn_full_build_check"'
+      '      "bazel_test"'
       '    ]'
       '  },'
       '  "checkout_options": {'
@@ -50,15 +49,26 @@
       '  "environment_options": {'
       '    "config_file": "pw_env_setup/config.json"'
       '  },'
+      '  "macos_sdk.version": "11c29",'
       '  "recipe": "pw_presubmit"'
       '}'
     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
diff --git a/generated/pigweed/for_review_only/buildbucket/try/pigweed-linux-main-host-disco-integration.textproto b/generated/pigweed/for_review_only/buildbucket/try/integration-pigweed-mac-cmake-host-clang.textproto
similarity index 87%
copy from generated/pigweed/for_review_only/buildbucket/try/pigweed-linux-main-host-disco-integration.textproto
copy to generated/pigweed/for_review_only/buildbucket/try/integration-pigweed-mac-cmake-host-clang.textproto
index e41225e..bf1bd4f 100644
--- a/generated/pigweed/for_review_only/buildbucket/try/pigweed-linux-main-host-disco-integration.textproto
+++ b/generated/pigweed/for_review_only/buildbucket/try/integration-pigweed-mac-cmake-host-clang.textproto
@@ -18,11 +18,10 @@
 }
 swarming {
   builders {
-    name: "pigweed-linux-main-host-disco-integration"
+    name: "integration-pigweed-mac-cmake-host-clang"
     swarming_host: "chromium-swarm.appspot.com"
-    dimensions: "cores:16"
     dimensions: "cpu:x64|x86-64"
-    dimensions: "os:Debian"
+    dimensions: "os:Mac"
     dimensions: "pool:luci.pigweed.try"
     exe {
       cipd_package: "pigweed/infra/recipe_bundles/pigweed.googlesource.com/infra/recipes"
@@ -33,7 +32,7 @@
       '{'
       '  "$pigweed/pw_presubmit": {'
       '    "step": ['
-      '      "gn_full_build_check"'
+      '      "cmake_clang"'
       '    ]'
       '  },'
       '  "checkout_options": {'
@@ -50,6 +49,7 @@
       '  "environment_options": {'
       '    "config_file": "pw_env_setup/config.json"'
       '  },'
+      '  "macos_sdk.version": "11c29",'
       '  "recipe": "pw_presubmit"'
       '}'
     priority: 50
@@ -59,6 +59,11 @@
       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
diff --git a/generated/pigweed/for_review_only/buildbucket/try/pigweed-linux-main-host-disco-integration.textproto b/generated/pigweed/for_review_only/buildbucket/try/integration-pigweed-mac-cmake-host-gcc.textproto
similarity index 87%
copy from generated/pigweed/for_review_only/buildbucket/try/pigweed-linux-main-host-disco-integration.textproto
copy to generated/pigweed/for_review_only/buildbucket/try/integration-pigweed-mac-cmake-host-gcc.textproto
index e41225e..b178613 100644
--- a/generated/pigweed/for_review_only/buildbucket/try/pigweed-linux-main-host-disco-integration.textproto
+++ b/generated/pigweed/for_review_only/buildbucket/try/integration-pigweed-mac-cmake-host-gcc.textproto
@@ -18,11 +18,10 @@
 }
 swarming {
   builders {
-    name: "pigweed-linux-main-host-disco-integration"
+    name: "integration-pigweed-mac-cmake-host-gcc"
     swarming_host: "chromium-swarm.appspot.com"
-    dimensions: "cores:16"
     dimensions: "cpu:x64|x86-64"
-    dimensions: "os:Debian"
+    dimensions: "os:Mac"
     dimensions: "pool:luci.pigweed.try"
     exe {
       cipd_package: "pigweed/infra/recipe_bundles/pigweed.googlesource.com/infra/recipes"
@@ -33,7 +32,7 @@
       '{'
       '  "$pigweed/pw_presubmit": {'
       '    "step": ['
-      '      "gn_full_build_check"'
+      '      "cmake_gcc"'
       '    ]'
       '  },'
       '  "checkout_options": {'
@@ -50,6 +49,7 @@
       '  "environment_options": {'
       '    "config_file": "pw_env_setup/config.json"'
       '  },'
+      '  "macos_sdk.version": "11c29",'
       '  "recipe": "pw_presubmit"'
       '}'
     priority: 50
@@ -59,6 +59,11 @@
       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
diff --git a/generated/pigweed/for_review_only/buildbucket/try/pigweed-linux-main-host-disco-integration.textproto b/generated/pigweed/for_review_only/buildbucket/try/integration-pigweed-mac-compatibility-host-disco.textproto
similarity index 85%
copy from generated/pigweed/for_review_only/buildbucket/try/pigweed-linux-main-host-disco-integration.textproto
copy to generated/pigweed/for_review_only/buildbucket/try/integration-pigweed-mac-compatibility-host-disco.textproto
index e41225e..e16be68 100644
--- a/generated/pigweed/for_review_only/buildbucket/try/pigweed-linux-main-host-disco-integration.textproto
+++ b/generated/pigweed/for_review_only/buildbucket/try/integration-pigweed-mac-compatibility-host-disco.textproto
@@ -18,11 +18,10 @@
 }
 swarming {
   builders {
-    name: "pigweed-linux-main-host-disco-integration"
+    name: "integration-pigweed-mac-compatibility-host-disco"
     swarming_host: "chromium-swarm.appspot.com"
-    dimensions: "cores:16"
     dimensions: "cpu:x64|x86-64"
-    dimensions: "os:Debian"
+    dimensions: "os:Mac"
     dimensions: "pool:luci.pigweed.try"
     exe {
       cipd_package: "pigweed/infra/recipe_bundles/pigweed.googlesource.com/infra/recipes"
@@ -48,8 +47,9 @@
       '  },'
       '  "dry_run": true,'
       '  "environment_options": {'
-      '    "config_file": "pw_env_setup/config.json"'
+      '    "config_file": "pw_env_setup/compatibility.json"'
       '  },'
+      '  "macos_sdk.version": "11c29",'
       '  "recipe": "pw_presubmit"'
       '}'
     priority: 50
@@ -59,6 +59,11 @@
       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
diff --git a/generated/pigweed/for_review_only/buildbucket/try/pigweed-linux-main-host-disco-integration.textproto b/generated/pigweed/for_review_only/buildbucket/try/integration-pigweed-mac-gn-hosttools.textproto
similarity index 83%
copy from generated/pigweed/for_review_only/buildbucket/try/pigweed-linux-main-host-disco-integration.textproto
copy to generated/pigweed/for_review_only/buildbucket/try/integration-pigweed-mac-gn-hosttools.textproto
index e41225e..5a32b1a 100644
--- a/generated/pigweed/for_review_only/buildbucket/try/pigweed-linux-main-host-disco-integration.textproto
+++ b/generated/pigweed/for_review_only/buildbucket/try/integration-pigweed-mac-gn-hosttools.textproto
@@ -18,11 +18,10 @@
 }
 swarming {
   builders {
-    name: "pigweed-linux-main-host-disco-integration"
+    name: "integration-pigweed-mac-gn-hosttools"
     swarming_host: "chromium-swarm.appspot.com"
-    dimensions: "cores:16"
     dimensions: "cpu:x64|x86-64"
-    dimensions: "os:Debian"
+    dimensions: "os:Mac"
     dimensions: "pool:luci.pigweed.try"
     exe {
       cipd_package: "pigweed/infra/recipe_bundles/pigweed.googlesource.com/infra/recipes"
@@ -33,7 +32,7 @@
       '{'
       '  "$pigweed/pw_presubmit": {'
       '    "step": ['
-      '      "gn_full_build_check"'
+      '      "gn_host_tools"'
       '    ]'
       '  },'
       '  "checkout_options": {'
@@ -50,6 +49,7 @@
       '  "environment_options": {'
       '    "config_file": "pw_env_setup/config.json"'
       '  },'
+      '  "macos_sdk.version": "11c29",'
       '  "recipe": "pw_presubmit"'
       '}'
     priority: 50
@@ -59,6 +59,16 @@
       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
diff --git a/generated/pigweed/for_review_only/buildbucket/try/pigweed-linux-main-host-disco-integration.textproto b/generated/pigweed/for_review_only/buildbucket/try/integration-pigweed-mac-gn-nanopb.textproto
similarity index 87%
copy from generated/pigweed/for_review_only/buildbucket/try/pigweed-linux-main-host-disco-integration.textproto
copy to generated/pigweed/for_review_only/buildbucket/try/integration-pigweed-mac-gn-nanopb.textproto
index e41225e..029c49b 100644
--- a/generated/pigweed/for_review_only/buildbucket/try/pigweed-linux-main-host-disco-integration.textproto
+++ b/generated/pigweed/for_review_only/buildbucket/try/integration-pigweed-mac-gn-nanopb.textproto
@@ -18,11 +18,10 @@
 }
 swarming {
   builders {
-    name: "pigweed-linux-main-host-disco-integration"
+    name: "integration-pigweed-mac-gn-nanopb"
     swarming_host: "chromium-swarm.appspot.com"
-    dimensions: "cores:16"
     dimensions: "cpu:x64|x86-64"
-    dimensions: "os:Debian"
+    dimensions: "os:Mac"
     dimensions: "pool:luci.pigweed.try"
     exe {
       cipd_package: "pigweed/infra/recipe_bundles/pigweed.googlesource.com/infra/recipes"
@@ -33,7 +32,7 @@
       '{'
       '  "$pigweed/pw_presubmit": {'
       '    "step": ['
-      '      "gn_full_build_check"'
+      '      "gn_nanopb_build"'
       '    ]'
       '  },'
       '  "checkout_options": {'
@@ -50,6 +49,7 @@
       '  "environment_options": {'
       '    "config_file": "pw_env_setup/config.json"'
       '  },'
+      '  "macos_sdk.version": "11c29",'
       '  "recipe": "pw_presubmit"'
       '}'
     priority: 50
@@ -59,6 +59,11 @@
       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
diff --git a/generated/pigweed/for_review_only/buildbucket/try/pigweed-linux-main-host-disco-integration.textproto b/generated/pigweed/for_review_only/buildbucket/try/integration-pigweed-mac-gn-teensy.textproto
similarity index 87%
copy from generated/pigweed/for_review_only/buildbucket/try/pigweed-linux-main-host-disco-integration.textproto
copy to generated/pigweed/for_review_only/buildbucket/try/integration-pigweed-mac-gn-teensy.textproto
index e41225e..014805a 100644
--- a/generated/pigweed/for_review_only/buildbucket/try/pigweed-linux-main-host-disco-integration.textproto
+++ b/generated/pigweed/for_review_only/buildbucket/try/integration-pigweed-mac-gn-teensy.textproto
@@ -18,11 +18,10 @@
 }
 swarming {
   builders {
-    name: "pigweed-linux-main-host-disco-integration"
+    name: "integration-pigweed-mac-gn-teensy"
     swarming_host: "chromium-swarm.appspot.com"
-    dimensions: "cores:16"
     dimensions: "cpu:x64|x86-64"
-    dimensions: "os:Debian"
+    dimensions: "os:Mac"
     dimensions: "pool:luci.pigweed.try"
     exe {
       cipd_package: "pigweed/infra/recipe_bundles/pigweed.googlesource.com/infra/recipes"
@@ -33,7 +32,7 @@
       '{'
       '  "$pigweed/pw_presubmit": {'
       '    "step": ['
-      '      "gn_full_build_check"'
+      '      "gn_teensy_build"'
       '    ]'
       '  },'
       '  "checkout_options": {'
@@ -50,6 +49,7 @@
       '  "environment_options": {'
       '    "config_file": "pw_env_setup/config.json"'
       '  },'
+      '  "macos_sdk.version": "11c29",'
       '  "recipe": "pw_presubmit"'
       '}'
     priority: 50
@@ -59,6 +59,11 @@
       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
diff --git a/generated/pigweed/for_review_only/buildbucket/try/pigweed-linux-main-host-disco-integration.textproto b/generated/pigweed/for_review_only/buildbucket/try/integration-pigweed-mac-main-host-disco.textproto
similarity index 88%
copy from generated/pigweed/for_review_only/buildbucket/try/pigweed-linux-main-host-disco-integration.textproto
copy to generated/pigweed/for_review_only/buildbucket/try/integration-pigweed-mac-main-host-disco.textproto
index e41225e..ff16137 100644
--- a/generated/pigweed/for_review_only/buildbucket/try/pigweed-linux-main-host-disco-integration.textproto
+++ b/generated/pigweed/for_review_only/buildbucket/try/integration-pigweed-mac-main-host-disco.textproto
@@ -18,11 +18,10 @@
 }
 swarming {
   builders {
-    name: "pigweed-linux-main-host-disco-integration"
+    name: "integration-pigweed-mac-main-host-disco"
     swarming_host: "chromium-swarm.appspot.com"
-    dimensions: "cores:16"
     dimensions: "cpu:x64|x86-64"
-    dimensions: "os:Debian"
+    dimensions: "os:Mac"
     dimensions: "pool:luci.pigweed.try"
     exe {
       cipd_package: "pigweed/infra/recipe_bundles/pigweed.googlesource.com/infra/recipes"
@@ -50,6 +49,7 @@
       '  "environment_options": {'
       '    "config_file": "pw_env_setup/config.json"'
       '  },'
+      '  "macos_sdk.version": "11c29",'
       '  "recipe": "pw_presubmit"'
       '}'
     priority: 50
@@ -59,6 +59,11 @@
       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
diff --git a/generated/pigweed/for_review_only/buildbucket/try/pigweed-linux-main-host-disco-integration.textproto b/generated/pigweed/for_review_only/buildbucket/try/integration-pigweed-mac-qemu-compatibility-clang-armgcc.textproto
similarity index 83%
copy from generated/pigweed/for_review_only/buildbucket/try/pigweed-linux-main-host-disco-integration.textproto
copy to generated/pigweed/for_review_only/buildbucket/try/integration-pigweed-mac-qemu-compatibility-clang-armgcc.textproto
index e41225e..8549ce5 100644
--- a/generated/pigweed/for_review_only/buildbucket/try/pigweed-linux-main-host-disco-integration.textproto
+++ b/generated/pigweed/for_review_only/buildbucket/try/integration-pigweed-mac-qemu-compatibility-clang-armgcc.textproto
@@ -18,11 +18,10 @@
 }
 swarming {
   builders {
-    name: "pigweed-linux-main-host-disco-integration"
+    name: "integration-pigweed-mac-qemu-compatibility-clang-armgcc"
     swarming_host: "chromium-swarm.appspot.com"
-    dimensions: "cores:16"
     dimensions: "cpu:x64|x86-64"
-    dimensions: "os:Debian"
+    dimensions: "os:Mac"
     dimensions: "pool:luci.pigweed.try"
     exe {
       cipd_package: "pigweed/infra/recipe_bundles/pigweed.googlesource.com/infra/recipes"
@@ -33,7 +32,7 @@
       '{'
       '  "$pigweed/pw_presubmit": {'
       '    "step": ['
-      '      "gn_full_build_check"'
+      '      "gn_full_qemu_check"'
       '    ]'
       '  },'
       '  "checkout_options": {'
@@ -48,8 +47,9 @@
       '  },'
       '  "dry_run": true,'
       '  "environment_options": {'
-      '    "config_file": "pw_env_setup/config.json"'
+      '    "config_file": "pw_env_setup/compatibility.json"'
       '  },'
+      '  "macos_sdk.version": "11c29",'
       '  "recipe": "pw_presubmit"'
       '}'
     priority: 50
@@ -59,6 +59,11 @@
       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
diff --git a/generated/pigweed/for_review_only/buildbucket/try/pigweed-linux-main-host-disco-integration.textproto b/generated/pigweed/for_review_only/buildbucket/try/integration-pigweed-mac-qemu-main-clang-armgcc.textproto
similarity index 86%
copy from generated/pigweed/for_review_only/buildbucket/try/pigweed-linux-main-host-disco-integration.textproto
copy to generated/pigweed/for_review_only/buildbucket/try/integration-pigweed-mac-qemu-main-clang-armgcc.textproto
index e41225e..a69701d 100644
--- a/generated/pigweed/for_review_only/buildbucket/try/pigweed-linux-main-host-disco-integration.textproto
+++ b/generated/pigweed/for_review_only/buildbucket/try/integration-pigweed-mac-qemu-main-clang-armgcc.textproto
@@ -18,11 +18,10 @@
 }
 swarming {
   builders {
-    name: "pigweed-linux-main-host-disco-integration"
+    name: "integration-pigweed-mac-qemu-main-clang-armgcc"
     swarming_host: "chromium-swarm.appspot.com"
-    dimensions: "cores:16"
     dimensions: "cpu:x64|x86-64"
-    dimensions: "os:Debian"
+    dimensions: "os:Mac"
     dimensions: "pool:luci.pigweed.try"
     exe {
       cipd_package: "pigweed/infra/recipe_bundles/pigweed.googlesource.com/infra/recipes"
@@ -33,7 +32,7 @@
       '{'
       '  "$pigweed/pw_presubmit": {'
       '    "step": ['
-      '      "gn_full_build_check"'
+      '      "gn_full_qemu_check"'
       '    ]'
       '  },'
       '  "checkout_options": {'
@@ -50,6 +49,7 @@
       '  "environment_options": {'
       '    "config_file": "pw_env_setup/config.json"'
       '  },'
+      '  "macos_sdk.version": "11c29",'
       '  "recipe": "pw_presubmit"'
       '}'
     priority: 50
@@ -59,6 +59,11 @@
       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
diff --git a/generated/pigweed/for_review_only/buildbucket/try/pigweed-linux-main-host-disco-integration.textproto b/generated/pigweed/for_review_only/buildbucket/try/integration-pigweed-stm32f429i-combined.textproto
similarity index 94%
copy from generated/pigweed/for_review_only/buildbucket/try/pigweed-linux-main-host-disco-integration.textproto
copy to generated/pigweed/for_review_only/buildbucket/try/integration-pigweed-stm32f429i-combined.textproto
index e41225e..2eaff27 100644
--- a/generated/pigweed/for_review_only/buildbucket/try/pigweed-linux-main-host-disco-integration.textproto
+++ b/generated/pigweed/for_review_only/buildbucket/try/integration-pigweed-stm32f429i-combined.textproto
@@ -18,7 +18,7 @@
 }
 swarming {
   builders {
-    name: "pigweed-linux-main-host-disco-integration"
+    name: "integration-pigweed-stm32f429i-combined"
     swarming_host: "chromium-swarm.appspot.com"
     dimensions: "cores:16"
     dimensions: "cpu:x64|x86-64"
@@ -33,7 +33,7 @@
       '{'
       '  "$pigweed/pw_presubmit": {'
       '    "step": ['
-      '      "gn_full_build_check"'
+      '      "stm32f429i"'
       '    ]'
       '  },'
       '  "checkout_options": {'
diff --git a/generated/pigweed/for_review_only/buildbucket/try/pigweed-linux-main-host-disco-integration.textproto b/generated/pigweed/for_review_only/buildbucket/try/integration-pigweed-windows-bazel-test-host-clang.textproto
similarity index 88%
copy from generated/pigweed/for_review_only/buildbucket/try/pigweed-linux-main-host-disco-integration.textproto
copy to generated/pigweed/for_review_only/buildbucket/try/integration-pigweed-windows-bazel-test-host-clang.textproto
index e41225e..04ed52e 100644
--- a/generated/pigweed/for_review_only/buildbucket/try/pigweed-linux-main-host-disco-integration.textproto
+++ b/generated/pigweed/for_review_only/buildbucket/try/integration-pigweed-windows-bazel-test-host-clang.textproto
@@ -18,11 +18,11 @@
 }
 swarming {
   builders {
-    name: "pigweed-linux-main-host-disco-integration"
+    name: "integration-pigweed-windows-bazel-test-host-clang"
     swarming_host: "chromium-swarm.appspot.com"
     dimensions: "cores:16"
     dimensions: "cpu:x64|x86-64"
-    dimensions: "os:Debian"
+    dimensions: "os:Windows-10"
     dimensions: "pool:luci.pigweed.try"
     exe {
       cipd_package: "pigweed/infra/recipe_bundles/pigweed.googlesource.com/infra/recipes"
@@ -33,7 +33,7 @@
       '{'
       '  "$pigweed/pw_presubmit": {'
       '    "step": ['
-      '      "gn_full_build_check"'
+      '      "bazel_test"'
       '    ]'
       '  },'
       '  "checkout_options": {'
@@ -55,6 +55,11 @@
     priority: 50
     execution_timeout_secs: 2700
     caches {
+      name: "bazel"
+      path: "bazel"
+      wait_for_warm_cache_secs: 60
+    }
+    caches {
       name: "builder"
       path: "builder"
     }
diff --git a/generated/pigweed/for_review_only/buildbucket/try/pigweed-linux-main-host-disco-integration.textproto b/generated/pigweed/for_review_only/buildbucket/try/integration-pigweed-windows-compatibility-host-disco.textproto
similarity index 91%
copy from generated/pigweed/for_review_only/buildbucket/try/pigweed-linux-main-host-disco-integration.textproto
copy to generated/pigweed/for_review_only/buildbucket/try/integration-pigweed-windows-compatibility-host-disco.textproto
index e41225e..e5be81f 100644
--- a/generated/pigweed/for_review_only/buildbucket/try/pigweed-linux-main-host-disco-integration.textproto
+++ b/generated/pigweed/for_review_only/buildbucket/try/integration-pigweed-windows-compatibility-host-disco.textproto
@@ -18,11 +18,11 @@
 }
 swarming {
   builders {
-    name: "pigweed-linux-main-host-disco-integration"
+    name: "integration-pigweed-windows-compatibility-host-disco"
     swarming_host: "chromium-swarm.appspot.com"
     dimensions: "cores:16"
     dimensions: "cpu:x64|x86-64"
-    dimensions: "os:Debian"
+    dimensions: "os:Windows-10"
     dimensions: "pool:luci.pigweed.try"
     exe {
       cipd_package: "pigweed/infra/recipe_bundles/pigweed.googlesource.com/infra/recipes"
@@ -48,7 +48,7 @@
       '  },'
       '  "dry_run": true,'
       '  "environment_options": {'
-      '    "config_file": "pw_env_setup/config.json"'
+      '    "config_file": "pw_env_setup/compatibility.json"'
       '  },'
       '  "recipe": "pw_presubmit"'
       '}'
diff --git a/generated/pigweed/for_review_only/buildbucket/try/pigweed-linux-main-host-disco-integration.textproto b/generated/pigweed/for_review_only/buildbucket/try/integration-pigweed-windows-gn-hosttools.textproto
similarity index 89%
copy from generated/pigweed/for_review_only/buildbucket/try/pigweed-linux-main-host-disco-integration.textproto
copy to generated/pigweed/for_review_only/buildbucket/try/integration-pigweed-windows-gn-hosttools.textproto
index e41225e..7350c65 100644
--- a/generated/pigweed/for_review_only/buildbucket/try/pigweed-linux-main-host-disco-integration.textproto
+++ b/generated/pigweed/for_review_only/buildbucket/try/integration-pigweed-windows-gn-hosttools.textproto
@@ -18,11 +18,11 @@
 }
 swarming {
   builders {
-    name: "pigweed-linux-main-host-disco-integration"
+    name: "integration-pigweed-windows-gn-hosttools"
     swarming_host: "chromium-swarm.appspot.com"
     dimensions: "cores:16"
     dimensions: "cpu:x64|x86-64"
-    dimensions: "os:Debian"
+    dimensions: "os:Windows-10"
     dimensions: "pool:luci.pigweed.try"
     exe {
       cipd_package: "pigweed/infra/recipe_bundles/pigweed.googlesource.com/infra/recipes"
@@ -33,7 +33,7 @@
       '{'
       '  "$pigweed/pw_presubmit": {'
       '    "step": ['
-      '      "gn_full_build_check"'
+      '      "gn_host_tools"'
       '    ]'
       '  },'
       '  "checkout_options": {'
@@ -59,6 +59,11 @@
       path: "builder"
     }
     caches {
+      name: "go"
+      path: "go"
+      wait_for_warm_cache_secs: 120
+    }
+    caches {
       name: "pip"
       path: "pip"
       wait_for_warm_cache_secs: 60
diff --git a/generated/pigweed/for_review_only/buildbucket/try/pigweed-linux-main-host-disco-integration.textproto b/generated/pigweed/for_review_only/buildbucket/try/integration-pigweed-windows-gn-nanopb.textproto
similarity index 93%
copy from generated/pigweed/for_review_only/buildbucket/try/pigweed-linux-main-host-disco-integration.textproto
copy to generated/pigweed/for_review_only/buildbucket/try/integration-pigweed-windows-gn-nanopb.textproto
index e41225e..9fcc4c2 100644
--- a/generated/pigweed/for_review_only/buildbucket/try/pigweed-linux-main-host-disco-integration.textproto
+++ b/generated/pigweed/for_review_only/buildbucket/try/integration-pigweed-windows-gn-nanopb.textproto
@@ -18,11 +18,11 @@
 }
 swarming {
   builders {
-    name: "pigweed-linux-main-host-disco-integration"
+    name: "integration-pigweed-windows-gn-nanopb"
     swarming_host: "chromium-swarm.appspot.com"
     dimensions: "cores:16"
     dimensions: "cpu:x64|x86-64"
-    dimensions: "os:Debian"
+    dimensions: "os:Windows-10"
     dimensions: "pool:luci.pigweed.try"
     exe {
       cipd_package: "pigweed/infra/recipe_bundles/pigweed.googlesource.com/infra/recipes"
@@ -33,7 +33,7 @@
       '{'
       '  "$pigweed/pw_presubmit": {'
       '    "step": ['
-      '      "gn_full_build_check"'
+      '      "gn_nanopb_build"'
       '    ]'
       '  },'
       '  "checkout_options": {'
diff --git a/generated/pigweed/for_review_only/buildbucket/try/pigweed-linux-main-host-disco-integration.textproto b/generated/pigweed/for_review_only/buildbucket/try/integration-pigweed-windows-main-host-disco.textproto
similarity index 95%
copy from generated/pigweed/for_review_only/buildbucket/try/pigweed-linux-main-host-disco-integration.textproto
copy to generated/pigweed/for_review_only/buildbucket/try/integration-pigweed-windows-main-host-disco.textproto
index e41225e..17280cf 100644
--- a/generated/pigweed/for_review_only/buildbucket/try/pigweed-linux-main-host-disco-integration.textproto
+++ b/generated/pigweed/for_review_only/buildbucket/try/integration-pigweed-windows-main-host-disco.textproto
@@ -18,11 +18,11 @@
 }
 swarming {
   builders {
-    name: "pigweed-linux-main-host-disco-integration"
+    name: "integration-pigweed-windows-main-host-disco"
     swarming_host: "chromium-swarm.appspot.com"
     dimensions: "cores:16"
     dimensions: "cpu:x64|x86-64"
-    dimensions: "os:Debian"
+    dimensions: "os:Windows-10"
     dimensions: "pool:luci.pigweed.try"
     exe {
       cipd_package: "pigweed/infra/recipe_bundles/pigweed.googlesource.com/infra/recipes"
diff --git a/generated/pigweed/for_review_only/buildbucket/try/pigweed-linux-main-host-disco-integration.textproto b/generated/pigweed/for_review_only/buildbucket/try/integration-pigweed-windows-qemu-compatibility-clang-armgcc.textproto
similarity index 89%
copy from generated/pigweed/for_review_only/buildbucket/try/pigweed-linux-main-host-disco-integration.textproto
copy to generated/pigweed/for_review_only/buildbucket/try/integration-pigweed-windows-qemu-compatibility-clang-armgcc.textproto
index e41225e..9697af7 100644
--- a/generated/pigweed/for_review_only/buildbucket/try/pigweed-linux-main-host-disco-integration.textproto
+++ b/generated/pigweed/for_review_only/buildbucket/try/integration-pigweed-windows-qemu-compatibility-clang-armgcc.textproto
@@ -18,11 +18,11 @@
 }
 swarming {
   builders {
-    name: "pigweed-linux-main-host-disco-integration"
+    name: "integration-pigweed-windows-qemu-compatibility-clang-armgcc"
     swarming_host: "chromium-swarm.appspot.com"
     dimensions: "cores:16"
     dimensions: "cpu:x64|x86-64"
-    dimensions: "os:Debian"
+    dimensions: "os:Windows-10"
     dimensions: "pool:luci.pigweed.try"
     exe {
       cipd_package: "pigweed/infra/recipe_bundles/pigweed.googlesource.com/infra/recipes"
@@ -33,7 +33,7 @@
       '{'
       '  "$pigweed/pw_presubmit": {'
       '    "step": ['
-      '      "gn_full_build_check"'
+      '      "gn_full_qemu_check"'
       '    ]'
       '  },'
       '  "checkout_options": {'
@@ -48,7 +48,7 @@
       '  },'
       '  "dry_run": true,'
       '  "environment_options": {'
-      '    "config_file": "pw_env_setup/config.json"'
+      '    "config_file": "pw_env_setup/compatibility.json"'
       '  },'
       '  "recipe": "pw_presubmit"'
       '}'
diff --git a/generated/pigweed/for_review_only/buildbucket/try/pigweed-linux-main-host-disco-integration.textproto b/generated/pigweed/for_review_only/buildbucket/try/integration-pigweed-windows-qemu-main-clang-armgcc.textproto
similarity index 92%
copy from generated/pigweed/for_review_only/buildbucket/try/pigweed-linux-main-host-disco-integration.textproto
copy to generated/pigweed/for_review_only/buildbucket/try/integration-pigweed-windows-qemu-main-clang-armgcc.textproto
index e41225e..9a59784 100644
--- a/generated/pigweed/for_review_only/buildbucket/try/pigweed-linux-main-host-disco-integration.textproto
+++ b/generated/pigweed/for_review_only/buildbucket/try/integration-pigweed-windows-qemu-main-clang-armgcc.textproto
@@ -18,11 +18,11 @@
 }
 swarming {
   builders {
-    name: "pigweed-linux-main-host-disco-integration"
+    name: "integration-pigweed-windows-qemu-main-clang-armgcc"
     swarming_host: "chromium-swarm.appspot.com"
     dimensions: "cores:16"
     dimensions: "cpu:x64|x86-64"
-    dimensions: "os:Debian"
+    dimensions: "os:Windows-10"
     dimensions: "pool:luci.pigweed.try"
     exe {
       cipd_package: "pigweed/infra/recipe_bundles/pigweed.googlesource.com/infra/recipes"
@@ -33,7 +33,7 @@
       '{'
       '  "$pigweed/pw_presubmit": {'
       '    "step": ['
-      '      "gn_full_build_check"'
+      '      "gn_full_qemu_check"'
       '    ]'
       '  },'
       '  "checkout_options": {'
diff --git a/generated/pigweed/luci/cr-buildbucket.cfg b/generated/pigweed/luci/cr-buildbucket.cfg
index f516adb..6251cb4 100644
--- a/generated/pigweed/luci/cr-buildbucket.cfg
+++ b/generated/pigweed/luci/cr-buildbucket.cfg
@@ -641,6 +641,2121 @@
       }
     }
     builders {
+      name: "integration-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:
+        '{'
+        '  "checkout_options": {'
+        '    "branch": "main",'
+        '    "equivalent_remotes": [],'
+        '    "initialize_submodules": true,'
+        '    "match_branch": true,'
+        '    "remote": "https://pigweed.googlesource.com/pigweed/integration",'
+        '    "root_subdirectory": "pigweed",'
+        '    "use_repo": false,'
+        '    "use_trigger": true'
+        '  },'
+        '  "command": "python -m pw_cli --directory $PW_PROJECT_ROOT --loglevel debug presubmit --step gn_gen_check",'
+        '  "dry_run": true,'
+        '  "environment_variables": ['
+        '    "PW_BOOTSTRAP_PYTHON=python2"'
+        '  ],'
+        '  "recipe": "envtest"'
+        '}'
+      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
+      }
+    }
+    builders {
+      name: "integration-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:
+        '{'
+        '  "checkout_options": {'
+        '    "branch": "main",'
+        '    "equivalent_remotes": [],'
+        '    "initialize_submodules": true,'
+        '    "match_branch": true,'
+        '    "remote": "https://pigweed.googlesource.com/pigweed/integration",'
+        '    "root_subdirectory": "pigweed",'
+        '    "use_repo": false,'
+        '    "use_trigger": true'
+        '  },'
+        '  "command": "python -m pw_cli --directory $PW_PROJECT_ROOT --loglevel debug presubmit --step gn_gen_check",'
+        '  "dry_run": true,'
+        '  "environment_variables": ['
+        '    "PW_BOOTSTRAP_PYTHON=python3"'
+        '  ],'
+        '  "recipe": "envtest"'
+        '}'
+      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
+      }
+    }
+    builders {
+      name: "integration-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:
+        '{'
+        '  "checkout_options": {'
+        '    "branch": "main",'
+        '    "equivalent_remotes": [],'
+        '    "initialize_submodules": true,'
+        '    "match_branch": true,'
+        '    "remote": "https://pigweed.googlesource.com/pigweed/integration",'
+        '    "root_subdirectory": "pigweed",'
+        '    "use_repo": false,'
+        '    "use_trigger": true'
+        '  },'
+        '  "command": "python -m pw_cli --directory $PW_PROJECT_ROOT --loglevel debug presubmit --step gn_gen_check",'
+        '  "dry_run": true,'
+        '  "macos_sdk.version": "11c29",'
+        '  "recipe": "envtest"'
+        '}'
+      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
+      }
+    }
+    builders {
+      name: "integration-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:
+        '{'
+        '  "checkout_options": {'
+        '    "branch": "main",'
+        '    "equivalent_remotes": [],'
+        '    "initialize_submodules": true,'
+        '    "match_branch": true,'
+        '    "remote": "https://pigweed.googlesource.com/pigweed/integration",'
+        '    "root_subdirectory": "pigweed",'
+        '    "use_repo": false,'
+        '    "use_trigger": true'
+        '  },'
+        '  "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: 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
+      }
+    }
+    builders {
+      name: "integration-integration-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/pw_presubmit": {'
+        '    "program": ['
+        '      "lintformat"'
+        '    ]'
+        '  },'
+        '  "checkout_options": {'
+        '    "branch": "main",'
+        '    "equivalent_remotes": [],'
+        '    "initialize_submodules": true,'
+        '    "match_branch": true,'
+        '    "remote": "https://pigweed.googlesource.com/pigweed/integration",'
+        '    "root_subdirectory": "pigweed",'
+        '    "use_repo": false,'
+        '    "use_trigger": true'
+        '  },'
+        '  "dry_run": true,'
+        '  "environment_options": {'
+        '    "config_file": "pw_env_setup/config.json"'
+        '  },'
+        '  "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
+      }
+    }
+    builders {
+      name: "integration-pigweed-linux-bazel-build-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/pw_presubmit": {'
+        '    "step": ['
+        '      "bazel_build"'
+        '    ]'
+        '  },'
+        '  "checkout_options": {'
+        '    "branch": "main",'
+        '    "equivalent_remotes": [],'
+        '    "initialize_submodules": true,'
+        '    "match_branch": true,'
+        '    "remote": "https://pigweed.googlesource.com/pigweed/integration",'
+        '    "root_subdirectory": "pigweed",'
+        '    "use_repo": false,'
+        '    "use_trigger": true'
+        '  },'
+        '  "dry_run": true,'
+        '  "environment_options": {'
+        '    "config_file": "pw_env_setup/config.json"'
+        '  },'
+        '  "recipe": "pw_presubmit"'
+        '}'
+      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
+      }
+    }
+    builders {
+      name: "integration-pigweed-linux-bazel-test-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/pw_presubmit": {'
+        '    "step": ['
+        '      "bazel_test"'
+        '    ]'
+        '  },'
+        '  "checkout_options": {'
+        '    "branch": "main",'
+        '    "equivalent_remotes": [],'
+        '    "initialize_submodules": true,'
+        '    "match_branch": true,'
+        '    "remote": "https://pigweed.googlesource.com/pigweed/integration",'
+        '    "root_subdirectory": "pigweed",'
+        '    "use_repo": false,'
+        '    "use_trigger": true'
+        '  },'
+        '  "dry_run": true,'
+        '  "environment_options": {'
+        '    "config_file": "pw_env_setup/config.json"'
+        '  },'
+        '  "recipe": "pw_presubmit"'
+        '}'
+      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
+      }
+    }
+    builders {
+      name: "integration-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/pw_presubmit": {'
+        '    "step": ['
+        '      "cmake_clang"'
+        '    ]'
+        '  },'
+        '  "checkout_options": {'
+        '    "branch": "main",'
+        '    "equivalent_remotes": [],'
+        '    "initialize_submodules": true,'
+        '    "match_branch": true,'
+        '    "remote": "https://pigweed.googlesource.com/pigweed/integration",'
+        '    "root_subdirectory": "pigweed",'
+        '    "use_repo": false,'
+        '    "use_trigger": true'
+        '  },'
+        '  "dry_run": true,'
+        '  "environment_options": {'
+        '    "config_file": "pw_env_setup/config.json"'
+        '  },'
+        '  "recipe": "pw_presubmit"'
+        '}'
+      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
+      }
+    }
+    builders {
+      name: "integration-pigweed-linux-cmake-host-gcc"
+      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/pw_presubmit": {'
+        '    "step": ['
+        '      "cmake_gcc"'
+        '    ]'
+        '  },'
+        '  "checkout_options": {'
+        '    "branch": "main",'
+        '    "equivalent_remotes": [],'
+        '    "initialize_submodules": true,'
+        '    "match_branch": true,'
+        '    "remote": "https://pigweed.googlesource.com/pigweed/integration",'
+        '    "root_subdirectory": "pigweed",'
+        '    "use_repo": false,'
+        '    "use_trigger": true'
+        '  },'
+        '  "dry_run": true,'
+        '  "environment_options": {'
+        '    "config_file": "pw_env_setup/config.json"'
+        '  },'
+        '  "recipe": "pw_presubmit"'
+        '}'
+      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
+      }
+    }
+    builders {
+      name: "integration-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/pw_presubmit": {'
+        '    "step": ['
+        '      "gn_full_build_check"'
+        '    ]'
+        '  },'
+        '  "checkout_options": {'
+        '    "branch": "main",'
+        '    "equivalent_remotes": [],'
+        '    "initialize_submodules": true,'
+        '    "match_branch": true,'
+        '    "remote": "https://pigweed.googlesource.com/pigweed/integration",'
+        '    "root_subdirectory": "pigweed",'
+        '    "use_repo": false,'
+        '    "use_trigger": true'
+        '  },'
+        '  "dry_run": true,'
+        '  "environment_options": {'
+        '    "config_file": "pw_env_setup/compatibility.json"'
+        '  },'
+        '  "recipe": "pw_presubmit"'
+        '}'
+      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
+      }
+    }
+    builders {
+      name: "integration-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/pw_presubmit": {'
+        '    "step": ['
+        '      "gn_crypto_boringssl_build"'
+        '    ]'
+        '  },'
+        '  "checkout_options": {'
+        '    "branch": "main",'
+        '    "equivalent_remotes": [],'
+        '    "initialize_submodules": true,'
+        '    "match_branch": true,'
+        '    "remote": "https://pigweed.googlesource.com/pigweed/integration",'
+        '    "root_subdirectory": "pigweed",'
+        '    "use_repo": false,'
+        '    "use_trigger": true'
+        '  },'
+        '  "dry_run": true,'
+        '  "environment_options": {'
+        '    "config_file": "pw_env_setup/config.json"'
+        '  },'
+        '  "recipe": "pw_presubmit"'
+        '}'
+      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
+      }
+    }
+    builders {
+      name: "integration-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/pw_presubmit": {'
+        '    "step": ['
+        '      "gn_crypto_micro_ecc_build"'
+        '    ]'
+        '  },'
+        '  "checkout_options": {'
+        '    "branch": "main",'
+        '    "equivalent_remotes": [],'
+        '    "initialize_submodules": true,'
+        '    "match_branch": true,'
+        '    "remote": "https://pigweed.googlesource.com/pigweed/integration",'
+        '    "root_subdirectory": "pigweed",'
+        '    "use_repo": false,'
+        '    "use_trigger": true'
+        '  },'
+        '  "dry_run": true,'
+        '  "environment_options": {'
+        '    "config_file": "pw_env_setup/config.json"'
+        '  },'
+        '  "recipe": "pw_presubmit"'
+        '}'
+      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
+      }
+    }
+    builders {
+      name: "integration-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/pw_presubmit": {'
+        '    "step": ['
+        '      "gn_crypto_mbedtls_build"'
+        '    ]'
+        '  },'
+        '  "checkout_options": {'
+        '    "branch": "main",'
+        '    "equivalent_remotes": [],'
+        '    "initialize_submodules": true,'
+        '    "match_branch": true,'
+        '    "remote": "https://pigweed.googlesource.com/pigweed/integration",'
+        '    "root_subdirectory": "pigweed",'
+        '    "use_repo": false,'
+        '    "use_trigger": true'
+        '  },'
+        '  "dry_run": true,'
+        '  "environment_options": {'
+        '    "config_file": "pw_env_setup/config.json"'
+        '  },'
+        '  "recipe": "pw_presubmit"'
+        '}'
+      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
+      }
+    }
+    builders {
+      name: "integration-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/pw_presubmit": {'
+        '    "step": ['
+        '      "gn_nanopb_build"'
+        '    ]'
+        '  },'
+        '  "checkout_options": {'
+        '    "branch": "main",'
+        '    "equivalent_remotes": [],'
+        '    "initialize_submodules": true,'
+        '    "match_branch": true,'
+        '    "remote": "https://pigweed.googlesource.com/pigweed/integration",'
+        '    "root_subdirectory": "pigweed",'
+        '    "use_repo": false,'
+        '    "use_trigger": true'
+        '  },'
+        '  "dry_run": true,'
+        '  "environment_options": {'
+        '    "config_file": "pw_env_setup/config.json"'
+        '  },'
+        '  "recipe": "pw_presubmit"'
+        '}'
+      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
+      }
+    }
+    builders {
+      name: "integration-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/pw_presubmit": {'
+        '    "step": ['
+        '      "gn_software_update_build"'
+        '    ]'
+        '  },'
+        '  "checkout_options": {'
+        '    "branch": "main",'
+        '    "equivalent_remotes": [],'
+        '    "initialize_submodules": true,'
+        '    "match_branch": true,'
+        '    "remote": "https://pigweed.googlesource.com/pigweed/integration",'
+        '    "root_subdirectory": "pigweed",'
+        '    "use_repo": false,'
+        '    "use_trigger": true'
+        '  },'
+        '  "dry_run": true,'
+        '  "environment_options": {'
+        '    "config_file": "pw_env_setup/config.json"'
+        '  },'
+        '  "recipe": "pw_presubmit"'
+        '}'
+      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
+      }
+    }
+    builders {
+      name: "integration-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/pw_presubmit": {'
+        '    "step": ['
+        '      "gn_teensy_build"'
+        '    ]'
+        '  },'
+        '  "checkout_options": {'
+        '    "branch": "main",'
+        '    "equivalent_remotes": [],'
+        '    "initialize_submodules": true,'
+        '    "match_branch": true,'
+        '    "remote": "https://pigweed.googlesource.com/pigweed/integration",'
+        '    "root_subdirectory": "pigweed",'
+        '    "use_repo": false,'
+        '    "use_trigger": true'
+        '  },'
+        '  "dry_run": true,'
+        '  "environment_options": {'
+        '    "config_file": "pw_env_setup/config.json"'
+        '  },'
+        '  "recipe": "pw_presubmit"'
+        '}'
+      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
+      }
+    }
+    builders {
+      name: "integration-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/pw_presubmit": {'
+        '    "step": ['
+        '      "gn_full_build_check"'
+        '    ]'
+        '  },'
+        '  "checkout_options": {'
+        '    "branch": "main",'
+        '    "equivalent_remotes": [],'
+        '    "initialize_submodules": true,'
+        '    "match_branch": true,'
+        '    "remote": "https://pigweed.googlesource.com/pigweed/integration",'
+        '    "root_subdirectory": "pigweed",'
+        '    "use_repo": false,'
+        '    "use_trigger": true'
+        '  },'
+        '  "dry_run": true,'
+        '  "environment_options": {'
+        '    "config_file": "pw_env_setup/config.json"'
+        '  },'
+        '  "recipe": "pw_presubmit"'
+        '}'
+      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
+      }
+    }
+    builders {
+      name: "integration-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/pw_presubmit": {'
+        '    "step": ['
+        '      "gn_full_qemu_check"'
+        '    ]'
+        '  },'
+        '  "checkout_options": {'
+        '    "branch": "main",'
+        '    "equivalent_remotes": [],'
+        '    "initialize_submodules": true,'
+        '    "match_branch": true,'
+        '    "remote": "https://pigweed.googlesource.com/pigweed/integration",'
+        '    "root_subdirectory": "pigweed",'
+        '    "use_repo": false,'
+        '    "use_trigger": true'
+        '  },'
+        '  "dry_run": true,'
+        '  "environment_options": {'
+        '    "config_file": "pw_env_setup/compatibility.json"'
+        '  },'
+        '  "recipe": "pw_presubmit"'
+        '}'
+      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
+      }
+    }
+    builders {
+      name: "integration-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/pw_presubmit": {'
+        '    "step": ['
+        '      "gn_full_qemu_check"'
+        '    ]'
+        '  },'
+        '  "checkout_options": {'
+        '    "branch": "main",'
+        '    "equivalent_remotes": [],'
+        '    "initialize_submodules": true,'
+        '    "match_branch": true,'
+        '    "remote": "https://pigweed.googlesource.com/pigweed/integration",'
+        '    "root_subdirectory": "pigweed",'
+        '    "use_repo": false,'
+        '    "use_trigger": true'
+        '  },'
+        '  "dry_run": true,'
+        '  "environment_options": {'
+        '    "config_file": "pw_env_setup/config.json"'
+        '  },'
+        '  "recipe": "pw_presubmit"'
+        '}'
+      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
+      }
+    }
+    builders {
+      name: "integration-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/pw_presubmit": {'
+        '    "step": ['
+        '      "asan"'
+        '    ]'
+        '  },'
+        '  "checkout_options": {'
+        '    "branch": "main",'
+        '    "equivalent_remotes": [],'
+        '    "initialize_submodules": true,'
+        '    "match_branch": true,'
+        '    "remote": "https://pigweed.googlesource.com/pigweed/integration",'
+        '    "root_subdirectory": "pigweed",'
+        '    "use_repo": false,'
+        '    "use_trigger": true'
+        '  },'
+        '  "dry_run": true,'
+        '  "environment_options": {'
+        '    "config_file": "pw_env_setup/config.json"'
+        '  },'
+        '  "recipe": "pw_presubmit"'
+        '}'
+      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
+      }
+    }
+    builders {
+      name: "integration-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/pw_presubmit": {'
+        '    "step": ['
+        '      "tsan"'
+        '    ]'
+        '  },'
+        '  "checkout_options": {'
+        '    "branch": "main",'
+        '    "equivalent_remotes": [],'
+        '    "initialize_submodules": true,'
+        '    "match_branch": true,'
+        '    "remote": "https://pigweed.googlesource.com/pigweed/integration",'
+        '    "root_subdirectory": "pigweed",'
+        '    "use_repo": false,'
+        '    "use_trigger": true'
+        '  },'
+        '  "dry_run": true,'
+        '  "environment_options": {'
+        '    "config_file": "pw_env_setup/config.json"'
+        '  },'
+        '  "recipe": "pw_presubmit"'
+        '}'
+      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
+      }
+    }
+    builders {
+      name: "integration-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/pw_presubmit": {'
+        '    "step": ['
+        '      "ubsan"'
+        '    ]'
+        '  },'
+        '  "checkout_options": {'
+        '    "branch": "main",'
+        '    "equivalent_remotes": [],'
+        '    "initialize_submodules": true,'
+        '    "match_branch": true,'
+        '    "remote": "https://pigweed.googlesource.com/pigweed/integration",'
+        '    "root_subdirectory": "pigweed",'
+        '    "use_repo": false,'
+        '    "use_trigger": true'
+        '  },'
+        '  "dry_run": true,'
+        '  "environment_options": {'
+        '    "config_file": "pw_env_setup/config.json"'
+        '  },'
+        '  "recipe": "pw_presubmit"'
+        '}'
+      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
+      }
+    }
+    builders {
+      name: "integration-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/pw_presubmit": {'
+        '    "step": ['
+        '      "static_analysis"'
+        '    ]'
+        '  },'
+        '  "checkout_options": {'
+        '    "branch": "main",'
+        '    "equivalent_remotes": [],'
+        '    "initialize_submodules": true,'
+        '    "match_branch": true,'
+        '    "remote": "https://pigweed.googlesource.com/pigweed/integration",'
+        '    "root_subdirectory": "pigweed",'
+        '    "use_repo": false,'
+        '    "use_trigger": true'
+        '  },'
+        '  "dry_run": true,'
+        '  "environment_options": {'
+        '    "config_file": "pw_env_setup/config.json"'
+        '  },'
+        '  "recipe": "pw_presubmit"'
+        '}'
+      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
+      }
+    }
+    builders {
+      name: "integration-pigweed-mac-bazel-test-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/pw_presubmit": {'
+        '    "step": ['
+        '      "bazel_test"'
+        '    ]'
+        '  },'
+        '  "checkout_options": {'
+        '    "branch": "main",'
+        '    "equivalent_remotes": [],'
+        '    "initialize_submodules": true,'
+        '    "match_branch": true,'
+        '    "remote": "https://pigweed.googlesource.com/pigweed/integration",'
+        '    "root_subdirectory": "pigweed",'
+        '    "use_repo": false,'
+        '    "use_trigger": true'
+        '  },'
+        '  "dry_run": true,'
+        '  "environment_options": {'
+        '    "config_file": "pw_env_setup/config.json"'
+        '  },'
+        '  "macos_sdk.version": "11c29",'
+        '  "recipe": "pw_presubmit"'
+        '}'
+      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
+      }
+    }
+    builders {
+      name: "integration-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/pw_presubmit": {'
+        '    "step": ['
+        '      "cmake_clang"'
+        '    ]'
+        '  },'
+        '  "checkout_options": {'
+        '    "branch": "main",'
+        '    "equivalent_remotes": [],'
+        '    "initialize_submodules": true,'
+        '    "match_branch": true,'
+        '    "remote": "https://pigweed.googlesource.com/pigweed/integration",'
+        '    "root_subdirectory": "pigweed",'
+        '    "use_repo": false,'
+        '    "use_trigger": true'
+        '  },'
+        '  "dry_run": true,'
+        '  "environment_options": {'
+        '    "config_file": "pw_env_setup/config.json"'
+        '  },'
+        '  "macos_sdk.version": "11c29",'
+        '  "recipe": "pw_presubmit"'
+        '}'
+      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
+      }
+    }
+    builders {
+      name: "integration-pigweed-mac-cmake-host-gcc"
+      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/pw_presubmit": {'
+        '    "step": ['
+        '      "cmake_gcc"'
+        '    ]'
+        '  },'
+        '  "checkout_options": {'
+        '    "branch": "main",'
+        '    "equivalent_remotes": [],'
+        '    "initialize_submodules": true,'
+        '    "match_branch": true,'
+        '    "remote": "https://pigweed.googlesource.com/pigweed/integration",'
+        '    "root_subdirectory": "pigweed",'
+        '    "use_repo": false,'
+        '    "use_trigger": true'
+        '  },'
+        '  "dry_run": true,'
+        '  "environment_options": {'
+        '    "config_file": "pw_env_setup/config.json"'
+        '  },'
+        '  "macos_sdk.version": "11c29",'
+        '  "recipe": "pw_presubmit"'
+        '}'
+      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
+      }
+    }
+    builders {
+      name: "integration-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/pw_presubmit": {'
+        '    "step": ['
+        '      "gn_full_build_check"'
+        '    ]'
+        '  },'
+        '  "checkout_options": {'
+        '    "branch": "main",'
+        '    "equivalent_remotes": [],'
+        '    "initialize_submodules": true,'
+        '    "match_branch": true,'
+        '    "remote": "https://pigweed.googlesource.com/pigweed/integration",'
+        '    "root_subdirectory": "pigweed",'
+        '    "use_repo": false,'
+        '    "use_trigger": true'
+        '  },'
+        '  "dry_run": true,'
+        '  "environment_options": {'
+        '    "config_file": "pw_env_setup/compatibility.json"'
+        '  },'
+        '  "macos_sdk.version": "11c29",'
+        '  "recipe": "pw_presubmit"'
+        '}'
+      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
+      }
+    }
+    builders {
+      name: "integration-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/pw_presubmit": {'
+        '    "step": ['
+        '      "gn_nanopb_build"'
+        '    ]'
+        '  },'
+        '  "checkout_options": {'
+        '    "branch": "main",'
+        '    "equivalent_remotes": [],'
+        '    "initialize_submodules": true,'
+        '    "match_branch": true,'
+        '    "remote": "https://pigweed.googlesource.com/pigweed/integration",'
+        '    "root_subdirectory": "pigweed",'
+        '    "use_repo": false,'
+        '    "use_trigger": true'
+        '  },'
+        '  "dry_run": true,'
+        '  "environment_options": {'
+        '    "config_file": "pw_env_setup/config.json"'
+        '  },'
+        '  "macos_sdk.version": "11c29",'
+        '  "recipe": "pw_presubmit"'
+        '}'
+      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
+      }
+    }
+    builders {
+      name: "integration-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/pw_presubmit": {'
+        '    "step": ['
+        '      "gn_teensy_build"'
+        '    ]'
+        '  },'
+        '  "checkout_options": {'
+        '    "branch": "main",'
+        '    "equivalent_remotes": [],'
+        '    "initialize_submodules": true,'
+        '    "match_branch": true,'
+        '    "remote": "https://pigweed.googlesource.com/pigweed/integration",'
+        '    "root_subdirectory": "pigweed",'
+        '    "use_repo": false,'
+        '    "use_trigger": true'
+        '  },'
+        '  "dry_run": true,'
+        '  "environment_options": {'
+        '    "config_file": "pw_env_setup/config.json"'
+        '  },'
+        '  "macos_sdk.version": "11c29",'
+        '  "recipe": "pw_presubmit"'
+        '}'
+      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
+      }
+    }
+    builders {
+      name: "integration-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/pw_presubmit": {'
+        '    "step": ['
+        '      "gn_full_build_check"'
+        '    ]'
+        '  },'
+        '  "checkout_options": {'
+        '    "branch": "main",'
+        '    "equivalent_remotes": [],'
+        '    "initialize_submodules": true,'
+        '    "match_branch": true,'
+        '    "remote": "https://pigweed.googlesource.com/pigweed/integration",'
+        '    "root_subdirectory": "pigweed",'
+        '    "use_repo": false,'
+        '    "use_trigger": true'
+        '  },'
+        '  "dry_run": true,'
+        '  "environment_options": {'
+        '    "config_file": "pw_env_setup/config.json"'
+        '  },'
+        '  "macos_sdk.version": "11c29",'
+        '  "recipe": "pw_presubmit"'
+        '}'
+      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
+      }
+    }
+    builders {
+      name: "integration-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/pw_presubmit": {'
+        '    "step": ['
+        '      "gn_full_qemu_check"'
+        '    ]'
+        '  },'
+        '  "checkout_options": {'
+        '    "branch": "main",'
+        '    "equivalent_remotes": [],'
+        '    "initialize_submodules": true,'
+        '    "match_branch": true,'
+        '    "remote": "https://pigweed.googlesource.com/pigweed/integration",'
+        '    "root_subdirectory": "pigweed",'
+        '    "use_repo": false,'
+        '    "use_trigger": true'
+        '  },'
+        '  "dry_run": true,'
+        '  "environment_options": {'
+        '    "config_file": "pw_env_setup/compatibility.json"'
+        '  },'
+        '  "macos_sdk.version": "11c29",'
+        '  "recipe": "pw_presubmit"'
+        '}'
+      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
+      }
+    }
+    builders {
+      name: "integration-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/pw_presubmit": {'
+        '    "step": ['
+        '      "gn_full_qemu_check"'
+        '    ]'
+        '  },'
+        '  "checkout_options": {'
+        '    "branch": "main",'
+        '    "equivalent_remotes": [],'
+        '    "initialize_submodules": true,'
+        '    "match_branch": true,'
+        '    "remote": "https://pigweed.googlesource.com/pigweed/integration",'
+        '    "root_subdirectory": "pigweed",'
+        '    "use_repo": false,'
+        '    "use_trigger": true'
+        '  },'
+        '  "dry_run": true,'
+        '  "environment_options": {'
+        '    "config_file": "pw_env_setup/config.json"'
+        '  },'
+        '  "macos_sdk.version": "11c29",'
+        '  "recipe": "pw_presubmit"'
+        '}'
+      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
+      }
+    }
+    builders {
+      name: "integration-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/pw_presubmit": {'
+        '    "step": ['
+        '      "stm32f429i"'
+        '    ]'
+        '  },'
+        '  "checkout_options": {'
+        '    "branch": "main",'
+        '    "equivalent_remotes": [],'
+        '    "initialize_submodules": true,'
+        '    "match_branch": true,'
+        '    "remote": "https://pigweed.googlesource.com/pigweed/integration",'
+        '    "root_subdirectory": "pigweed",'
+        '    "use_repo": false,'
+        '    "use_trigger": true'
+        '  },'
+        '  "dry_run": true,'
+        '  "environment_options": {'
+        '    "config_file": "pw_env_setup/config.json"'
+        '  },'
+        '  "recipe": "pw_presubmit"'
+        '}'
+      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
+      }
+    }
+    builders {
+      name: "integration-pigweed-windows-bazel-test-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/pw_presubmit": {'
+        '    "step": ['
+        '      "bazel_test"'
+        '    ]'
+        '  },'
+        '  "checkout_options": {'
+        '    "branch": "main",'
+        '    "equivalent_remotes": [],'
+        '    "initialize_submodules": true,'
+        '    "match_branch": true,'
+        '    "remote": "https://pigweed.googlesource.com/pigweed/integration",'
+        '    "root_subdirectory": "pigweed",'
+        '    "use_repo": false,'
+        '    "use_trigger": true'
+        '  },'
+        '  "dry_run": true,'
+        '  "environment_options": {'
+        '    "config_file": "pw_env_setup/config.json"'
+        '  },'
+        '  "recipe": "pw_presubmit"'
+        '}'
+      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
+      }
+    }
+    builders {
+      name: "integration-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/pw_presubmit": {'
+        '    "step": ['
+        '      "gn_full_build_check"'
+        '    ]'
+        '  },'
+        '  "checkout_options": {'
+        '    "branch": "main",'
+        '    "equivalent_remotes": [],'
+        '    "initialize_submodules": true,'
+        '    "match_branch": true,'
+        '    "remote": "https://pigweed.googlesource.com/pigweed/integration",'
+        '    "root_subdirectory": "pigweed",'
+        '    "use_repo": false,'
+        '    "use_trigger": true'
+        '  },'
+        '  "dry_run": true,'
+        '  "environment_options": {'
+        '    "config_file": "pw_env_setup/compatibility.json"'
+        '  },'
+        '  "recipe": "pw_presubmit"'
+        '}'
+      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
+      }
+    }
+    builders {
+      name: "integration-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/pw_presubmit": {'
+        '    "step": ['
+        '      "gn_nanopb_build"'
+        '    ]'
+        '  },'
+        '  "checkout_options": {'
+        '    "branch": "main",'
+        '    "equivalent_remotes": [],'
+        '    "initialize_submodules": true,'
+        '    "match_branch": true,'
+        '    "remote": "https://pigweed.googlesource.com/pigweed/integration",'
+        '    "root_subdirectory": "pigweed",'
+        '    "use_repo": false,'
+        '    "use_trigger": true'
+        '  },'
+        '  "dry_run": true,'
+        '  "environment_options": {'
+        '    "config_file": "pw_env_setup/config.json"'
+        '  },'
+        '  "recipe": "pw_presubmit"'
+        '}'
+      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
+      }
+    }
+    builders {
+      name: "integration-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/pw_presubmit": {'
+        '    "step": ['
+        '      "gn_full_build_check"'
+        '    ]'
+        '  },'
+        '  "checkout_options": {'
+        '    "branch": "main",'
+        '    "equivalent_remotes": [],'
+        '    "initialize_submodules": true,'
+        '    "match_branch": true,'
+        '    "remote": "https://pigweed.googlesource.com/pigweed/integration",'
+        '    "root_subdirectory": "pigweed",'
+        '    "use_repo": false,'
+        '    "use_trigger": true'
+        '  },'
+        '  "dry_run": true,'
+        '  "environment_options": {'
+        '    "config_file": "pw_env_setup/config.json"'
+        '  },'
+        '  "recipe": "pw_presubmit"'
+        '}'
+      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
+      }
+    }
+    builders {
+      name: "integration-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/pw_presubmit": {'
+        '    "step": ['
+        '      "gn_full_qemu_check"'
+        '    ]'
+        '  },'
+        '  "checkout_options": {'
+        '    "branch": "main",'
+        '    "equivalent_remotes": [],'
+        '    "initialize_submodules": true,'
+        '    "match_branch": true,'
+        '    "remote": "https://pigweed.googlesource.com/pigweed/integration",'
+        '    "root_subdirectory": "pigweed",'
+        '    "use_repo": false,'
+        '    "use_trigger": true'
+        '  },'
+        '  "dry_run": true,'
+        '  "environment_options": {'
+        '    "config_file": "pw_env_setup/compatibility.json"'
+        '  },'
+        '  "recipe": "pw_presubmit"'
+        '}'
+      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
+      }
+    }
+    builders {
+      name: "integration-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/pw_presubmit": {'
+        '    "step": ['
+        '      "gn_full_qemu_check"'
+        '    ]'
+        '  },'
+        '  "checkout_options": {'
+        '    "branch": "main",'
+        '    "equivalent_remotes": [],'
+        '    "initialize_submodules": true,'
+        '    "match_branch": true,'
+        '    "remote": "https://pigweed.googlesource.com/pigweed/integration",'
+        '    "root_subdirectory": "pigweed",'
+        '    "use_repo": false,'
+        '    "use_trigger": true'
+        '  },'
+        '  "dry_run": true,'
+        '  "environment_options": {'
+        '    "config_file": "pw_env_setup/config.json"'
+        '  },'
+        '  "recipe": "pw_presubmit"'
+        '}'
+      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
+      }
+    }
+    builders {
       name: "pigweed-lintformat"
       swarming_host: "chromium-swarm.appspot.com"
       dimensions: "cores:16"
@@ -4643,6 +6758,2354 @@
       }
     }
     builders {
+      name: "integration-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:
+        '{'
+        '  "checkout_options": {'
+        '    "branch": "main",'
+        '    "equivalent_remotes": [],'
+        '    "initialize_submodules": true,'
+        '    "match_branch": true,'
+        '    "remote": "https://pigweed.googlesource.com/pigweed/integration",'
+        '    "root_subdirectory": "pigweed",'
+        '    "use_repo": false,'
+        '    "use_trigger": true'
+        '  },'
+        '  "command": "python -m pw_cli --directory $PW_PROJECT_ROOT --loglevel debug presubmit --step gn_gen_check",'
+        '  "dry_run": true,'
+        '  "environment_variables": ['
+        '    "PW_BOOTSTRAP_PYTHON=python2"'
+        '  ],'
+        '  "recipe": "envtest"'
+        '}'
+      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
+      }
+    }
+    builders {
+      name: "integration-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:
+        '{'
+        '  "checkout_options": {'
+        '    "branch": "main",'
+        '    "equivalent_remotes": [],'
+        '    "initialize_submodules": true,'
+        '    "match_branch": true,'
+        '    "remote": "https://pigweed.googlesource.com/pigweed/integration",'
+        '    "root_subdirectory": "pigweed",'
+        '    "use_repo": false,'
+        '    "use_trigger": true'
+        '  },'
+        '  "command": "python -m pw_cli --directory $PW_PROJECT_ROOT --loglevel debug presubmit --step gn_gen_check",'
+        '  "dry_run": true,'
+        '  "environment_variables": ['
+        '    "PW_BOOTSTRAP_PYTHON=python3"'
+        '  ],'
+        '  "recipe": "envtest"'
+        '}'
+      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
+      }
+    }
+    builders {
+      name: "integration-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:
+        '{'
+        '  "checkout_options": {'
+        '    "branch": "main",'
+        '    "equivalent_remotes": [],'
+        '    "initialize_submodules": true,'
+        '    "match_branch": true,'
+        '    "remote": "https://pigweed.googlesource.com/pigweed/integration",'
+        '    "root_subdirectory": "pigweed",'
+        '    "use_repo": false,'
+        '    "use_trigger": true'
+        '  },'
+        '  "command": "python -m pw_cli --directory $PW_PROJECT_ROOT --loglevel debug presubmit --step gn_gen_check",'
+        '  "dry_run": true,'
+        '  "macos_sdk.version": "11c29",'
+        '  "recipe": "envtest"'
+        '}'
+      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
+      }
+    }
+    builders {
+      name: "integration-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:
+        '{'
+        '  "checkout_options": {'
+        '    "branch": "main",'
+        '    "equivalent_remotes": [],'
+        '    "initialize_submodules": true,'
+        '    "match_branch": true,'
+        '    "remote": "https://pigweed.googlesource.com/pigweed/integration",'
+        '    "root_subdirectory": "pigweed",'
+        '    "use_repo": false,'
+        '    "use_trigger": true'
+        '  },'
+        '  "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: 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
+      }
+    }
+    builders {
+      name: "integration-integration-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/pw_presubmit": {'
+        '    "only_on_changed_files": true,'
+        '    "program": ['
+        '      "lintformat"'
+        '    ]'
+        '  },'
+        '  "checkout_options": {'
+        '    "branch": "main",'
+        '    "equivalent_remotes": [],'
+        '    "initialize_submodules": true,'
+        '    "match_branch": true,'
+        '    "remote": "https://pigweed.googlesource.com/pigweed/integration",'
+        '    "root_subdirectory": "pigweed",'
+        '    "use_repo": false,'
+        '    "use_trigger": true'
+        '  },'
+        '  "dry_run": true,'
+        '  "environment_options": {'
+        '    "config_file": "pw_env_setup/config.json"'
+        '  },'
+        '  "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
+      }
+    }
+    builders {
+      name: "integration-integration-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/pw_presubmit": {'
+        '    "program": ['
+        '      "lintformat"'
+        '    ]'
+        '  },'
+        '  "checkout_options": {'
+        '    "branch": "main",'
+        '    "equivalent_remotes": [],'
+        '    "initialize_submodules": true,'
+        '    "match_branch": true,'
+        '    "remote": "https://pigweed.googlesource.com/pigweed/integration",'
+        '    "root_subdirectory": "pigweed",'
+        '    "use_repo": false,'
+        '    "use_trigger": true'
+        '  },'
+        '  "dry_run": true,'
+        '  "environment_options": {'
+        '    "config_file": "pw_env_setup/config.json"'
+        '  },'
+        '  "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
+      }
+    }
+    builders {
+      name: "integration-pigweed-linux-bazel-build-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/pw_presubmit": {'
+        '    "step": ['
+        '      "bazel_build"'
+        '    ]'
+        '  },'
+        '  "checkout_options": {'
+        '    "branch": "main",'
+        '    "equivalent_remotes": [],'
+        '    "initialize_submodules": true,'
+        '    "match_branch": true,'
+        '    "remote": "https://pigweed.googlesource.com/pigweed/integration",'
+        '    "root_subdirectory": "pigweed",'
+        '    "use_repo": false,'
+        '    "use_trigger": true'
+        '  },'
+        '  "dry_run": true,'
+        '  "environment_options": {'
+        '    "config_file": "pw_env_setup/config.json"'
+        '  },'
+        '  "recipe": "pw_presubmit"'
+        '}'
+      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
+      }
+    }
+    builders {
+      name: "integration-pigweed-linux-bazel-test-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/pw_presubmit": {'
+        '    "step": ['
+        '      "bazel_test"'
+        '    ]'
+        '  },'
+        '  "checkout_options": {'
+        '    "branch": "main",'
+        '    "equivalent_remotes": [],'
+        '    "initialize_submodules": true,'
+        '    "match_branch": true,'
+        '    "remote": "https://pigweed.googlesource.com/pigweed/integration",'
+        '    "root_subdirectory": "pigweed",'
+        '    "use_repo": false,'
+        '    "use_trigger": true'
+        '  },'
+        '  "dry_run": true,'
+        '  "environment_options": {'
+        '    "config_file": "pw_env_setup/config.json"'
+        '  },'
+        '  "recipe": "pw_presubmit"'
+        '}'
+      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
+      }
+    }
+    builders {
+      name: "integration-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/pw_presubmit": {'
+        '    "step": ['
+        '      "cmake_clang"'
+        '    ]'
+        '  },'
+        '  "checkout_options": {'
+        '    "branch": "main",'
+        '    "equivalent_remotes": [],'
+        '    "initialize_submodules": true,'
+        '    "match_branch": true,'
+        '    "remote": "https://pigweed.googlesource.com/pigweed/integration",'
+        '    "root_subdirectory": "pigweed",'
+        '    "use_repo": false,'
+        '    "use_trigger": true'
+        '  },'
+        '  "dry_run": true,'
+        '  "environment_options": {'
+        '    "config_file": "pw_env_setup/config.json"'
+        '  },'
+        '  "recipe": "pw_presubmit"'
+        '}'
+      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
+      }
+    }
+    builders {
+      name: "integration-pigweed-linux-cmake-host-gcc"
+      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/pw_presubmit": {'
+        '    "step": ['
+        '      "cmake_gcc"'
+        '    ]'
+        '  },'
+        '  "checkout_options": {'
+        '    "branch": "main",'
+        '    "equivalent_remotes": [],'
+        '    "initialize_submodules": true,'
+        '    "match_branch": true,'
+        '    "remote": "https://pigweed.googlesource.com/pigweed/integration",'
+        '    "root_subdirectory": "pigweed",'
+        '    "use_repo": false,'
+        '    "use_trigger": true'
+        '  },'
+        '  "dry_run": true,'
+        '  "environment_options": {'
+        '    "config_file": "pw_env_setup/config.json"'
+        '  },'
+        '  "recipe": "pw_presubmit"'
+        '}'
+      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
+      }
+    }
+    builders {
+      name: "integration-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/pw_presubmit": {'
+        '    "step": ['
+        '      "gn_full_build_check"'
+        '    ]'
+        '  },'
+        '  "checkout_options": {'
+        '    "branch": "main",'
+        '    "equivalent_remotes": [],'
+        '    "initialize_submodules": true,'
+        '    "match_branch": true,'
+        '    "remote": "https://pigweed.googlesource.com/pigweed/integration",'
+        '    "root_subdirectory": "pigweed",'
+        '    "use_repo": false,'
+        '    "use_trigger": true'
+        '  },'
+        '  "dry_run": true,'
+        '  "environment_options": {'
+        '    "config_file": "pw_env_setup/compatibility.json"'
+        '  },'
+        '  "recipe": "pw_presubmit"'
+        '}'
+      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
+      }
+    }
+    builders {
+      name: "integration-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/pw_presubmit": {'
+        '    "step": ['
+        '      "gn_crypto_boringssl_build"'
+        '    ]'
+        '  },'
+        '  "checkout_options": {'
+        '    "branch": "main",'
+        '    "equivalent_remotes": [],'
+        '    "initialize_submodules": true,'
+        '    "match_branch": true,'
+        '    "remote": "https://pigweed.googlesource.com/pigweed/integration",'
+        '    "root_subdirectory": "pigweed",'
+        '    "use_repo": false,'
+        '    "use_trigger": true'
+        '  },'
+        '  "dry_run": true,'
+        '  "environment_options": {'
+        '    "config_file": "pw_env_setup/config.json"'
+        '  },'
+        '  "recipe": "pw_presubmit"'
+        '}'
+      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
+      }
+    }
+    builders {
+      name: "integration-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/pw_presubmit": {'
+        '    "step": ['
+        '      "gn_crypto_micro_ecc_build"'
+        '    ]'
+        '  },'
+        '  "checkout_options": {'
+        '    "branch": "main",'
+        '    "equivalent_remotes": [],'
+        '    "initialize_submodules": true,'
+        '    "match_branch": true,'
+        '    "remote": "https://pigweed.googlesource.com/pigweed/integration",'
+        '    "root_subdirectory": "pigweed",'
+        '    "use_repo": false,'
+        '    "use_trigger": true'
+        '  },'
+        '  "dry_run": true,'
+        '  "environment_options": {'
+        '    "config_file": "pw_env_setup/config.json"'
+        '  },'
+        '  "recipe": "pw_presubmit"'
+        '}'
+      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
+      }
+    }
+    builders {
+      name: "integration-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/pw_presubmit": {'
+        '    "step": ['
+        '      "gn_crypto_mbedtls_build"'
+        '    ]'
+        '  },'
+        '  "checkout_options": {'
+        '    "branch": "main",'
+        '    "equivalent_remotes": [],'
+        '    "initialize_submodules": true,'
+        '    "match_branch": true,'
+        '    "remote": "https://pigweed.googlesource.com/pigweed/integration",'
+        '    "root_subdirectory": "pigweed",'
+        '    "use_repo": false,'
+        '    "use_trigger": true'
+        '  },'
+        '  "dry_run": true,'
+        '  "environment_options": {'
+        '    "config_file": "pw_env_setup/config.json"'
+        '  },'
+        '  "recipe": "pw_presubmit"'
+        '}'
+      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
+      }
+    }
+    builders {
+      name: "integration-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/pw_presubmit": {'
+        '    "step": ['
+        '      "gn_host_tools"'
+        '    ]'
+        '  },'
+        '  "checkout_options": {'
+        '    "branch": "main",'
+        '    "equivalent_remotes": [],'
+        '    "initialize_submodules": true,'
+        '    "match_branch": true,'
+        '    "remote": "https://pigweed.googlesource.com/pigweed/integration",'
+        '    "root_subdirectory": "pigweed",'
+        '    "use_repo": false,'
+        '    "use_trigger": true'
+        '  },'
+        '  "dry_run": true,'
+        '  "environment_options": {'
+        '    "config_file": "pw_env_setup/config.json"'
+        '  },'
+        '  "recipe": "pw_presubmit"'
+        '}'
+      priority: 50
+      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"
+      experimental: YES
+      experiments {
+        key: "luci.recipes.use_python3"
+        value: 100
+      }
+    }
+    builders {
+      name: "integration-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/pw_presubmit": {'
+        '    "step": ['
+        '      "gn_nanopb_build"'
+        '    ]'
+        '  },'
+        '  "checkout_options": {'
+        '    "branch": "main",'
+        '    "equivalent_remotes": [],'
+        '    "initialize_submodules": true,'
+        '    "match_branch": true,'
+        '    "remote": "https://pigweed.googlesource.com/pigweed/integration",'
+        '    "root_subdirectory": "pigweed",'
+        '    "use_repo": false,'
+        '    "use_trigger": true'
+        '  },'
+        '  "dry_run": true,'
+        '  "environment_options": {'
+        '    "config_file": "pw_env_setup/config.json"'
+        '  },'
+        '  "recipe": "pw_presubmit"'
+        '}'
+      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
+      }
+    }
+    builders {
+      name: "integration-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/pw_presubmit": {'
+        '    "step": ['
+        '      "gn_software_update_build"'
+        '    ]'
+        '  },'
+        '  "checkout_options": {'
+        '    "branch": "main",'
+        '    "equivalent_remotes": [],'
+        '    "initialize_submodules": true,'
+        '    "match_branch": true,'
+        '    "remote": "https://pigweed.googlesource.com/pigweed/integration",'
+        '    "root_subdirectory": "pigweed",'
+        '    "use_repo": false,'
+        '    "use_trigger": true'
+        '  },'
+        '  "dry_run": true,'
+        '  "environment_options": {'
+        '    "config_file": "pw_env_setup/config.json"'
+        '  },'
+        '  "recipe": "pw_presubmit"'
+        '}'
+      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
+      }
+    }
+    builders {
+      name: "integration-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/pw_presubmit": {'
+        '    "step": ['
+        '      "gn_teensy_build"'
+        '    ]'
+        '  },'
+        '  "checkout_options": {'
+        '    "branch": "main",'
+        '    "equivalent_remotes": [],'
+        '    "initialize_submodules": true,'
+        '    "match_branch": true,'
+        '    "remote": "https://pigweed.googlesource.com/pigweed/integration",'
+        '    "root_subdirectory": "pigweed",'
+        '    "use_repo": false,'
+        '    "use_trigger": true'
+        '  },'
+        '  "dry_run": true,'
+        '  "environment_options": {'
+        '    "config_file": "pw_env_setup/config.json"'
+        '  },'
+        '  "recipe": "pw_presubmit"'
+        '}'
+      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
+      }
+    }
+    builders {
+      name: "integration-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/pw_presubmit": {'
+        '    "step": ['
+        '      "gn_full_build_check"'
+        '    ]'
+        '  },'
+        '  "checkout_options": {'
+        '    "branch": "main",'
+        '    "equivalent_remotes": [],'
+        '    "initialize_submodules": true,'
+        '    "match_branch": true,'
+        '    "remote": "https://pigweed.googlesource.com/pigweed/integration",'
+        '    "root_subdirectory": "pigweed",'
+        '    "use_repo": false,'
+        '    "use_trigger": true'
+        '  },'
+        '  "dry_run": true,'
+        '  "environment_options": {'
+        '    "config_file": "pw_env_setup/config.json"'
+        '  },'
+        '  "recipe": "pw_presubmit"'
+        '}'
+      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
+      }
+    }
+    builders {
+      name: "integration-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/pw_presubmit": {'
+        '    "step": ['
+        '      "gn_full_qemu_check"'
+        '    ]'
+        '  },'
+        '  "checkout_options": {'
+        '    "branch": "main",'
+        '    "equivalent_remotes": [],'
+        '    "initialize_submodules": true,'
+        '    "match_branch": true,'
+        '    "remote": "https://pigweed.googlesource.com/pigweed/integration",'
+        '    "root_subdirectory": "pigweed",'
+        '    "use_repo": false,'
+        '    "use_trigger": true'
+        '  },'
+        '  "dry_run": true,'
+        '  "environment_options": {'
+        '    "config_file": "pw_env_setup/compatibility.json"'
+        '  },'
+        '  "recipe": "pw_presubmit"'
+        '}'
+      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
+      }
+    }
+    builders {
+      name: "integration-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/pw_presubmit": {'
+        '    "step": ['
+        '      "gn_full_qemu_check"'
+        '    ]'
+        '  },'
+        '  "checkout_options": {'
+        '    "branch": "main",'
+        '    "equivalent_remotes": [],'
+        '    "initialize_submodules": true,'
+        '    "match_branch": true,'
+        '    "remote": "https://pigweed.googlesource.com/pigweed/integration",'
+        '    "root_subdirectory": "pigweed",'
+        '    "use_repo": false,'
+        '    "use_trigger": true'
+        '  },'
+        '  "dry_run": true,'
+        '  "environment_options": {'
+        '    "config_file": "pw_env_setup/config.json"'
+        '  },'
+        '  "recipe": "pw_presubmit"'
+        '}'
+      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
+      }
+    }
+    builders {
+      name: "integration-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/pw_presubmit": {'
+        '    "step": ['
+        '      "asan"'
+        '    ]'
+        '  },'
+        '  "checkout_options": {'
+        '    "branch": "main",'
+        '    "equivalent_remotes": [],'
+        '    "initialize_submodules": true,'
+        '    "match_branch": true,'
+        '    "remote": "https://pigweed.googlesource.com/pigweed/integration",'
+        '    "root_subdirectory": "pigweed",'
+        '    "use_repo": false,'
+        '    "use_trigger": true'
+        '  },'
+        '  "dry_run": true,'
+        '  "environment_options": {'
+        '    "config_file": "pw_env_setup/config.json"'
+        '  },'
+        '  "recipe": "pw_presubmit"'
+        '}'
+      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
+      }
+    }
+    builders {
+      name: "integration-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/pw_presubmit": {'
+        '    "step": ['
+        '      "tsan"'
+        '    ]'
+        '  },'
+        '  "checkout_options": {'
+        '    "branch": "main",'
+        '    "equivalent_remotes": [],'
+        '    "initialize_submodules": true,'
+        '    "match_branch": true,'
+        '    "remote": "https://pigweed.googlesource.com/pigweed/integration",'
+        '    "root_subdirectory": "pigweed",'
+        '    "use_repo": false,'
+        '    "use_trigger": true'
+        '  },'
+        '  "dry_run": true,'
+        '  "environment_options": {'
+        '    "config_file": "pw_env_setup/config.json"'
+        '  },'
+        '  "recipe": "pw_presubmit"'
+        '}'
+      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
+      }
+    }
+    builders {
+      name: "integration-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/pw_presubmit": {'
+        '    "step": ['
+        '      "ubsan"'
+        '    ]'
+        '  },'
+        '  "checkout_options": {'
+        '    "branch": "main",'
+        '    "equivalent_remotes": [],'
+        '    "initialize_submodules": true,'
+        '    "match_branch": true,'
+        '    "remote": "https://pigweed.googlesource.com/pigweed/integration",'
+        '    "root_subdirectory": "pigweed",'
+        '    "use_repo": false,'
+        '    "use_trigger": true'
+        '  },'
+        '  "dry_run": true,'
+        '  "environment_options": {'
+        '    "config_file": "pw_env_setup/config.json"'
+        '  },'
+        '  "recipe": "pw_presubmit"'
+        '}'
+      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
+      }
+    }
+    builders {
+      name: "integration-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/pw_presubmit": {'
+        '    "step": ['
+        '      "static_analysis"'
+        '    ]'
+        '  },'
+        '  "checkout_options": {'
+        '    "branch": "main",'
+        '    "equivalent_remotes": [],'
+        '    "initialize_submodules": true,'
+        '    "match_branch": true,'
+        '    "remote": "https://pigweed.googlesource.com/pigweed/integration",'
+        '    "root_subdirectory": "pigweed",'
+        '    "use_repo": false,'
+        '    "use_trigger": true'
+        '  },'
+        '  "dry_run": true,'
+        '  "environment_options": {'
+        '    "config_file": "pw_env_setup/config.json"'
+        '  },'
+        '  "recipe": "pw_presubmit"'
+        '}'
+      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
+      }
+    }
+    builders {
+      name: "integration-pigweed-mac-bazel-test-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/pw_presubmit": {'
+        '    "step": ['
+        '      "bazel_test"'
+        '    ]'
+        '  },'
+        '  "checkout_options": {'
+        '    "branch": "main",'
+        '    "equivalent_remotes": [],'
+        '    "initialize_submodules": true,'
+        '    "match_branch": true,'
+        '    "remote": "https://pigweed.googlesource.com/pigweed/integration",'
+        '    "root_subdirectory": "pigweed",'
+        '    "use_repo": false,'
+        '    "use_trigger": true'
+        '  },'
+        '  "dry_run": true,'
+        '  "environment_options": {'
+        '    "config_file": "pw_env_setup/config.json"'
+        '  },'
+        '  "macos_sdk.version": "11c29",'
+        '  "recipe": "pw_presubmit"'
+        '}'
+      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
+      }
+    }
+    builders {
+      name: "integration-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/pw_presubmit": {'
+        '    "step": ['
+        '      "cmake_clang"'
+        '    ]'
+        '  },'
+        '  "checkout_options": {'
+        '    "branch": "main",'
+        '    "equivalent_remotes": [],'
+        '    "initialize_submodules": true,'
+        '    "match_branch": true,'
+        '    "remote": "https://pigweed.googlesource.com/pigweed/integration",'
+        '    "root_subdirectory": "pigweed",'
+        '    "use_repo": false,'
+        '    "use_trigger": true'
+        '  },'
+        '  "dry_run": true,'
+        '  "environment_options": {'
+        '    "config_file": "pw_env_setup/config.json"'
+        '  },'
+        '  "macos_sdk.version": "11c29",'
+        '  "recipe": "pw_presubmit"'
+        '}'
+      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
+      }
+    }
+    builders {
+      name: "integration-pigweed-mac-cmake-host-gcc"
+      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/pw_presubmit": {'
+        '    "step": ['
+        '      "cmake_gcc"'
+        '    ]'
+        '  },'
+        '  "checkout_options": {'
+        '    "branch": "main",'
+        '    "equivalent_remotes": [],'
+        '    "initialize_submodules": true,'
+        '    "match_branch": true,'
+        '    "remote": "https://pigweed.googlesource.com/pigweed/integration",'
+        '    "root_subdirectory": "pigweed",'
+        '    "use_repo": false,'
+        '    "use_trigger": true'
+        '  },'
+        '  "dry_run": true,'
+        '  "environment_options": {'
+        '    "config_file": "pw_env_setup/config.json"'
+        '  },'
+        '  "macos_sdk.version": "11c29",'
+        '  "recipe": "pw_presubmit"'
+        '}'
+      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
+      }
+    }
+    builders {
+      name: "integration-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/pw_presubmit": {'
+        '    "step": ['
+        '      "gn_full_build_check"'
+        '    ]'
+        '  },'
+        '  "checkout_options": {'
+        '    "branch": "main",'
+        '    "equivalent_remotes": [],'
+        '    "initialize_submodules": true,'
+        '    "match_branch": true,'
+        '    "remote": "https://pigweed.googlesource.com/pigweed/integration",'
+        '    "root_subdirectory": "pigweed",'
+        '    "use_repo": false,'
+        '    "use_trigger": true'
+        '  },'
+        '  "dry_run": true,'
+        '  "environment_options": {'
+        '    "config_file": "pw_env_setup/compatibility.json"'
+        '  },'
+        '  "macos_sdk.version": "11c29",'
+        '  "recipe": "pw_presubmit"'
+        '}'
+      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
+      }
+    }
+    builders {
+      name: "integration-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/pw_presubmit": {'
+        '    "step": ['
+        '      "gn_host_tools"'
+        '    ]'
+        '  },'
+        '  "checkout_options": {'
+        '    "branch": "main",'
+        '    "equivalent_remotes": [],'
+        '    "initialize_submodules": true,'
+        '    "match_branch": true,'
+        '    "remote": "https://pigweed.googlesource.com/pigweed/integration",'
+        '    "root_subdirectory": "pigweed",'
+        '    "use_repo": false,'
+        '    "use_trigger": true'
+        '  },'
+        '  "dry_run": true,'
+        '  "environment_options": {'
+        '    "config_file": "pw_env_setup/config.json"'
+        '  },'
+        '  "macos_sdk.version": "11c29",'
+        '  "recipe": "pw_presubmit"'
+        '}'
+      priority: 50
+      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"
+      experimental: YES
+      experiments {
+        key: "luci.recipes.use_python3"
+        value: 100
+      }
+    }
+    builders {
+      name: "integration-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/pw_presubmit": {'
+        '    "step": ['
+        '      "gn_nanopb_build"'
+        '    ]'
+        '  },'
+        '  "checkout_options": {'
+        '    "branch": "main",'
+        '    "equivalent_remotes": [],'
+        '    "initialize_submodules": true,'
+        '    "match_branch": true,'
+        '    "remote": "https://pigweed.googlesource.com/pigweed/integration",'
+        '    "root_subdirectory": "pigweed",'
+        '    "use_repo": false,'
+        '    "use_trigger": true'
+        '  },'
+        '  "dry_run": true,'
+        '  "environment_options": {'
+        '    "config_file": "pw_env_setup/config.json"'
+        '  },'
+        '  "macos_sdk.version": "11c29",'
+        '  "recipe": "pw_presubmit"'
+        '}'
+      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
+      }
+    }
+    builders {
+      name: "integration-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/pw_presubmit": {'
+        '    "step": ['
+        '      "gn_teensy_build"'
+        '    ]'
+        '  },'
+        '  "checkout_options": {'
+        '    "branch": "main",'
+        '    "equivalent_remotes": [],'
+        '    "initialize_submodules": true,'
+        '    "match_branch": true,'
+        '    "remote": "https://pigweed.googlesource.com/pigweed/integration",'
+        '    "root_subdirectory": "pigweed",'
+        '    "use_repo": false,'
+        '    "use_trigger": true'
+        '  },'
+        '  "dry_run": true,'
+        '  "environment_options": {'
+        '    "config_file": "pw_env_setup/config.json"'
+        '  },'
+        '  "macos_sdk.version": "11c29",'
+        '  "recipe": "pw_presubmit"'
+        '}'
+      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
+      }
+    }
+    builders {
+      name: "integration-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/pw_presubmit": {'
+        '    "step": ['
+        '      "gn_full_build_check"'
+        '    ]'
+        '  },'
+        '  "checkout_options": {'
+        '    "branch": "main",'
+        '    "equivalent_remotes": [],'
+        '    "initialize_submodules": true,'
+        '    "match_branch": true,'
+        '    "remote": "https://pigweed.googlesource.com/pigweed/integration",'
+        '    "root_subdirectory": "pigweed",'
+        '    "use_repo": false,'
+        '    "use_trigger": true'
+        '  },'
+        '  "dry_run": true,'
+        '  "environment_options": {'
+        '    "config_file": "pw_env_setup/config.json"'
+        '  },'
+        '  "macos_sdk.version": "11c29",'
+        '  "recipe": "pw_presubmit"'
+        '}'
+      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
+      }
+    }
+    builders {
+      name: "integration-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/pw_presubmit": {'
+        '    "step": ['
+        '      "gn_full_qemu_check"'
+        '    ]'
+        '  },'
+        '  "checkout_options": {'
+        '    "branch": "main",'
+        '    "equivalent_remotes": [],'
+        '    "initialize_submodules": true,'
+        '    "match_branch": true,'
+        '    "remote": "https://pigweed.googlesource.com/pigweed/integration",'
+        '    "root_subdirectory": "pigweed",'
+        '    "use_repo": false,'
+        '    "use_trigger": true'
+        '  },'
+        '  "dry_run": true,'
+        '  "environment_options": {'
+        '    "config_file": "pw_env_setup/compatibility.json"'
+        '  },'
+        '  "macos_sdk.version": "11c29",'
+        '  "recipe": "pw_presubmit"'
+        '}'
+      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
+      }
+    }
+    builders {
+      name: "integration-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/pw_presubmit": {'
+        '    "step": ['
+        '      "gn_full_qemu_check"'
+        '    ]'
+        '  },'
+        '  "checkout_options": {'
+        '    "branch": "main",'
+        '    "equivalent_remotes": [],'
+        '    "initialize_submodules": true,'
+        '    "match_branch": true,'
+        '    "remote": "https://pigweed.googlesource.com/pigweed/integration",'
+        '    "root_subdirectory": "pigweed",'
+        '    "use_repo": false,'
+        '    "use_trigger": true'
+        '  },'
+        '  "dry_run": true,'
+        '  "environment_options": {'
+        '    "config_file": "pw_env_setup/config.json"'
+        '  },'
+        '  "macos_sdk.version": "11c29",'
+        '  "recipe": "pw_presubmit"'
+        '}'
+      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
+      }
+    }
+    builders {
+      name: "integration-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/pw_presubmit": {'
+        '    "step": ['
+        '      "stm32f429i"'
+        '    ]'
+        '  },'
+        '  "checkout_options": {'
+        '    "branch": "main",'
+        '    "equivalent_remotes": [],'
+        '    "initialize_submodules": true,'
+        '    "match_branch": true,'
+        '    "remote": "https://pigweed.googlesource.com/pigweed/integration",'
+        '    "root_subdirectory": "pigweed",'
+        '    "use_repo": false,'
+        '    "use_trigger": true'
+        '  },'
+        '  "dry_run": true,'
+        '  "environment_options": {'
+        '    "config_file": "pw_env_setup/config.json"'
+        '  },'
+        '  "recipe": "pw_presubmit"'
+        '}'
+      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
+      }
+    }
+    builders {
+      name: "integration-pigweed-windows-bazel-test-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/pw_presubmit": {'
+        '    "step": ['
+        '      "bazel_test"'
+        '    ]'
+        '  },'
+        '  "checkout_options": {'
+        '    "branch": "main",'
+        '    "equivalent_remotes": [],'
+        '    "initialize_submodules": true,'
+        '    "match_branch": true,'
+        '    "remote": "https://pigweed.googlesource.com/pigweed/integration",'
+        '    "root_subdirectory": "pigweed",'
+        '    "use_repo": false,'
+        '    "use_trigger": true'
+        '  },'
+        '  "dry_run": true,'
+        '  "environment_options": {'
+        '    "config_file": "pw_env_setup/config.json"'
+        '  },'
+        '  "recipe": "pw_presubmit"'
+        '}'
+      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
+      }
+    }
+    builders {
+      name: "integration-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/pw_presubmit": {'
+        '    "step": ['
+        '      "gn_full_build_check"'
+        '    ]'
+        '  },'
+        '  "checkout_options": {'
+        '    "branch": "main",'
+        '    "equivalent_remotes": [],'
+        '    "initialize_submodules": true,'
+        '    "match_branch": true,'
+        '    "remote": "https://pigweed.googlesource.com/pigweed/integration",'
+        '    "root_subdirectory": "pigweed",'
+        '    "use_repo": false,'
+        '    "use_trigger": true'
+        '  },'
+        '  "dry_run": true,'
+        '  "environment_options": {'
+        '    "config_file": "pw_env_setup/compatibility.json"'
+        '  },'
+        '  "recipe": "pw_presubmit"'
+        '}'
+      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
+      }
+    }
+    builders {
+      name: "integration-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/pw_presubmit": {'
+        '    "step": ['
+        '      "gn_host_tools"'
+        '    ]'
+        '  },'
+        '  "checkout_options": {'
+        '    "branch": "main",'
+        '    "equivalent_remotes": [],'
+        '    "initialize_submodules": true,'
+        '    "match_branch": true,'
+        '    "remote": "https://pigweed.googlesource.com/pigweed/integration",'
+        '    "root_subdirectory": "pigweed",'
+        '    "use_repo": false,'
+        '    "use_trigger": true'
+        '  },'
+        '  "dry_run": true,'
+        '  "environment_options": {'
+        '    "config_file": "pw_env_setup/config.json"'
+        '  },'
+        '  "recipe": "pw_presubmit"'
+        '}'
+      priority: 50
+      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"
+      experimental: YES
+      experiments {
+        key: "luci.recipes.use_python3"
+        value: 100
+      }
+    }
+    builders {
+      name: "integration-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/pw_presubmit": {'
+        '    "step": ['
+        '      "gn_nanopb_build"'
+        '    ]'
+        '  },'
+        '  "checkout_options": {'
+        '    "branch": "main",'
+        '    "equivalent_remotes": [],'
+        '    "initialize_submodules": true,'
+        '    "match_branch": true,'
+        '    "remote": "https://pigweed.googlesource.com/pigweed/integration",'
+        '    "root_subdirectory": "pigweed",'
+        '    "use_repo": false,'
+        '    "use_trigger": true'
+        '  },'
+        '  "dry_run": true,'
+        '  "environment_options": {'
+        '    "config_file": "pw_env_setup/config.json"'
+        '  },'
+        '  "recipe": "pw_presubmit"'
+        '}'
+      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
+      }
+    }
+    builders {
+      name: "integration-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/pw_presubmit": {'
+        '    "step": ['
+        '      "gn_full_build_check"'
+        '    ]'
+        '  },'
+        '  "checkout_options": {'
+        '    "branch": "main",'
+        '    "equivalent_remotes": [],'
+        '    "initialize_submodules": true,'
+        '    "match_branch": true,'
+        '    "remote": "https://pigweed.googlesource.com/pigweed/integration",'
+        '    "root_subdirectory": "pigweed",'
+        '    "use_repo": false,'
+        '    "use_trigger": true'
+        '  },'
+        '  "dry_run": true,'
+        '  "environment_options": {'
+        '    "config_file": "pw_env_setup/config.json"'
+        '  },'
+        '  "recipe": "pw_presubmit"'
+        '}'
+      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
+      }
+    }
+    builders {
+      name: "integration-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/pw_presubmit": {'
+        '    "step": ['
+        '      "gn_full_qemu_check"'
+        '    ]'
+        '  },'
+        '  "checkout_options": {'
+        '    "branch": "main",'
+        '    "equivalent_remotes": [],'
+        '    "initialize_submodules": true,'
+        '    "match_branch": true,'
+        '    "remote": "https://pigweed.googlesource.com/pigweed/integration",'
+        '    "root_subdirectory": "pigweed",'
+        '    "use_repo": false,'
+        '    "use_trigger": true'
+        '  },'
+        '  "dry_run": true,'
+        '  "environment_options": {'
+        '    "config_file": "pw_env_setup/compatibility.json"'
+        '  },'
+        '  "recipe": "pw_presubmit"'
+        '}'
+      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
+      }
+    }
+    builders {
+      name: "integration-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/pw_presubmit": {'
+        '    "step": ['
+        '      "gn_full_qemu_check"'
+        '    ]'
+        '  },'
+        '  "checkout_options": {'
+        '    "branch": "main",'
+        '    "equivalent_remotes": [],'
+        '    "initialize_submodules": true,'
+        '    "match_branch": true,'
+        '    "remote": "https://pigweed.googlesource.com/pigweed/integration",'
+        '    "root_subdirectory": "pigweed",'
+        '    "use_repo": false,'
+        '    "use_trigger": true'
+        '  },'
+        '  "dry_run": true,'
+        '  "environment_options": {'
+        '    "config_file": "pw_env_setup/config.json"'
+        '  },'
+        '  "recipe": "pw_presubmit"'
+        '}'
+      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
+      }
+    }
+    builders {
       name: "pigweed-lintformat"
       swarming_host: "chromium-swarm.appspot.com"
       dimensions: "cores:16"
@@ -5411,59 +9874,6 @@
       }
     }
     builders {
-      name: "pigweed-linux-main-host-disco-integration"
-      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/pw_presubmit": {'
-        '    "step": ['
-        '      "gn_full_build_check"'
-        '    ]'
-        '  },'
-        '  "checkout_options": {'
-        '    "branch": "main",'
-        '    "equivalent_remotes": [],'
-        '    "initialize_submodules": true,'
-        '    "match_branch": true,'
-        '    "remote": "https://pigweed.googlesource.com/pigweed/integration",'
-        '    "root_subdirectory": "pigweed",'
-        '    "use_repo": false,'
-        '    "use_trigger": true'
-        '  },'
-        '  "dry_run": true,'
-        '  "environment_options": {'
-        '    "config_file": "pw_env_setup/config.json"'
-        '  },'
-        '  "recipe": "pw_presubmit"'
-        '}'
-      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
-      }
-    }
-    builders {
       name: "pigweed-linux-qemu-compatibility-clang-armgcc"
       swarming_host: "chromium-swarm.appspot.com"
       dimensions: "cores:16"
diff --git a/generated/pigweed/luci/luci-scheduler.cfg b/generated/pigweed/luci/luci-scheduler.cfg
index 29fb0e3..c629c25 100644
--- a/generated/pigweed/luci/luci-scheduler.cfg
+++ b/generated/pigweed/luci/luci-scheduler.cfg
@@ -238,6 +238,405 @@
   }
 }
 job {
+  id: "integration-envtest-linux-python2"
+  realm: "ci"
+  acl_sets: "ci"
+  buildbucket {
+    server: "cr-buildbucket.appspot.com"
+    bucket: "ci"
+    builder: "integration-envtest-linux-python2"
+  }
+}
+job {
+  id: "integration-envtest-linux-python3"
+  realm: "ci"
+  acl_sets: "ci"
+  buildbucket {
+    server: "cr-buildbucket.appspot.com"
+    bucket: "ci"
+    builder: "integration-envtest-linux-python3"
+  }
+}
+job {
+  id: "integration-envtest-mac"
+  realm: "ci"
+  acl_sets: "ci"
+  buildbucket {
+    server: "cr-buildbucket.appspot.com"
+    bucket: "ci"
+    builder: "integration-envtest-mac"
+  }
+}
+job {
+  id: "integration-envtest-windows"
+  realm: "ci"
+  acl_sets: "ci"
+  buildbucket {
+    server: "cr-buildbucket.appspot.com"
+    bucket: "ci"
+    builder: "integration-envtest-windows"
+  }
+}
+job {
+  id: "integration-integration-pigweed-lintformat"
+  realm: "ci"
+  acl_sets: "ci"
+  buildbucket {
+    server: "cr-buildbucket.appspot.com"
+    bucket: "ci"
+    builder: "integration-integration-pigweed-lintformat"
+  }
+}
+job {
+  id: "integration-pigweed-linux-bazel-build-host-clang"
+  realm: "ci"
+  acl_sets: "ci"
+  buildbucket {
+    server: "cr-buildbucket.appspot.com"
+    bucket: "ci"
+    builder: "integration-pigweed-linux-bazel-build-host-clang"
+  }
+}
+job {
+  id: "integration-pigweed-linux-bazel-test-host-clang"
+  realm: "ci"
+  acl_sets: "ci"
+  buildbucket {
+    server: "cr-buildbucket.appspot.com"
+    bucket: "ci"
+    builder: "integration-pigweed-linux-bazel-test-host-clang"
+  }
+}
+job {
+  id: "integration-pigweed-linux-cmake-host-clang"
+  realm: "ci"
+  acl_sets: "ci"
+  buildbucket {
+    server: "cr-buildbucket.appspot.com"
+    bucket: "ci"
+    builder: "integration-pigweed-linux-cmake-host-clang"
+  }
+}
+job {
+  id: "integration-pigweed-linux-cmake-host-gcc"
+  realm: "ci"
+  acl_sets: "ci"
+  buildbucket {
+    server: "cr-buildbucket.appspot.com"
+    bucket: "ci"
+    builder: "integration-pigweed-linux-cmake-host-gcc"
+  }
+}
+job {
+  id: "integration-pigweed-linux-compatibility-host-disco"
+  realm: "ci"
+  acl_sets: "ci"
+  buildbucket {
+    server: "cr-buildbucket.appspot.com"
+    bucket: "ci"
+    builder: "integration-pigweed-linux-compatibility-host-disco"
+  }
+}
+job {
+  id: "integration-pigweed-linux-gn-crypto-boringssl"
+  realm: "ci"
+  acl_sets: "ci"
+  buildbucket {
+    server: "cr-buildbucket.appspot.com"
+    bucket: "ci"
+    builder: "integration-pigweed-linux-gn-crypto-boringssl"
+  }
+}
+job {
+  id: "integration-pigweed-linux-gn-crypto-build-micro-ecc"
+  realm: "ci"
+  acl_sets: "ci"
+  buildbucket {
+    server: "cr-buildbucket.appspot.com"
+    bucket: "ci"
+    builder: "integration-pigweed-linux-gn-crypto-build-micro-ecc"
+  }
+}
+job {
+  id: "integration-pigweed-linux-gn-crypto-mbedtls"
+  realm: "ci"
+  acl_sets: "ci"
+  buildbucket {
+    server: "cr-buildbucket.appspot.com"
+    bucket: "ci"
+    builder: "integration-pigweed-linux-gn-crypto-mbedtls"
+  }
+}
+job {
+  id: "integration-pigweed-linux-gn-nanopb"
+  realm: "ci"
+  acl_sets: "ci"
+  buildbucket {
+    server: "cr-buildbucket.appspot.com"
+    bucket: "ci"
+    builder: "integration-pigweed-linux-gn-nanopb"
+  }
+}
+job {
+  id: "integration-pigweed-linux-gn-software-update"
+  realm: "ci"
+  acl_sets: "ci"
+  buildbucket {
+    server: "cr-buildbucket.appspot.com"
+    bucket: "ci"
+    builder: "integration-pigweed-linux-gn-software-update"
+  }
+}
+job {
+  id: "integration-pigweed-linux-gn-teensy"
+  realm: "ci"
+  acl_sets: "ci"
+  buildbucket {
+    server: "cr-buildbucket.appspot.com"
+    bucket: "ci"
+    builder: "integration-pigweed-linux-gn-teensy"
+  }
+}
+job {
+  id: "integration-pigweed-linux-main-host-disco"
+  realm: "ci"
+  acl_sets: "ci"
+  buildbucket {
+    server: "cr-buildbucket.appspot.com"
+    bucket: "ci"
+    builder: "integration-pigweed-linux-main-host-disco"
+  }
+}
+job {
+  id: "integration-pigweed-linux-qemu-compatibility-clang-armgcc"
+  realm: "ci"
+  acl_sets: "ci"
+  buildbucket {
+    server: "cr-buildbucket.appspot.com"
+    bucket: "ci"
+    builder: "integration-pigweed-linux-qemu-compatibility-clang-armgcc"
+  }
+}
+job {
+  id: "integration-pigweed-linux-qemu-main-clang-armgcc"
+  realm: "ci"
+  acl_sets: "ci"
+  buildbucket {
+    server: "cr-buildbucket.appspot.com"
+    bucket: "ci"
+    builder: "integration-pigweed-linux-qemu-main-clang-armgcc"
+  }
+}
+job {
+  id: "integration-pigweed-linux-san-asan"
+  realm: "ci"
+  acl_sets: "ci"
+  buildbucket {
+    server: "cr-buildbucket.appspot.com"
+    bucket: "ci"
+    builder: "integration-pigweed-linux-san-asan"
+  }
+}
+job {
+  id: "integration-pigweed-linux-san-tsan"
+  realm: "ci"
+  acl_sets: "ci"
+  buildbucket {
+    server: "cr-buildbucket.appspot.com"
+    bucket: "ci"
+    builder: "integration-pigweed-linux-san-tsan"
+  }
+}
+job {
+  id: "integration-pigweed-linux-san-ubsan"
+  realm: "ci"
+  acl_sets: "ci"
+  buildbucket {
+    server: "cr-buildbucket.appspot.com"
+    bucket: "ci"
+    builder: "integration-pigweed-linux-san-ubsan"
+  }
+}
+job {
+  id: "integration-pigweed-linux-static-analysis"
+  realm: "ci"
+  acl_sets: "ci"
+  buildbucket {
+    server: "cr-buildbucket.appspot.com"
+    bucket: "ci"
+    builder: "integration-pigweed-linux-static-analysis"
+  }
+}
+job {
+  id: "integration-pigweed-mac-bazel-test-host-clang"
+  realm: "ci"
+  schedule: "triggered"
+  acl_sets: "ci"
+  buildbucket {
+    server: "cr-buildbucket.appspot.com"
+    bucket: "ci"
+    builder: "integration-pigweed-mac-bazel-test-host-clang"
+  }
+}
+job {
+  id: "integration-pigweed-mac-cmake-host-clang"
+  realm: "ci"
+  schedule: "triggered"
+  acl_sets: "ci"
+  buildbucket {
+    server: "cr-buildbucket.appspot.com"
+    bucket: "ci"
+    builder: "integration-pigweed-mac-cmake-host-clang"
+  }
+}
+job {
+  id: "integration-pigweed-mac-cmake-host-gcc"
+  realm: "ci"
+  schedule: "triggered"
+  acl_sets: "ci"
+  buildbucket {
+    server: "cr-buildbucket.appspot.com"
+    bucket: "ci"
+    builder: "integration-pigweed-mac-cmake-host-gcc"
+  }
+}
+job {
+  id: "integration-pigweed-mac-compatibility-host-disco"
+  realm: "ci"
+  acl_sets: "ci"
+  buildbucket {
+    server: "cr-buildbucket.appspot.com"
+    bucket: "ci"
+    builder: "integration-pigweed-mac-compatibility-host-disco"
+  }
+}
+job {
+  id: "integration-pigweed-mac-gn-nanopb"
+  realm: "ci"
+  acl_sets: "ci"
+  buildbucket {
+    server: "cr-buildbucket.appspot.com"
+    bucket: "ci"
+    builder: "integration-pigweed-mac-gn-nanopb"
+  }
+}
+job {
+  id: "integration-pigweed-mac-gn-teensy"
+  realm: "ci"
+  acl_sets: "ci"
+  buildbucket {
+    server: "cr-buildbucket.appspot.com"
+    bucket: "ci"
+    builder: "integration-pigweed-mac-gn-teensy"
+  }
+}
+job {
+  id: "integration-pigweed-mac-main-host-disco"
+  realm: "ci"
+  acl_sets: "ci"
+  buildbucket {
+    server: "cr-buildbucket.appspot.com"
+    bucket: "ci"
+    builder: "integration-pigweed-mac-main-host-disco"
+  }
+}
+job {
+  id: "integration-pigweed-mac-qemu-compatibility-clang-armgcc"
+  realm: "ci"
+  acl_sets: "ci"
+  buildbucket {
+    server: "cr-buildbucket.appspot.com"
+    bucket: "ci"
+    builder: "integration-pigweed-mac-qemu-compatibility-clang-armgcc"
+  }
+}
+job {
+  id: "integration-pigweed-mac-qemu-main-clang-armgcc"
+  realm: "ci"
+  acl_sets: "ci"
+  buildbucket {
+    server: "cr-buildbucket.appspot.com"
+    bucket: "ci"
+    builder: "integration-pigweed-mac-qemu-main-clang-armgcc"
+  }
+}
+job {
+  id: "integration-pigweed-stm32f429i-combined"
+  realm: "ci"
+  schedule: "triggered"
+  acl_sets: "ci"
+  buildbucket {
+    server: "cr-buildbucket.appspot.com"
+    bucket: "ci"
+    builder: "integration-pigweed-stm32f429i-combined"
+  }
+}
+job {
+  id: "integration-pigweed-windows-bazel-test-host-clang"
+  realm: "ci"
+  schedule: "triggered"
+  acl_sets: "ci"
+  buildbucket {
+    server: "cr-buildbucket.appspot.com"
+    bucket: "ci"
+    builder: "integration-pigweed-windows-bazel-test-host-clang"
+  }
+}
+job {
+  id: "integration-pigweed-windows-compatibility-host-disco"
+  realm: "ci"
+  schedule: "triggered"
+  acl_sets: "ci"
+  buildbucket {
+    server: "cr-buildbucket.appspot.com"
+    bucket: "ci"
+    builder: "integration-pigweed-windows-compatibility-host-disco"
+  }
+}
+job {
+  id: "integration-pigweed-windows-gn-nanopb"
+  realm: "ci"
+  schedule: "triggered"
+  acl_sets: "ci"
+  buildbucket {
+    server: "cr-buildbucket.appspot.com"
+    bucket: "ci"
+    builder: "integration-pigweed-windows-gn-nanopb"
+  }
+}
+job {
+  id: "integration-pigweed-windows-main-host-disco"
+  realm: "ci"
+  acl_sets: "ci"
+  buildbucket {
+    server: "cr-buildbucket.appspot.com"
+    bucket: "ci"
+    builder: "integration-pigweed-windows-main-host-disco"
+  }
+}
+job {
+  id: "integration-pigweed-windows-qemu-compatibility-clang-armgcc"
+  realm: "ci"
+  schedule: "triggered"
+  acl_sets: "ci"
+  buildbucket {
+    server: "cr-buildbucket.appspot.com"
+    bucket: "ci"
+    builder: "integration-pigweed-windows-qemu-compatibility-clang-armgcc"
+  }
+}
+job {
+  id: "integration-pigweed-windows-qemu-main-clang-armgcc"
+  realm: "ci"
+  schedule: "triggered"
+  acl_sets: "ci"
+  buildbucket {
+    server: "cr-buildbucket.appspot.com"
+    bucket: "ci"
+    builder: "integration-pigweed-windows-qemu-main-clang-armgcc"
+  }
+}
+job {
   id: "kythe-libs-roller"
   realm: "roll"
   acl_sets: "roll"
@@ -969,6 +1368,45 @@
   }
 }
 trigger {
+  id: "pigweed-pigweed-integration-main-gitiles-trigger"
+  realm: "ci"
+  acl_sets: "ci"
+  triggers: "integration-envtest-linux-python2"
+  triggers: "integration-envtest-linux-python3"
+  triggers: "integration-envtest-mac"
+  triggers: "integration-envtest-windows"
+  triggers: "integration-integration-pigweed-lintformat"
+  triggers: "integration-pigweed-linux-bazel-build-host-clang"
+  triggers: "integration-pigweed-linux-bazel-test-host-clang"
+  triggers: "integration-pigweed-linux-cmake-host-clang"
+  triggers: "integration-pigweed-linux-cmake-host-gcc"
+  triggers: "integration-pigweed-linux-compatibility-host-disco"
+  triggers: "integration-pigweed-linux-gn-crypto-boringssl"
+  triggers: "integration-pigweed-linux-gn-crypto-build-micro-ecc"
+  triggers: "integration-pigweed-linux-gn-crypto-mbedtls"
+  triggers: "integration-pigweed-linux-gn-nanopb"
+  triggers: "integration-pigweed-linux-gn-software-update"
+  triggers: "integration-pigweed-linux-gn-teensy"
+  triggers: "integration-pigweed-linux-main-host-disco"
+  triggers: "integration-pigweed-linux-qemu-compatibility-clang-armgcc"
+  triggers: "integration-pigweed-linux-qemu-main-clang-armgcc"
+  triggers: "integration-pigweed-linux-san-asan"
+  triggers: "integration-pigweed-linux-san-tsan"
+  triggers: "integration-pigweed-linux-san-ubsan"
+  triggers: "integration-pigweed-linux-static-analysis"
+  triggers: "integration-pigweed-mac-compatibility-host-disco"
+  triggers: "integration-pigweed-mac-gn-nanopb"
+  triggers: "integration-pigweed-mac-gn-teensy"
+  triggers: "integration-pigweed-mac-main-host-disco"
+  triggers: "integration-pigweed-mac-qemu-compatibility-clang-armgcc"
+  triggers: "integration-pigweed-mac-qemu-main-clang-armgcc"
+  triggers: "integration-pigweed-windows-main-host-disco"
+  gitiles {
+    repo: "https://pigweed.googlesource.com/pigweed/integration"
+    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 *"