[CBB] Command line trigger CbbGetBrowserVersionsWorkflow
Add an option to trigger CbbGetBrowserVersionsWorkflow from command
line.
Bug: b/433797099
Change-Id: I5129f57d131c08600973e42d0dd95245aa793119
Reviewed-on: https://skia-review.googlesource.com/c/buildbot/+/1069989
Reviewed-by: Farid (Mojtaba) Faridzad <faridzad@google.com>
Commit-Queue: John Chen <zhanliang@google.com>
diff --git a/pinpoint/go/workflows/sample/main.go b/pinpoint/go/workflows/sample/main.go
index 098dc0f..65adad7 100644
--- a/pinpoint/go/workflows/sample/main.go
+++ b/pinpoint/go/workflows/sample/main.go
@@ -60,6 +60,7 @@
triggerQueryPairwiseFlag = flag.Bool("query-pairwise", false, "toggle true to trigger querying of pairwise flows")
triggerCbbRunnerFlag = flag.Bool("cbb-runner", false, "toggle true to trigger CBB runner workflow")
triggerCbbNewReleaseFlag = flag.Bool("cbb-new-release", false, "toggle true to trigger CbbNewReleaseDetectorWorkflow")
+ triggerCbbGetVersionsFlag = flag.Bool("cbb-get-versions", false, "toggle true to trigger CbbGetBrowserVersionsWorkflow")
// The following flags are used by cbb-runner only.
commitPosition = flag.Int("commit-position", 0, "Commit position (required for CBB).")
browser = flag.String("browser", "chrome", "chrome or safari or edge (used by CBB only)")
@@ -462,6 +463,27 @@
return result, nil
}
+func triggerCbbGetBrowserVersions(c client.Client) ([]internal.BuildInfo, error) {
+ if len(flag.Args()) != 0 {
+ return nil, fmt.Errorf("Unrecognized command line arguments: %v", flag.Args())
+ }
+ if *browser != "safari" && *browser != "edge" {
+ return nil, errors.New("Either --browser=safari or --browser=edge is required")
+ }
+ ctx := context.Background()
+ var buildInfos []internal.BuildInfo
+ we, err := c.ExecuteWorkflow(ctx, defaultWorkflowOptions(), workflows.CbbGetBrowserVersions, *browser)
+ if err != nil {
+ return nil, skerr.Wrapf(err, "Unable to execute workflow")
+ }
+ sklog.Infof("Started workflow.. WorkflowID: %v RunID: %v", we.GetID(), we.GetRunID())
+
+ if err := we.Get(ctx, &buildInfos); err != nil {
+ return nil, skerr.Wrapf(err, "Unable to get result")
+ }
+ return buildInfos, nil
+}
+
// Sample client to trigger a BuildChrome workflow.
func main() {
flag.Parse()
@@ -510,10 +532,12 @@
if *triggerCbbRunnerFlag {
result, err = triggerCbbRunner(c)
}
-
if *triggerCbbNewReleaseFlag {
result, err = triggerCbbNewReleaseDetector(c)
}
+ if *triggerCbbGetVersionsFlag {
+ result, err = triggerCbbGetBrowserVersions(c)
+ }
if err != nil {
sklog.Errorf("Workflow failed:", err)