[recipes] Add recipe bundler trigger

This should trigger on new branches,
removing a step from go/flutter-release-workflow

Change-Id: I68f631fc5c8aca2a3ac2a34f53273b752712ec9d
Reviewed-on: https://flutter-review.googlesource.com/c/infra/+/30421
Commit-Queue: Casey Hillers <chillers@google.com>
Reviewed-by: Keyong Han <keyonghan@google.com>
diff --git a/config/generated/flutter/luci/luci-scheduler.cfg b/config/generated/flutter/luci/luci-scheduler.cfg
index 7a2058e..508ef33 100644
--- a/config/generated/flutter/luci/luci-scheduler.cfg
+++ b/config/generated/flutter/luci/luci-scheduler.cfg
@@ -12878,6 +12878,16 @@
   }
 }
 trigger {
+  id: "gitiles-trigger-recipe-bundler"
+  realm: "prod"
+  acl_sets: "prod"
+  triggers: "recipes-bundler"
+  gitiles {
+    repo: "https://flutter.googlesource.com/recipes"
+    refs: "regexp:refs/heads/.*"
+  }
+}
+trigger {
   id: "gitiles-trigger-usbmuxd"
   realm: "prod"
   acl_sets: "prod"
diff --git a/config/generated/flutter/luci/project.cfg b/config/generated/flutter/luci/project.cfg
index 61da59d..1b70f14 100644
--- a/config/generated/flutter/luci/project.cfg
+++ b/config/generated/flutter/luci/project.cfg
@@ -7,7 +7,7 @@
 name: "flutter"
 access: "group:all"
 lucicfg {
-  version: "1.30.11"
+  version: "1.30.10"
   package_dir: "../../.."
   config_dir: "generated/flutter/luci"
   entry_point: "main.star"
diff --git a/config/lib/common.star b/config/lib/common.star
index 35695ce..b8a61c0 100644
--- a/config/lib/common.star
+++ b/config/lib/common.star
@@ -114,7 +114,8 @@
         schedule = None,
         disabled = False,
         swarming_tags = None,
-        service_account = None):
+        service_account = None,
+        triggered_by = None):
     """Creates a builder, notifier, trigger, view entry.
 
     Args:
@@ -147,6 +148,7 @@
             cq_tryjob_verifier, but still create the builder so that it can
             be triggered manually.
         service_account: Passed through to luci.builder.
+        triggered_by: LUCI triggers that will start this builder.
     """
     absolute_name = builder_group.bucket + "/" + name
     is_try = builder_group.bucket.endswith("try")
@@ -180,6 +182,7 @@
         priority = priority or builder_group.priority,
         properties = final_properties,
         triggering_policy = builder_group.triggering_policy,
+        triggered_by = triggered_by,
         schedule = None if disabled else schedule,
         task_template_canary_percentage = 0,
         service_account = service_account or builder_group.account,
@@ -322,12 +325,17 @@
     pool = kwargs.pop("pool", "luci.flutter.prod")
     name_parts = name.split("|")
 
+    # Handle case where gerrit builders are one word
+    short_name = name_parts[0]
+    if len(name_parts) > 1:
+        short_name = name_parts[1]
+
     if console_view_name:
         luci.console_view_entry(
             builder = bucket + "/" + name_parts[0],
             console_view = console_view_name,
             category = category,
-            short_name = name_parts[1],
+            short_name = short_name,
         )
 
     experiments = {"luci.recipes.use_python3": 100, "luci.buildbucket.agent.cipd_installation": 0}
diff --git a/config/recipes_config.star b/config/recipes_config.star
index 71dab11..ed7611f 100644
--- a/config/recipes_config.star
+++ b/config/recipes_config.star
@@ -132,6 +132,15 @@
     )
 
     # Recipes builder. This is used to create a bundle of the cipd package.
+    # Defines recipe bundler scheduler to handle release branch case
+    trigger_name = "gitiles-trigger-recipe-bundler"
+    luci.gitiles_poller(
+        name = trigger_name,
+        bucket = "prod",
+        repo = repos.FLUTTER_RECIPES,
+        refs = ["refs/heads/.*"],
+    )
+
     common.builder(
         name = "recipes-bundler",
         builder_group = builder_groups.recipes_prod,
@@ -158,6 +167,7 @@
         console_category = console_name,
         console_short_name = "bdlr",
         experiments = {"luci.recipes.use_python3": 100, "luci.buildbucket.agent.cipd_installation": 0},
+        triggered_by = [trigger_name],
     )
 
 recipes_config = struct(setup = _setup)