Trigger a staging builder by another builder

We have been working on devicelab build+test separation. This CL investigate how a builder is triggered by another builder. We expect to trigger test step builders by build step builders when they finish building the artifact.

Change-Id: I94e13c2ee7a7a33f4dc7ef3fcf8c099bd0c48db0
Reviewed-on: https://flutter-review.googlesource.com/c/infra/+/33126
Reviewed-by: Yusuf Mohsinally <mohsinally@google.com>
Commit-Queue: Keyong Han <keyonghan@google.com>
diff --git a/config/devicelab_staging_config.star b/config/devicelab_staging_config.star
index 8fe4975..3e09e8d 100644
--- a/config/devicelab_staging_config.star
+++ b/config/devicelab_staging_config.star
@@ -438,7 +438,9 @@
             name = "Linux_samsung_a02_staging %s|%s" % (task, common.short_name(task)),
             recipe = drone_recipe_name,
             console_view_name = console_view_name,
-            triggered_by = [trigger_name],
+            # TODO (keyonghan): remove the `triggered_by` builder special case for task `new_gallery__transition_perf`
+            # once https://github.com/flutter/flutter/issues/103542 is resolved.
+            triggered_by = ["Linux_samsung_a02_staging new_gallery__crane_perf"] if task == "new_gallery__transition_perf" else [trigger_name],
             triggering_policy = triggering_policy,
             properties = {
                 "dependencies": [
diff --git a/config/generated/flutter/luci/luci-scheduler.cfg b/config/generated/flutter/luci/luci-scheduler.cfg
index c60a999..4337a70 100644
--- a/config/generated/flutter/luci/luci-scheduler.cfg
+++ b/config/generated/flutter/luci/luci-scheduler.cfg
@@ -7578,7 +7578,6 @@
   triggers: "Linux_samsung_a02_staging complex_layout_scroll_perf__timeline_summary"
   triggers: "Linux_samsung_a02_staging flutter_gallery__transition_perf"
   triggers: "Linux_samsung_a02_staging new_gallery__crane_perf"
-  triggers: "Linux_samsung_a02_staging new_gallery__transition_perf"
   triggers: "Linux_samsung_a02_staging opacity_peephole_one_rect_perf__e2e_summary"
   triggers: "Mac_android_staging drive_perf_debug_warning"
   triggers: "Mac_android_staging hello_world_android__compile"
diff --git a/config/generated/flutter/luci/realms.cfg b/config/generated/flutter/luci/realms.cfg
index 4fd98db..0d648be 100644
--- a/config/generated/flutter/luci/realms.cfg
+++ b/config/generated/flutter/luci/realms.cfg
@@ -128,6 +128,16 @@
     principals: "group:project-flutter-led-users"
     principals: "group:project-flutter-staging-schedulers"
   }
+  bindings {
+    role: "role/scheduler.triggerer"
+    principals: "user:flutter-staging-builder@chops-service-accounts.iam.gserviceaccount.com"
+    conditions {
+      restrict {
+        attribute: "scheduler.job.name"
+        values: "Linux_samsung_a02_staging new_gallery__transition_perf"
+      }
+    }
+  }
 }
 realms {
   name: "try"