[PublicChromiumOnChromeOS] Adds a FYI builder in Chromium CI to run public tests with crosfleet-cli

Bug: b/209476191
Test: CL Presubmit tests, "vpython3 generate_buildbot_json.py --check --verbose"

Change-Id: I7cca79c7dae5e3636a2c87451f660a6a115ef27e
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3466335
Reviewed-by: Xinan Lin <linxinan@chromium.org>
Reviewed-by: Yuke Liao <liaoyuke@chromium.org>
Commit-Queue: Gowri Denduluri <gowriden@google.com>
Cr-Commit-Position: refs/heads/main@{#978505}
diff --git a/infra/config/generated/builders/ci/lacros-amd64-generic-rel-skylab-fyi/properties.json b/infra/config/generated/builders/ci/lacros-amd64-generic-rel-skylab-fyi/properties.json
new file mode 100644
index 0000000..fc3bce3
--- /dev/null
+++ b/infra/config/generated/builders/ci/lacros-amd64-generic-rel-skylab-fyi/properties.json
@@ -0,0 +1,17 @@
+{
+  "$build/goma": {
+    "enable_ats": true,
+    "rpc_extra_params": "?prod",
+    "server_host": "goma.chromium.org",
+    "use_luci_auth": true
+  },
+  "$recipe_engine/resultdb/test_presentation": {
+    "column_keys": [],
+    "grouping_keys": [
+      "status",
+      "v.test_suite"
+    ]
+  },
+  "builder_group": "chromium.fyi",
+  "recipe": "chromium"
+}
\ No newline at end of file
diff --git a/infra/config/generated/luci/cr-buildbucket.cfg b/infra/config/generated/luci/cr-buildbucket.cfg
index a600534..c8f21661 100644
--- a/infra/config/generated/luci/cr-buildbucket.cfg
+++ b/infra/config/generated/luci/cr-buildbucket.cfg
@@ -31713,6 +31713,85 @@
       }
     }
     builders {
+      name: "lacros-amd64-generic-rel-skylab-fyi"
+      swarming_host: "chromium-swarm.appspot.com"
+      dimensions: "builderless:1"
+      dimensions: "cores:8"
+      dimensions: "cpu:x86-64"
+      dimensions: "os:Ubuntu-18.04"
+      dimensions: "pool:luci.chromium.ci"
+      dimensions: "ssd:0"
+      exe {
+        cipd_package: "infra/chromium/bootstrapper/${platform}"
+        cipd_version: "latest"
+        cmd: "bootstrapper"
+      }
+      properties:
+        '{'
+        '  "$bootstrap/exe": {'
+        '    "exe": {'
+        '      "cipd_package": "infra/recipe_bundles/chromium.googlesource.com/chromium/tools/build",'
+        '      "cipd_version": "refs/heads/main",'
+        '      "cmd": ['
+        '        "luciexe"'
+        '      ]'
+        '    }'
+        '  },'
+        '  "$bootstrap/properties": {'
+        '    "properties_file": "infra/config/generated/builders/ci/lacros-amd64-generic-rel-skylab-fyi/properties.json",'
+        '    "top_level_project": {'
+        '      "ref": "refs/heads/main",'
+        '      "repo": {'
+        '        "host": "chromium.googlesource.com",'
+        '        "project": "chromium/src"'
+        '      }'
+        '    }'
+        '  },'
+        '  "builder_group": "chromium.fyi",'
+        '  "led_builder_is_bootstrapped": true,'
+        '  "recipe": "chromium"'
+        '}'
+      execution_timeout_secs: 36000
+      build_numbers: YES
+      service_account: "chromium-ci-builder@chops-service-accounts.iam.gserviceaccount.com"
+      experiments {
+        key: "luci.recipes.use_python3"
+        value: 100
+      }
+      resultdb {
+        enable: true
+        bq_exports {
+          project: "chrome-luci-data"
+          dataset: "chromium"
+          table: "ci_test_results"
+          test_results {}
+        }
+        bq_exports {
+          project: "chrome-luci-data"
+          dataset: "chromium"
+          table: "gpu_ci_test_results"
+          test_results {
+            predicate {
+              test_id_regexp: "ninja://chrome/test:telemetry_gpu_integration_test[^/]*/.+"
+            }
+          }
+        }
+        bq_exports {
+          project: "chrome-luci-data"
+          dataset: "chromium"
+          table: "blink_web_tests_ci_test_results"
+          test_results {
+            predicate {
+              test_id_regexp: "ninja://[^/]*blink_web_tests/.+"
+            }
+          }
+        }
+        history_options {
+          use_invocation_timestamp: true
+        }
+      }
+    }
+    builders {
       name: "lacros-arm-generic-rel"
       swarming_host: "chromium-swarm.appspot.com"
       dimensions: "builderless:1"
diff --git a/infra/config/generated/luci/luci-milo.cfg b/infra/config/generated/luci/luci-milo.cfg
index bb7126a4..5cdf135a 100644
--- a/infra/config/generated/luci/luci-milo.cfg
+++ b/infra/config/generated/luci/luci-milo.cfg
@@ -6774,6 +6774,11 @@
     short_name: "lcr"
   }
   builders {
+    name: "buildbucket/luci.chromium.ci/lacros-amd64-generic-rel-skylab-fyi"
+    category: "lacros"
+    short_name: "lsf"
+  }
+  builders {
     name: "buildbucket/luci.chromium.ci/linux-lacros-builder-rel (reclient)"
     category: "lacros rel"
   }
