[roll] Roll the config repository

GitOrigin-RevId: 67807e4827aaf70409be742ac277eb2669b05620
Change-Id: If1bc58aa49c7b89e031e9f026d051f9b5dc31dbd
diff --git a/generated/pigweed/for_review_only/buildbucket/recipes.roll/recipe-scripts-roller-dryrun/builder.textproto b/generated/pigweed/for_review_only/buildbucket/recipes.roll/recipe-scripts-roller-dryrun/builder.textproto
new file mode 100644
index 0000000..1e941b6
--- /dev/null
+++ b/generated/pigweed/for_review_only/buildbucket/recipes.roll/recipe-scripts-roller-dryrun/builder.textproto
@@ -0,0 +1,79 @@
+# Auto-generated by lucicfg.
+# Do not modify manually.
+#
+# For the schema of this file, see Bucket message:
+#   https://config.luci.app/schemas/projects:buildbucket.cfg
+
+name: "recipes.roll"
+swarming {
+  builders {
+    name: "recipe-scripts-roller-dryrun"
+    swarming_host: "chromium-swarm.appspot.com"
+    dimensions: "3600:cores:1|2|4"
+    dimensions: "cpu:x64|x86-64"
+    dimensions: "os:Debian"
+    dimensions: "pool:luci.pigweed.roll"
+    exe {
+      cipd_package: "pigweed/infra/recipe_bundles/pigweed.googlesource.com/infra/recipes"
+      cipd_version: "refs/heads/main"
+      cmd: "luciexe"
+    }
+    properties:
+      '{'
+      '  "auto_roller_options": {'
+      '    "add_gitwatcher_ignore": true,'
+      '    "bot_commit": true,'
+      '    "dry_run": true,'
+      '    "force_submit": false,'
+      '    "labels_to_set": null,'
+      '    "labels_to_wait_on": [],'
+      '    "permit_recommended": false,'
+      '    "poll_interval_secs": 90,'
+      '    "remote": "https://pigweed.googlesource.com/infra/recipes",'
+      '    "upstream_ref": "main"'
+      '  },'
+      '  "checkout_options": {'
+      '    "branch": "main",'
+      '    "equivalent_remotes": [],'
+      '    "initialize_submodules": false,'
+      '    "match_branch": true,'
+      '    "remote": "https://pigweed.googlesource.com/infra/recipes",'
+      '    "use_repo": false,'
+      '    "use_trigger": true'
+      '  },'
+      '  "copy_entries": ['
+      '    {'
+      '      "branch": "main",'
+      '      "destination_path": "scripts/cleanup_deps.py",'
+      '      "remote": "https://fuchsia.googlesource.com/infra/recipes",'
+      '      "source_path": "scripts/cleanup_deps.py"'
+      '    },'
+      '    {'
+      '      "branch": "main",'
+      '      "destination_path": "scripts/renumber_proto_fields.py",'
+      '      "remote": "https://fuchsia.googlesource.com/infra/recipes",'
+      '      "source_path": "scripts/renumber_proto_fields.py"'
+      '    }'
+      '  ],'
+      '  "do_not_bisect": true,'
+      '  "do_not_rerun": true,'
+      '  "dry_run": true,'
+      '  "forge_author": true,'
+      '  "recipe": "roller"'
+      '}'
+    priority: 40
+    execution_timeout_secs: 7320
+    caches {
+      name: "builder"
+      path: "builder"
+    }
+    service_account: "pigweed-try-builder@pigweed-service-accounts.iam.gserviceaccount.com"
+    shadow_builder_adjustments {
+      service_account: "pigweed-try-builder@pigweed-service-accounts.iam.gserviceaccount.com"
+      pool: "luci.pigweed.try"
+      dimensions: "pool:luci.pigweed.try"
+    }
+    max_concurrent_builds: 1
+  }
+}
+shadow: "recipes.roll.shadow"
diff --git a/generated/pigweed/for_review_only/buildbucket/recipes.roll/recipe-scripts-roller-dryrun/description.html b/generated/pigweed/for_review_only/buildbucket/recipes.roll/recipe-scripts-roller-dryrun/description.html
new file mode 100644
index 0000000..6221841
--- /dev/null
+++ b/generated/pigweed/for_review_only/buildbucket/recipes.roll/recipe-scripts-roller-dryrun/description.html
@@ -0,0 +1,5 @@
+Corresponding builders in other buckets:<ul>
+<li><a href="https://ci.chromium.org/p/pigweed/builders/recipes.roll/recipe-scripts-roller">recipes.roll / recipe-scripts-roller</a></li>
+<li>recipes.roll / recipe-scripts-roller-dryrun</li>
+</ul>
+<p><a href="https://luci-scheduler.appspot.com/jobs/pigweed/recipes.roll-recipe-scripts-roller-dryrun">Schedule a new build</a></p>
diff --git a/generated/pigweed/for_review_only/buildbucket/recipes.roll/recipe-scripts-roller/builder.textproto b/generated/pigweed/for_review_only/buildbucket/recipes.roll/recipe-scripts-roller/builder.textproto
new file mode 100644
index 0000000..f06b219
--- /dev/null
+++ b/generated/pigweed/for_review_only/buildbucket/recipes.roll/recipe-scripts-roller/builder.textproto
@@ -0,0 +1,79 @@
+# Auto-generated by lucicfg.
+# Do not modify manually.
+#
+# For the schema of this file, see Bucket message:
+#   https://config.luci.app/schemas/projects:buildbucket.cfg
+
+name: "recipes.roll"
+swarming {
+  builders {
+    name: "recipe-scripts-roller"
+    swarming_host: "chromium-swarm.appspot.com"
+    dimensions: "3600:cores:1|2|4"
+    dimensions: "cpu:x64|x86-64"
+    dimensions: "os:Debian"
+    dimensions: "pool:luci.pigweed.roll"
+    exe {
+      cipd_package: "pigweed/infra/recipe_bundles/pigweed.googlesource.com/infra/recipes"
+      cipd_version: "refs/heads/main"
+      cmd: "luciexe"
+    }
+    properties:
+      '{'
+      '  "auto_roller_options": {'
+      '    "add_gitwatcher_ignore": true,'
+      '    "bot_commit": true,'
+      '    "dry_run": false,'
+      '    "force_submit": false,'
+      '    "labels_to_set": null,'
+      '    "labels_to_wait_on": [],'
+      '    "permit_recommended": false,'
+      '    "poll_interval_secs": 90,'
+      '    "remote": "https://pigweed.googlesource.com/infra/recipes",'
+      '    "upstream_ref": "main"'
+      '  },'
+      '  "checkout_options": {'
+      '    "branch": "main",'
+      '    "equivalent_remotes": [],'
+      '    "initialize_submodules": false,'
+      '    "match_branch": true,'
+      '    "remote": "https://pigweed.googlesource.com/infra/recipes",'
+      '    "use_repo": false,'
+      '    "use_trigger": true'
+      '  },'
+      '  "copy_entries": ['
+      '    {'
+      '      "branch": "main",'
+      '      "destination_path": "scripts/cleanup_deps.py",'
+      '      "remote": "https://fuchsia.googlesource.com/infra/recipes",'
+      '      "source_path": "scripts/cleanup_deps.py"'
+      '    },'
+      '    {'
+      '      "branch": "main",'
+      '      "destination_path": "scripts/renumber_proto_fields.py",'
+      '      "remote": "https://fuchsia.googlesource.com/infra/recipes",'
+      '      "source_path": "scripts/renumber_proto_fields.py"'
+      '    }'
+      '  ],'
+      '  "do_not_bisect": false,'
+      '  "do_not_rerun": false,'
+      '  "dry_run": false,'
+      '  "forge_author": true,'
+      '  "recipe": "roller"'
+      '}'
+    priority: 40
+    execution_timeout_secs: 7320
+    caches {
+      name: "builder"
+      path: "builder"
+    }
+    service_account: "recipe-deps-roller@pigweed-service-accounts.iam.gserviceaccount.com"
+    shadow_builder_adjustments {
+      service_account: "pigweed-try-builder@pigweed-service-accounts.iam.gserviceaccount.com"
+      pool: "luci.pigweed.try"
+      dimensions: "pool:luci.pigweed.try"
+    }
+    max_concurrent_builds: 1
+  }
+}
+shadow: "recipes.roll.shadow"
diff --git a/generated/pigweed/for_review_only/buildbucket/recipes.roll/recipe-scripts-roller/description.html b/generated/pigweed/for_review_only/buildbucket/recipes.roll/recipe-scripts-roller/description.html
new file mode 100644
index 0000000..49b2ffd
--- /dev/null
+++ b/generated/pigweed/for_review_only/buildbucket/recipes.roll/recipe-scripts-roller/description.html
@@ -0,0 +1,6 @@
+Corresponding builders in other buckets:<ul>
+<li>recipes.roll / recipe-scripts-roller</li>
+<li><a href="https://ci.chromium.org/p/pigweed/builders/recipes.roll/recipe-scripts-roller-dryrun">recipes.roll / recipe-scripts-roller-dryrun</a></li>
+</ul>
+<p><a href="https://luci-scheduler.appspot.com/jobs/pigweed/recipes.roll-recipe-scripts-roller">Schedule a new build</a></p>
+<p><a href="https://luci-scheduler.appspot.com/jobs/pigweed/recipe-scripts-roller-recipes-roll-fuchsia-infra-main-with-4h51m42s-interval">Trigger a gitiles poll</a></p>
diff --git a/generated/pigweed/for_review_only/luci-notify/recipes.roll/recipe-scripts-roller-dryrun.textproto b/generated/pigweed/for_review_only/luci-notify/recipes.roll/recipe-scripts-roller-dryrun.textproto
new file mode 100644
index 0000000..413119e
--- /dev/null
+++ b/generated/pigweed/for_review_only/luci-notify/recipes.roll/recipe-scripts-roller-dryrun.textproto
@@ -0,0 +1,25 @@
+# Auto-generated by lucicfg.
+# Do not modify manually.
+#
+# For the schema of this file, see Notifier message:
+#   https://config.luci.app/schemas/projects:luci-notify.cfg
+
+notifications {
+  on_occurrence: FAILURE
+  on_new_status: SUCCESS
+  email {
+    recipients: "pigweed-infra-failures@google.com"
+  }
+  template: "default"
+}
+notifications {
+  on_occurrence: INFRA_FAILURE
+  email {
+    recipients: "pigweed-infra-failures@google.com"
+  }
+  template: "default"
+}
+builders {
+  bucket: "recipes.roll"
+  name: "recipe-scripts-roller-dryrun"
+}
diff --git a/generated/pigweed/for_review_only/luci-notify/recipes.roll/recipe-scripts-roller.textproto b/generated/pigweed/for_review_only/luci-notify/recipes.roll/recipe-scripts-roller.textproto
new file mode 100644
index 0000000..0125071
--- /dev/null
+++ b/generated/pigweed/for_review_only/luci-notify/recipes.roll/recipe-scripts-roller.textproto
@@ -0,0 +1,26 @@
+# Auto-generated by lucicfg.
+# Do not modify manually.
+#
+# For the schema of this file, see Notifier message:
+#   https://config.luci.app/schemas/projects:luci-notify.cfg
+
+notifications {
+  on_occurrence: FAILURE
+  on_new_status: SUCCESS
+  email {
+    recipients: "pigweed-infra-failures@google.com"
+  }
+  template: "roller"
+}
+notifications {
+  on_occurrence: INFRA_FAILURE
+  email {
+    recipients: "pigweed-infra-failures@google.com"
+  }
+  template: "roller"
+}
+builders {
+  bucket: "recipes.roll"
+  name: "recipe-scripts-roller"
+  repository: "https://fuchsia.googlesource.com/infra/recipes"
+}
diff --git a/generated/pigweed/for_review_only/luci-scheduler/recipes.roll/recipe-scripts-roller-dryrun/recipes.roll-recipe-scripts-roller-dryrun b/generated/pigweed/for_review_only/luci-scheduler/recipes.roll/recipe-scripts-roller-dryrun/recipes.roll-recipe-scripts-roller-dryrun
new file mode 100644
index 0000000..f7a88e5
--- /dev/null
+++ b/generated/pigweed/for_review_only/luci-scheduler/recipes.roll/recipe-scripts-roller-dryrun/recipes.roll-recipe-scripts-roller-dryrun
@@ -0,0 +1,14 @@
+# Auto-generated by lucicfg.
+# Do not modify manually.
+#
+# For the schema of this file, see Job message:
+#   https://config.luci.app/schemas/projects:luci-scheduler.cfg
+
+id: "recipes.roll-recipe-scripts-roller-dryrun"
+realm: "recipes.roll"
+schedule: "triggered"
+buildbucket {
+  server: "cr-buildbucket.appspot.com"
+  bucket: "recipes.roll"
+  builder: "recipe-scripts-roller-dryrun"
+}
diff --git a/generated/pigweed/for_review_only/luci-scheduler/recipes.roll/recipe-scripts-roller/recipes.roll-recipe-scripts-roller b/generated/pigweed/for_review_only/luci-scheduler/recipes.roll/recipe-scripts-roller/recipes.roll-recipe-scripts-roller
new file mode 100644
index 0000000..084e484
--- /dev/null
+++ b/generated/pigweed/for_review_only/luci-scheduler/recipes.roll/recipe-scripts-roller/recipes.roll-recipe-scripts-roller
@@ -0,0 +1,13 @@
+# Auto-generated by lucicfg.
+# Do not modify manually.
+#
+# For the schema of this file, see Job message:
+#   https://config.luci.app/schemas/projects:luci-scheduler.cfg
+
+id: "recipes.roll-recipe-scripts-roller"
+realm: "recipes.roll"
+buildbucket {
+  server: "cr-buildbucket.appspot.com"
+  bucket: "recipes.roll"
+  builder: "recipe-scripts-roller"
+}
diff --git a/generated/pigweed/for_review_only/luci-scheduler/recipes.roll/recipe-scripts-roller/recipes.roll-recipe-scripts-roller-recipes-roll-fuchsia-infra-main-with-4h51m42s-interval b/generated/pigweed/for_review_only/luci-scheduler/recipes.roll/recipe-scripts-roller/recipes.roll-recipe-scripts-roller-recipes-roll-fuchsia-infra-main-with-4h51m42s-interval
new file mode 100644
index 0000000..960ae8e
--- /dev/null
+++ b/generated/pigweed/for_review_only/luci-scheduler/recipes.roll/recipe-scripts-roller/recipes.roll-recipe-scripts-roller-recipes-roll-fuchsia-infra-main-with-4h51m42s-interval
@@ -0,0 +1,46 @@
+# Auto-generated by lucicfg.
+# Do not modify manually.
+#
+# For the schema of this file, see Trigger message:
+#   https://config.luci.app/schemas/projects:luci-scheduler.cfg
+
+id: "recipe-scripts-roller-recipes-roll-fuchsia-infra-main-with-4h51m42s-interval"
+realm: "recipes.roll"
+schedule: "with 4h51m42s interval"
+triggers: "recipes.roll-recipe-scripts-roller"
+gitiles {
+  repo: "https://fuchsia.googlesource.com/infra/recipes"
+  refs: "regexp:refs/heads/main"
+  path_regexps: "scripts/.*"
+  path_regexps_exclude: ".*\\.rst"
+  path_regexps_exclude: ".*\\.md"
+  path_regexps_exclude: "docs"
+  path_regexps_exclude: "seed"
+  path_regexps_exclude: "(.*/)?(OWNERS|OWNERS_[^/]+|[^/]+_OWNERS)"
+  path_regexps_exclude: "BUILDCONFIG\\.gn"
+  path_regexps_exclude: "build_overrides"
+  path_regexps_exclude: "bootstrap\\.(bat|sh|fish)"
+  path_regexps_exclude: "activate\\.(bat|sh|fish)"
+  path_regexps_exclude: "pigweed\\.json"
+  path_regexps_exclude: "AUTHORS(\\.md)?"
+  path_regexps_exclude: "LICENSE(\\.md)?"
+  path_regexps_exclude: "PATENTS(\\.md)?"
+  path_regexps_exclude: "README(\\.md)?"
+  path_regexps_exclude: "(PW_)?BANNER"
+  path_regexps_exclude: "banner\\.txt"
+  path_regexps_exclude: "\\.git.*"
+  path_regexps_exclude: "WORKSPACE"
+  path_regexps_exclude: ".*/\\.bazel.*"
+  path_regexps_exclude: "MODULE.bazel"
+  path_regexps_exclude: "MODULE.bazel.lock"
+  path_regexps_exclude: "\\.black\\.toml"
+  path_regexps_exclude: "\\.clang.*"
+  path_regexps_exclude: "\\.mypy.ini"
+  path_regexps_exclude: "\\.pylintrc"
+  path_regexps_exclude: "\\.prettier.*"
+  path_regexps_exclude: "\\.eslint.*"
+  path_regexps_exclude: "pyproject.toml"
+  path_regexps_exclude: "\\.editorconfig"
+  path_regexps_exclude: "\\.pw_ide.yaml"
+  path_regexps_exclude: ".*/pigweed(/(repo|src))?"
+}
diff --git a/generated/pigweed/for_review_only/viz/sanitized/recipes/Name.md b/generated/pigweed/for_review_only/viz/sanitized/recipes/Name.md
index 24e9607..13f166c 100644
--- a/generated/pigweed/for_review_only/viz/sanitized/recipes/Name.md
+++ b/generated/pigweed/for_review_only/viz/sanitized/recipes/Name.md
@@ -9,8 +9,10 @@
 
 | **Name** | [**ci**](ci.md) | [**try**](try.md) | [**roll**](roll.md) |
 ---|:---:|:---:|:---:
