Add includable-only builders for LTO.

Only enabling on Linux-gcc and Linux-clang for now.

Bug: 491518614
Change-Id: I6e4d4dee87595aa1ff78ff14737eda516a6a6964
Reviewed-on: https://boringssl-review.googlesource.com/c/boringssl/+/102287
Auto-Submit: Rudolf Polzer <rpolzer@google.com>
Reviewed-by: Xiangfei Ding <xfding@google.com>
Commit-Queue: Rudolf Polzer <rpolzer@google.com>
Commit-Queue: Xiangfei Ding <xfding@google.com>
diff --git a/infra/config/generated/commit-queue.cfg b/infra/config/generated/commit-queue.cfg
index 0c8c970..ae11366 100644
--- a/infra/config/generated/commit-queue.cfg
+++ b/infra/config/generated/commit-queue.cfg
@@ -144,6 +144,10 @@
         includable_only: true
       }
       builders {
+        name: "boringssl/try/linux_clang_lto"
+        includable_only: true
+      }
+      builders {
         name: "boringssl/try/linux_clang_prefixed_compile"
         includable_only: true
       }
@@ -185,6 +189,10 @@
         name: "boringssl/try/linux_fuzz"
       }
       builders {
+        name: "boringssl/try/linux_lto"
+        includable_only: true
+      }
+      builders {
         name: "boringssl/try/linux_noasm_asan"
       }
       builders {
diff --git a/infra/config/generated/cr-buildbucket.cfg b/infra/config/generated/cr-buildbucket.cfg
index 8c7fd5d..e83d358 100644
--- a/infra/config/generated/cr-buildbucket.cfg
+++ b/infra/config/generated/cr-buildbucket.cfg
@@ -3184,6 +3184,23 @@
       service_account: "boringssl-try-builder@chops-service-accounts.iam.gserviceaccount.com"
     }
     builders {
+      name: "linux_clang_lto"
+      swarming_host: "chromium-swarm.appspot.com"
+      dimensions: "cpu:x86-64"
+      dimensions: "os:Ubuntu-24.04"
+      dimensions: "pool:luci.flex.try"
+      recipe {
+        name: "boringssl"
+        cipd_package: "infra/recipe_bundles/chromium.googlesource.com/chromium/tools/build"
+        cipd_version: "refs/heads/main"
+        properties_j: "clang:true"
+        properties_j: "cmake_args:{\"CMAKE_BUILD_TYPE\":\"Release\",\"CMAKE_INTERPROCEDURAL_OPTIMIZATION\":\"ON\"}"
+        properties_j: "upload_to_cas:[\"*_bench\",\"*_test\",\"bssl\",\"generate_*\",\"jitter_deltas\",\"ssl/test/bssl_shim\",\"test_*\",\"libcrypto.a\",\"libdecrepit.a\",\"libpki.a\",\"libssl.a\"]"
+      }
+      execution_timeout_secs: 1800
+      service_account: "boringssl-try-builder@chops-service-accounts.iam.gserviceaccount.com"
+    }
+    builders {
       name: "linux_clang_prefixed_compile"
       swarming_host: "chromium-swarm.appspot.com"
       dimensions: "cpu:x86-64"
@@ -3418,6 +3435,22 @@
       service_account: "boringssl-try-builder@chops-service-accounts.iam.gserviceaccount.com"
     }
     builders {
+      name: "linux_lto"
+      swarming_host: "chromium-swarm.appspot.com"
+      dimensions: "cpu:x86-64"
+      dimensions: "os:Ubuntu-24.04"
+      dimensions: "pool:luci.flex.try"
+      recipe {
+        name: "boringssl"
+        cipd_package: "infra/recipe_bundles/chromium.googlesource.com/chromium/tools/build"
+        cipd_version: "refs/heads/main"
+        properties_j: "cmake_args:{\"CMAKE_BUILD_TYPE\":\"Release\",\"CMAKE_INTERPROCEDURAL_OPTIMIZATION\":\"ON\"}"
+        properties_j: "upload_to_cas:[\"*_bench\",\"*_test\",\"bssl\",\"generate_*\",\"jitter_deltas\",\"ssl/test/bssl_shim\",\"test_*\",\"libcrypto.a\",\"libdecrepit.a\",\"libpki.a\",\"libssl.a\"]"
+      }
+      execution_timeout_secs: 1800
+      service_account: "boringssl-try-builder@chops-service-accounts.iam.gserviceaccount.com"
+    }
+    builders {
       name: "linux_noasm_asan"
       swarming_host: "chromium-swarm.appspot.com"
       dimensions: "cpu:x86-64"
diff --git a/infra/config/generated/project.cfg b/infra/config/generated/project.cfg
index dbaefec..a7f0869 100644
--- a/infra/config/generated/project.cfg
+++ b/infra/config/generated/project.cfg
@@ -7,7 +7,7 @@
 name: "boringssl"
 access: "group:all"
 lucicfg {
-  version: "1.46.6"
+  version: "1.46.3"
   package_dir: ".."
   config_dir: "generated"
   entry_point: "main.star"
diff --git a/infra/config/main.star b/infra/config/main.star
index 9154048..1432262 100755
--- a/infra/config/main.star
+++ b/infra/config/main.star
@@ -856,6 +856,20 @@
         "upload_to_cas": FINISHED_OUTPUT_FILES_LINUX_STATIC,
     },
 )
+cq_builders(
+    "linux_lto",
+    LINUX_HOST,
+    cq_enabled = False,
+    #category = "linux|x86-64|gcc|lto",
+    #short_name = "lto",
+    properties = {
+        "cmake_args": {
+            "CMAKE_BUILD_TYPE": "Release",
+            "CMAKE_INTERPROCEDURAL_OPTIMIZATION": "ON",
+        },
+        "upload_to_cas": FINISHED_OUTPUT_FILES_LINUX_STATIC,
+    },
+)
 both_builders(
     "linux_prefixed_compile",
     LINUX_HOST,
@@ -997,6 +1011,21 @@
         "upload_to_cas": FINISHED_OUTPUT_FILES_LINUX_STATIC,
     },
 )
+cq_builders(
+    "linux_clang_lto",
+    LINUX_HOST,
+    cq_enabled = False,
+    #category = "linux|x86-64|clang|lto",
+    #short_name = "lto",
+    properties = {
+        "clang": True,
+        "cmake_args": {
+            "CMAKE_BUILD_TYPE": "Release",
+            "CMAKE_INTERPROCEDURAL_OPTIMIZATION": "ON",
+        },
+        "upload_to_cas": FINISHED_OUTPUT_FILES_LINUX_STATIC,
+    },
+)
 both_builders(
     "linux_clang_rel_msan",
     LINUX_HOST,