diff --git a/infra/config/generated/luci/luci-scheduler.cfg b/infra/config/generated/luci/luci-scheduler.cfg
index 738f894..b5040b4 100644
--- a/infra/config/generated/luci/luci-scheduler.cfg
+++ b/infra/config/generated/luci/luci-scheduler.cfg
@@ -5334,6 +5334,16 @@
   }
 }
 job {
+  id: "lacros-amd64-generic-rel-skylab-fyi"
+  realm: "ci"
+  acl_sets: "ci"
+  buildbucket {
+    server: "cr-buildbucket.appspot.com"
+    bucket: "ci"
+    builder: "lacros-amd64-generic-rel-skylab-fyi"
+  }
+}
+job {
   id: "lacros-arm-generic-rel"
   realm: "ci"
   acl_sets: "ci"
@@ -7303,6 +7313,7 @@
   triggers: "lacros-amd64-generic-rel (goma cache silo)"
   triggers: "lacros-amd64-generic-rel (reclient)"
   triggers: "lacros-amd64-generic-rel-fyi"
+  triggers: "lacros-amd64-generic-rel-skylab-fyi"
   triggers: "lacros-arm-generic-rel"
   triggers: "linux-angle-builder"
   triggers: "linux-angle-chromium-builder"
diff --git a/infra/config/subprojects/chromium/ci/chromium.fyi.star b/infra/config/subprojects/chromium/ci/chromium.fyi.star
index 3eee1c0..522248c 100644
--- a/infra/config/subprojects/chromium/ci/chromium.fyi.star
+++ b/infra/config/subprojects/chromium/ci/chromium.fyi.star
@@ -276,6 +276,15 @@
 )
 
 ci.builder(
+    name = "lacros-amd64-generic-rel-skylab-fyi",
+    console_view_entry = consoles.console_view_entry(
+        category = "lacros",
+        short_name = "lsf",
+    ),
+    os = os.LINUX_BIONIC_SWITCH_TO_DEFAULT,
+)
+
+ci.builder(
     name = "linux-annotator-rel",
     console_view_entry = consoles.console_view_entry(
         category = "network|traffic|annotations",
diff --git a/testing/buildbot/chromium.fyi.json b/testing/buildbot/chromium.fyi.json
index de16fdc..af68120 100644
--- a/testing/buildbot/chromium.fyi.json
+++ b/testing/buildbot/chromium.fyi.json
@@ -74999,6 +74999,58 @@
       }
     ]
   },