-|  | pigweed-ci-builder@psa |  |  |
+|  | pigweed-ci-builder@psa |  | recipe-deps-roller@psa |
 | **recipe-bundler** |   |   | **[roll](https://ci.chromium.org/p/pigweed/builders/recipes.roll/recipe-bundler)**<br/>*[scheduler](https://luci-scheduler.appspot.com/jobs/pigweed/recipes.roll-recipe-bundler)*<br/>recipe-bundler@psa |
-| **recipe-deps-roller** |   |   | **[roll](https://ci.chromium.org/p/pigweed/builders/recipes.roll/recipe-deps-roller)**<br/>*[scheduler](https://luci-scheduler.appspot.com/jobs/pigweed/recipes.roll-recipe-deps-roller)*<br/>recipe-deps-roller@psa |
+| **recipe-deps-roller** |   |   | **[roll](https://ci.chromium.org/p/pigweed/builders/recipes.roll/recipe-deps-roller)**<br/>*[scheduler](https://luci-scheduler.appspot.com/jobs/pigweed/recipes.roll-recipe-deps-roller)* |
+| **recipe-scripts-roller** |   |   | **[roll](https://ci.chromium.org/p/pigweed/builders/recipes.roll/recipe-scripts-roller)**<br/>*[scheduler](https://luci-scheduler.appspot.com/jobs/pigweed/recipes.roll-recipe-scripts-roller)* |
+| **recipe-scripts-roller-dryrun** |   |   | **[roll](https://ci.chromium.org/p/pigweed/builders/recipes.roll/recipe-scripts-roller-dryrun)**<br/>*[scheduler](https://luci-scheduler.appspot.com/jobs/pigweed/recipes.roll-recipe-scripts-roller-dryrun)*<br/>pigweed-try-builder@psa |
 | **recipes-unittest-only** | **[ci](https://ci.chromium.org/p/pigweed/builders/recipes.ci/recipes-unittest-only)**<br/>*[scheduler](https://luci-scheduler.appspot.com/jobs/pigweed/recipes.ci-recipes-unittest-only)* | **[try](https://ci.chromium.org/p/pigweed/builders/recipes.try/recipes-unittest-only)**<br/>pigweed-try-builder@psa |   |
 | **recipes-with-led** |   | **[try](https://ci.chromium.org/p/pigweed/builders/recipes.try/recipes-with-led)**<br/>recipes-try-builder@psa |   |
diff --git a/generated/pigweed/for_review_only/viz/sanitized/recipes/ci.md b/generated/pigweed/for_review_only/viz/sanitized/recipes/ci.md
index 17a896a..09b9cfa 100644
--- a/generated/pigweed/for_review_only/viz/sanitized/recipes/ci.md
+++ b/generated/pigweed/for_review_only/viz/sanitized/recipes/ci.md
@@ -9,8 +9,10 @@
 
 | [**Name**](Name.md) | **ci** | [**try**](try.md) | [**roll**](roll.md) |
 ---|:---:|:---:|:---:
-|  | pigweed-ci-builder@psa |  |  |
+|  | pigweed-ci-builder@psa |  | recipe-deps-roller@psa |
 | **recipes-unittest-only** | **[ci](https://ci.chromium.org/p/pigweed/builders/recipes.ci/recipes-unittest-only)**<br/>*[scheduler](https://luci-scheduler.appspot.com/jobs/pigweed/recipes.ci-recipes-unittest-only)* | **[try](https://ci.chromium.org/p/pigweed/builders/recipes.try/recipes-unittest-only)**<br/>pigweed-try-builder@psa |   |
 | **recipe-bundler** |   |   | **[roll](https://ci.chromium.org/p/pigweed/builders/recipes.roll/recipe-bundler)**<br/>*[scheduler](https://luci-scheduler.appspot.com/jobs/pigweed/recipes.roll-recipe-bundler)*<br/>recipe-bundler@psa |
-| **recipe-deps-roller** |   |   | **[roll](https://ci.chromium.org/p/pigweed/builders/recipes.roll/recipe-deps-roller)**<br/>*[scheduler](https://luci-scheduler.appspot.com/jobs/pigweed/recipes.roll-recipe-deps-roller)*<br/>recipe-deps-roller@psa |
+| **recipe-deps-roller** |   |   | **[roll](https://ci.chromium.org/p/pigweed/builders/recipes.roll/recipe-deps-roller)**<br/>*[scheduler](https://luci-scheduler.appspot.com/jobs/pigweed/recipes.roll-recipe-deps-roller)* |
+| **recipe-scripts-roller** |   |   | **[roll](https://ci.chromium.org/p/pigweed/builders/recipes.roll/recipe-scripts-roller)**<br/>*[scheduler](https://luci-scheduler.appspot.com/jobs/pigweed/recipes.roll-recipe-scripts-roller)* |
+| **recipe-scripts-roller-dryrun** |   |   | **[roll](https://ci.chromium.org/p/pigweed/builders/recipes.roll/recipe-scripts-roller-dryrun)**<br/>*[scheduler](https://luci-scheduler.appspot.com/jobs/pigweed/recipes.roll-recipe-scripts-roller-dryrun)*<br/>pigweed-try-builder@psa |
 | **recipes-with-led** |   | **[try](https://ci.chromium.org/p/pigweed/builders/recipes.try/recipes-with-led)**<br/>recipes-try-builder@psa |   |
diff --git a/generated/pigweed/for_review_only/viz/sanitized/recipes/roll.md b/generated/pigweed/for_review_only/viz/sanitized/recipes/roll.md
index e6c578b..e867763 100644
--- a/generated/pigweed/for_review_only/viz/sanitized/recipes/roll.md
+++ b/generated/pigweed/for_review_only/viz/sanitized/recipes/roll.md
@@ -9,8 +9,10 @@
 
 | [**Name**](Name.md) | [**ci**](ci.md) | [**try**](try.md) | **roll** |
 ---|:---:|:---:|:---:
-|  | pigweed-ci-builder@psa |  |  |
+|  | pigweed-ci-builder@psa |  | recipe-deps-roller@psa |
 | **recipe-bundler** |   |   | **[roll](https://ci.chromium.org/p/pigweed/builders/recipes.roll/recipe-bundler)**<br/>*[scheduler](https://luci-scheduler.appspot.com/jobs/pigweed/recipes.roll-recipe-bundler)*<br/>recipe-bundler@psa |
-| **recipe-deps-roller** |   |   | **[roll](https://ci.chromium.org/p/pigweed/builders/recipes.roll/recipe-deps-roller)**<br/>*[scheduler](https://luci-scheduler.appspot.com/jobs/pigweed/recipes.roll-recipe-deps-roller)*<br/>recipe-deps-roller@psa |
+| **recipe-deps-roller** |   |   | **[roll](https://ci.chromium.org/p/pigweed/builders/recipes.roll/recipe-deps-roller)**<br/>*[scheduler](https://luci-scheduler.appspot.com/jobs/pigweed/recipes.roll-recipe-deps-roller)* |
+| **recipe-scripts-roller** |   |   | **[roll](https://ci.chromium.org/p/pigweed/builders/recipes.roll/recipe-scripts-roller)**<br/>*[scheduler](https://luci-scheduler.appspot.com/jobs/pigweed/recipes.roll-recipe-scripts-roller)* |
+| **recipe-scripts-roller-dryrun** |   |   | **[roll](https://ci.chromium.org/p/pigweed/builders/recipes.roll/recipe-scripts-roller-dryrun)**<br/>*[scheduler](https://luci-scheduler.appspot.com/jobs/pigweed/recipes.roll-recipe-scripts-roller-dryrun)*<br/>pigweed-try-builder@psa |
 | **recipes-unittest-only** | **[ci](https://ci.chromium.org/p/pigweed/builders/recipes.ci/recipes-unittest-only)**<br/>*[scheduler](https://luci-scheduler.appspot.com/jobs/pigweed/recipes.ci-recipes-unittest-only)* | **[try](https://ci.chromium.org/p/pigweed/builders/recipes.try/recipes-unittest-only)**<br/>pigweed-try-builder@psa |   |
 | **recipes-with-led** |   | **[try](https://ci.chromium.org/p/pigweed/builders/recipes.try/recipes-with-led)**<br/>recipes-try-builder@psa |   |
diff --git a/generated/pigweed/for_review_only/viz/sanitized/recipes/try.md b/generated/pigweed/for_review_only/viz/sanitized/recipes/try.md
index 8f84af1..3c784da 100644
--- a/generated/pigweed/for_review_only/viz/sanitized/recipes/try.md
+++ b/generated/pigweed/for_review_only/viz/sanitized/recipes/try.md
@@ -9,8 +9,10 @@
 
 | [**Name**](Name.md) | [**ci**](ci.md) | **try** | [**roll**](roll.md) |
 ---|:---:|:---:|:---:
-|  | pigweed-ci-builder@psa |  |  |
+|  | pigweed-ci-builder@psa |  | recipe-deps-roller@psa |
 | **recipes-unittest-only** | **[ci](https://ci.chromium.org/p/pigweed/builders/recipes.ci/recipes-unittest-only)**<br/>*[scheduler](https://luci-scheduler.appspot.com/jobs/pigweed/recipes.ci-recipes-unittest-only)* | **[try](https://ci.chromium.org/p/pigweed/builders/recipes.try/recipes-unittest-only)**<br/>pigweed-try-builder@psa |   |
 | **recipes-with-led** |   | **[try](https://ci.chromium.org/p/pigweed/builders/recipes.try/recipes-with-led)**<br/>recipes-try-builder@psa |   |
 | **recipe-bundler** |   |   | **[roll](https://ci.chromium.org/p/pigweed/builders/recipes.roll/recipe-bundler)**<br/>*[scheduler](https://luci-scheduler.appspot.com/jobs/pigweed/recipes.roll-recipe-bundler)*<br/>recipe-bundler@psa |
-| **recipe-deps-roller** |   |   | **[roll](https://ci.chromium.org/p/pigweed/builders/recipes.roll/recipe-deps-roller)**<br/>*[scheduler](https://luci-scheduler.appspot.com/jobs/pigweed/recipes.roll-recipe-deps-roller)*<br/>recipe-deps-roller@psa |
+| **recipe-deps-roller** |   |   | **[roll](https://ci.chromium.org/p/pigweed/builders/recipes.roll/recipe-deps-roller)**<br/>*[scheduler](https://luci-scheduler.appspot.com/jobs/pigweed/recipes.roll-recipe-deps-roller)* |
+| **recipe-scripts-roller** |   |   | **[roll](https://ci.chromium.org/p/pigweed/builders/recipes.roll/recipe-scripts-roller)**<br/>*[scheduler](https://luci-scheduler.appspot.com/jobs/pigweed/recipes.roll-recipe-scripts-roller)* |
+| **recipe-scripts-roller-dryrun** |   |   | **[roll](https://ci.chromium.org/p/pigweed/builders/recipes.roll/recipe-scripts-roller-dryrun)**<br/>*[scheduler](https://luci-scheduler.appspot.com/jobs/pigweed/recipes.roll-recipe-scripts-roller-dryrun)*<br/>pigweed-try-builder@psa |
diff --git a/generated/pigweed/luci/cr-buildbucket.cfg b/generated/pigweed/luci/cr-buildbucket.cfg
index d01a982..89098e5 100644
--- a/generated/pigweed/luci/cr-buildbucket.cfg
+++ b/generated/pigweed/luci/cr-buildbucket.cfg
@@ -36119,6 +36119,146 @@
       }
       max_concurrent_builds: 1
     }
+    builders {
+      name: "recipe-scripts-roller"
+      swarming_host: "chromium-swarm.appspot.com"
+      dimensions: "3600:cores:1|2|4"
+      dimensions: "cpu:x64|x86-64"
+      dimensions: "os:Debian"
+      dimensions: "pool:luci.pigweed.roll"
+      exe {
+        cipd_package: "pigweed/infra/recipe_bundles/pigweed.googlesource.com/infra/recipes"
+        cipd_version: "refs/heads/main"
+        cmd: "luciexe"
+      }
+      properties:
+        '{'
+        '  "auto_roller_options": {'
+        '    "add_gitwatcher_ignore": true,'
+        '    "bot_commit": true,'
+        '    "dry_run": false,'
+        '    "force_submit": false,'
+        '    "labels_to_set": null,'
+        '    "labels_to_wait_on": [],'
+        '    "permit_recommended": false,'
+        '    "poll_interval_secs": 90,'
+        '    "remote": "https://pigweed.googlesource.com/infra/recipes",'
+        '    "upstream_ref": "main"'
+        '  },'
+        '  "checkout_options": {'
+        '    "branch": "main",'
+        '    "equivalent_remotes": [],'
+        '    "initialize_submodules": false,'
+        '    "match_branch": true,'
+        '    "remote": "https://pigweed.googlesource.com/infra/recipes",'
+        '    "use_repo": false,'
+        '    "use_trigger": true'
+        '  },'
+        '  "copy_entries": ['
+        '    {'
+        '      "branch": "main",'
+        '      "destination_path": "scripts/cleanup_deps.py",'
+        '      "remote": "https://fuchsia.googlesource.com/infra/recipes",'
+        '      "source_path": "scripts/cleanup_deps.py"'
+        '    },'
+        '    {'
+        '      "branch": "main",'
+        '      "destination_path": "scripts/renumber_proto_fields.py",'
+        '      "remote": "https://fuchsia.googlesource.com/infra/recipes",'
+        '      "source_path": "scripts/renumber_proto_fields.py"'
+        '    }'
+        '  ],'
+        '  "do_not_bisect": false,'
+        '  "do_not_rerun": false,'
+        '  "dry_run": false,'
+        '  "forge_author": true,'
+        '  "recipe": "roller"'
+        '}'
+      priority: 40
+      execution_timeout_secs: 7320
+      caches {
+        name: "builder"
+        path: "builder"
+      }
+      service_account: "recipe-deps-roller@pigweed-service-accounts.iam.gserviceaccount.com"
+      description_html: "Corresponding builders in other buckets:<ul>\n<li>recipes.roll / recipe-scripts-roller</li>\n<li><a href=\"https://ci.chromium.org/p/pigweed/builders/recipes.roll/recipe-scripts-roller-dryrun\">recipes.roll / recipe-scripts-roller-dryrun</a></li>\n</ul>\n<p><a href=\"https://luci-scheduler.appspot.com/jobs/pigweed/recipes.roll-recipe-scripts-roller\">Schedule a new build</a></p>\n<p><a href=\"https://luci-scheduler.appspot.com/jobs/pigweed/recipe-scripts-roller-recipes-roll-fuchsia-infra-main-with-4h51m42s-interval\">Trigger a gitiles poll</a></p>\n"
+      shadow_builder_adjustments {
+        service_account: "pigweed-try-builder@pigweed-service-accounts.iam.gserviceaccount.com"
+        pool: "luci.pigweed.try"
+        dimensions: "pool:luci.pigweed.try"
+      }
+      max_concurrent_builds: 1
+    }
+    builders {
+      name: "recipe-scripts-roller-dryrun"
+      swarming_host: "chromium-swarm.appspot.com"
+      dimensions: "3600:cores:1|2|4"
+      dimensions: "cpu:x64|x86-64"
+      dimensions: "os:Debian"
+      dimensions: "pool:luci.pigweed.roll"
+      exe {
+        cipd_package: "pigweed/infra/recipe_bundles/pigweed.googlesource.com/infra/recipes"
+        cipd_version: "refs/heads/main"
+        cmd: "luciexe"
+      }
+      properties:
+        '{'
+        '  "auto_roller_options": {'
+        '    "add_gitwatcher_ignore": true,'
+        '    "bot_commit": true,'
+        '    "dry_run": true,'
+        '    "force_submit": false,'
+        '    "labels_to_set": null,'
+        '    "labels_to_wait_on": [],'
+        '    "permit_recommended": false,'
+        '    "poll_interval_secs": 90,'
+        '    "remote": "https://pigweed.googlesource.com/infra/recipes",'
+        '    "upstream_ref": "main"'
+        '  },'
+        '  "checkout_options": {'
+        '    "branch": "main",'
+        '    "equivalent_remotes": [],'
+        '    "initialize_submodules": false,'
+        '    "match_branch": true,'
+        '    "remote": "https://pigweed.googlesource.com/infra/recipes",'
+        '    "use_repo": false,'
+        '    "use_trigger": true'
+        '  },'
+        '  "copy_entries": ['
+        '    {'
+        '      "branch": "main",'
+        '      "destination_path": "scripts/cleanup_deps.py",'
+        '      "remote": "https://fuchsia.googlesource.com/infra/recipes",'
+        '      "source_path": "scripts/cleanup_deps.py"'
+        '    },'
+        '    {'
+        '      "branch": "main",'
+        '      "destination_path": "scripts/renumber_proto_fields.py",'
+        '      "remote": "https://fuchsia.googlesource.com/infra/recipes",'
+        '      "source_path": "scripts/renumber_proto_fields.py"'
+        '    }'
+        '  ],'
+        '  "do_not_bisect": true,'
+        '  "do_not_rerun": true,'
+        '  "dry_run": true,'
+        '  "forge_author": true,'
+        '  "recipe": "roller"'
+        '}'
+      priority: 40
+      execution_timeout_secs: 7320
+      caches {
+        name: "builder"
+        path: "builder"
+      }
+      service_account: "pigweed-try-builder@pigweed-service-accounts.iam.gserviceaccount.com"
+      description_html: "Corresponding builders in other buckets:<ul>\n<li><a href=\"https://ci.chromium.org/p/pigweed/builders/recipes.roll/recipe-scripts-roller\">recipes.roll / recipe-scripts-roller</a></li>\n<li>recipes.roll / recipe-scripts-roller-dryrun</li>\n</ul>\n<p><a href=\"https://luci-scheduler.appspot.com/jobs/pigweed/recipes.roll-recipe-scripts-roller-dryrun\">Schedule a new build</a></p>\n"
+      shadow_builder_adjustments {
+        service_account: "pigweed-try-builder@pigweed-service-accounts.iam.gserviceaccount.com"
+        pool: "luci.pigweed.try"
+        dimensions: "pool:luci.pigweed.try"
+      }
+      max_concurrent_builds: 1
+    }
   }
   shadow: "recipes.roll.shadow"
 }
diff --git a/generated/pigweed/luci/luci-notify.cfg b/generated/pigweed/luci/luci-notify.cfg
index 4271b48..f9b340d 100644
--- a/generated/pigweed/luci/luci-notify.cfg
+++ b/generated/pigweed/luci/luci-notify.cfg
@@ -4368,6 +4368,49 @@
 }
 notifiers {
   notifications {
+    on_occurrence: FAILURE
+    on_new_status: SUCCESS
+    email {
+      recipients: "pigweed-infra-failures@google.com"
+    }
+    template: "roller"
+  }
+  notifications {
+    on_occurrence: INFRA_FAILURE
+    email {
+      recipients: "pigweed-infra-failures@google.com"
+    }
+    template: "roller"
+  }
+  builders {
+    bucket: "recipes.roll"
+    name: "recipe-scripts-roller"
+    repository: "https://fuchsia.googlesource.com/infra/recipes"
+  }
+}
+notifiers {
+  notifications {
+    on_occurrence: FAILURE
+    on_new_status: SUCCESS
+    email {
+      recipients: "pigweed-infra-failures@google.com"
+    }
+    template: "default"
+  }
+  notifications {
+    on_occurrence: INFRA_FAILURE
+    email {
+      recipients: "pigweed-infra-failures@google.com"
+    }
+    template: "default"
+  }
+  builders {
+    bucket: "recipes.roll"
+    name: "recipe-scripts-roller-dryrun"
+  }
+}
+notifiers {
+  notifications {
     on_occurrence: INFRA_FAILURE
     email {
       recipients: "pigweed-infra-failures@google.com"
diff --git a/generated/pigweed/luci/luci-scheduler.cfg b/generated/pigweed/luci/luci-scheduler.cfg
index 416276f..014c745 100644
--- a/generated/pigweed/luci/luci-scheduler.cfg
+++ b/generated/pigweed/luci/luci-scheduler.cfg
@@ -3070,6 +3070,25 @@
   }
 }
 job {
+  id: "recipes.roll-recipe-scripts-roller"
+  realm: "recipes.roll"
+  buildbucket {
+    server: "cr-buildbucket.appspot.com"
+    bucket: "recipes.roll"
+    builder: "recipe-scripts-roller"
+  }
+}
+job {
+  id: "recipes.roll-recipe-scripts-roller-dryrun"
+  realm: "recipes.roll"
+  schedule: "triggered"
+  buildbucket {
+    server: "cr-buildbucket.appspot.com"
+    bucket: "recipes.roll"
+    builder: "recipe-scripts-roller-dryrun"
+  }
+}
+job {
   id: "recipes.ci-recipes-unittest-only"
   realm: "recipes.ci"
   buildbucket {
@@ -6186,6 +6205,48 @@
   }
 }
 trigger {
+  id: "recipe-scripts-roller-recipes-roll-fuchsia-infra-main-with-4h51m42s-interval"
+  realm: "recipes.roll"
+  schedule: "with 4h51m42s interval"
+  triggers: "recipes.roll-recipe-scripts-roller"
+  gitiles {
+    repo: "https://fuchsia.googlesource.com/infra/recipes"
+    refs: "regexp:refs/heads/main"
+    path_regexps: "scripts/.*"
+    path_regexps_exclude: ".*\\.rst"
+    path_regexps_exclude: ".*\\.md"
+    path_regexps_exclude: "docs"
+    path_regexps_exclude: "seed"
+    path_regexps_exclude: "(.*/)?(OWNERS|OWNERS_[^/]+|[^/]+_OWNERS)"
+    path_regexps_exclude: "BUILDCONFIG\\.gn"
+    path_regexps_exclude: "build_overrides"
+    path_regexps_exclude: "bootstrap\\.(bat|sh|fish)"
+    path_regexps_exclude: "activate\\.(bat|sh|fish)"
+    path_regexps_exclude: "pigweed\\.json"
+    path_regexps_exclude: "AUTHORS(\\.md)?"
+    path_regexps_exclude: "LICENSE(\\.md)?"
+    path_regexps_exclude: "PATENTS(\\.md)?"
+    path_regexps_exclude: "README(\\.md)?"
+    path_regexps_exclude: "(PW_)?BANNER"
+    path_regexps_exclude: "banner\\.txt"
+    path_regexps_exclude: "\\.git.*"
+    path_regexps_exclude: "WORKSPACE"
+    path_regexps_exclude: ".*/\\.bazel.*"
+    path_regexps_exclude: "MODULE.bazel"
+    path_regexps_exclude: "MODULE.bazel.lock"
+    path_regexps_exclude: "\\.black\\.toml"
+    path_regexps_exclude: "\\.clang.*"
+    path_regexps_exclude: "\\.mypy.ini"
+    path_regexps_exclude: "\\.pylintrc"
+    path_regexps_exclude: "\\.prettier.*"
+    path_regexps_exclude: "\\.eslint.*"
+    path_regexps_exclude: "pyproject.toml"
+    path_regexps_exclude: "\\.editorconfig"
+    path_regexps_exclude: "\\.pw_ide.yaml"
+    path_regexps_exclude: ".*/pigweed(/(repo|src))?"
+  }
+}
+trigger {
   id: "recipes-unittest-only-ci-pw-infra-main"
   realm: "recipes.ci"
   triggers: "recipes.ci-recipes-unittest-only"