+  "lacros-amd64-generic-rel-skylab-fyi": {
+    "additional_compile_targets": [
+      "chrome",
+      "linux_symbols",
+      "symupload",
+      "strip_chrome_binary"
+    ],
+    "skylab_tests": [
+      {
+        "args": [],
+        "cros_board": "octopus",
+        "cros_img": "octopus-full/R101-14543.0.0-rc1",
+        "name": "lacros_fyi_tast_tests_OCTOPUS_FULL",
+        "swarming": {},
+        "tast_expr": "(\"group:mainline\" && \"dep:lacros\" && !informational)",
+        "test": "lacros_fyi_tast_tests",
+        "test_id_prefix": "ninja://chromeos/lacros:lacros_fyi_tast_tests/",
+        "timeout_sec": 10800
+      },
+      {
+        "args": [],
+        "cros_board": "eve",
+        "cros_img": "eve-full/R100-14495.0.0-rc1",
+        "name": "lacros_fyi_tast_tests_EVE_FULL",
+        "swarming": {},
+        "tast_expr": "(\"group:mainline\" && \"dep:lacros\" && !informational)",
+        "test": "lacros_fyi_tast_tests",
+        "test_id_prefix": "ninja://chromeos/lacros:lacros_fyi_tast_tests/",
+        "timeout_sec": 10800
+      },
+      {
+        "args": [],
+        "cros_board": "octopus",
+        "cros_img": "octopus-full/R101-14543.0.0-rc1",
+        "name": "ozone_unittests_OCTOPUS_FULL",
+        "swarming": {},
+        "test": "ozone_unittests",
+        "test_id_prefix": "ninja://ui/ozone:ozone_unittests/",
+        "timeout_sec": 3600
+      },
+      {
+        "args": [],
+        "cros_board": "eve",
+        "cros_img": "eve-full/R100-14495.0.0-rc1",
+        "name": "ozone_unittests_EVE_FULL",
+        "swarming": {},
+        "test": "ozone_unittests",
+        "test_id_prefix": "ninja://ui/ozone:ozone_unittests/",
+        "timeout_sec": 3600
+      }
+    ]
+  },
   "linux-annotator-rel": {
     "scripts": [
       {
diff --git a/testing/buildbot/test_suites.pyl b/testing/buildbot/test_suites.pyl
index 010eb7d..4cf9128 100644
--- a/testing/buildbot/test_suites.pyl
+++ b/testing/buildbot/test_suites.pyl
@@ -7176,6 +7176,15 @@
       },
     },
 
+    'lacros_amd64_generic_rel_skylab_fyi': {
+      'lacros_skylab_poc': {
+        'variants': [
+          'CROS_OCTOPUS_FULL',
+          'CROS_EVE_FULL',
+        ]
+      },
+    },
+
     'lacros_device_or_vm_tests': {
       'lacros_all_tast_tests': {
         'variants': [
diff --git a/testing/buildbot/variants.pyl b/testing/buildbot/variants.pyl
index a44f13d..c5ac55c 100644
--- a/testing/buildbot/variants.pyl
+++ b/testing/buildbot/variants.pyl
@@ -800,6 +800,15 @@
     'enabled': True,
     'identifier': 'EVE_RELEASE_STABLE',
   },
+  'CROS_EVE_FULL': {
+    'skylab': {
+      'cros_board': 'eve',
+      'cros_chrome_version': '100.0.4863.0',
+      'cros_img': 'eve-full/R100-14495.0.0-rc1',
+    },
+    'enabled': True,
+    'identifier': 'EVE_FULL',
+  },
   'CROS_KEVIN_RELEASE_LKGM': {
     'skylab': {
       'cros_board': 'kevin',
@@ -818,6 +827,15 @@
     'enabled': True,
     'identifier': 'HANA_RELEASE_LKGM',
   },
+  'CROS_OCTOPUS_FULL': {
+    'skylab': {
+      'cros_board': 'octopus',
+      'cros_chrome_version': '101.0.4918.0',
+      'cros_img': 'octopus-full/R101-14543.0.0-rc1',
+    },
+    'enabled': True,
+    'identifier': 'OCTOPUS_FULL',
+  },
   'CROS_OCTOPUS_RELEASE_LKGM': {
     'skylab': {
       'cros_board': 'octopus',
diff --git a/testing/buildbot/waterfalls.pyl b/testing/buildbot/waterfalls.pyl
index cd5d2a2..c82d4d97 100644
--- a/testing/buildbot/waterfalls.pyl
+++ b/testing/buildbot/waterfalls.pyl
@@ -3232,6 +3232,18 @@
         },
         'os_type': 'chromeos'
       },
+      'lacros-amd64-generic-rel-skylab-fyi': {
+        'additional_compile_targets': [
+          'chrome',
+          'linux_symbols',
+          'symupload',
+          'strip_chrome_binary',
+        ],
+        'test_suites': {
+          'skylab_tests': 'lacros_amd64_generic_rel_skylab_fyi',
+        },
+        'os_type': 'chromeos'
+      },
       'linux-annotator-rel': {
         'test_suites': {
           'scripts': 'test_traffic_annotation_auditor_script',
diff --git a/tools/mb/mb_config.pyl b/tools/mb/mb_config.pyl
index 5d666855..b07251c 100644
--- a/tools/mb/mb_config.pyl
+++ b/tools/mb/mb_config.pyl
@@ -304,6 +304,7 @@
       'Linux Builder (j-500) (reclient)': 'gpu_tests_release_bot_reclient',
       'Linux Viz': 'release_trybot_minimal_symbols_reclient',
       'lacros-amd64-generic-rel-fyi': 'chromeos_amd64-generic_lacros_rel',
+      'lacros-amd64-generic-rel-skylab-fyi': 'chromeos_amd64-generic_lacros_rel_fyi',
       'linux-ash-chromium-builder-fyi-rel': 'chromeos_with_codecs_release_bot',
       'linux-lacros-builder-fyi-rel': 'lacros_on_linux_release_bot',
       'linux-lacros-dbg-fyi': 'lacros_on_linux_debug_bot',
@@ -1914,6 +1915,10 @@
       'chromeos_amd64-generic-crostoolchain', 'amd64-lacros', 'release',
     ],
 
+    'chromeos_amd64-generic_lacros_rel_fyi': [
+      'chromeos_amd64-generic-crostoolchain', 'amd64-lacros', 'release', 'is_skylab',
+    ],
+
     'chromeos_amd64-generic_lacros_rel_dchecks': [
       'chromeos_amd64-generic-crostoolchain', 'amd64-lacros', 'release', 'dcheck_always_on',
     ],
diff --git a/tools/mb/mb_config_expectations/chromium.fyi.json b/tools/mb/mb_config_expectations/chromium.fyi.json
index 1c60762d..18ba75d 100644
--- a/tools/mb/mb_config_expectations/chromium.fyi.json
+++ b/tools/mb/mb_config_expectations/chromium.fyi.json
@@ -859,6 +859,21 @@
       "use_goma": true
     }
   },
+  "lacros-amd64-generic-rel-skylab-fyi": {
+    "args_file": "//build/args/chromeos/amd64-generic-crostoolchain.gni",
+    "gn_args": {
+      "chromeos_is_browser_only": true,
+      "cros_host_sysroot": "//build/linux/debian_sid_amd64-sysroot",
+      "cros_v8_snapshot_sysroot": "//build/linux/debian_sid_amd64-sysroot",
+      "dcheck_always_on": false,
+      "is_chromeos_device": true,
+      "is_debug": false,
+      "is_skylab": true,
+      "ozone_platform_headless": true,
+      "target_os": "chromeos",
+      "use_goma": true
+    }
+  },
   "linux-annotator-rel": {
     "gn_args": {
       "dcheck_always_on": false,