Enable Python 3 recipes differently.

The original instructions for enabling Python 3 don't work because they
depend on some other thing being enabled, and some things are still on
the old thing. Use this other way to use Python 3 recipes, which is
supposed to avoid this problem with the other thing.

(I'm told the relevant things are named "kitchen" and "bbagent".)

Also removing now unnecessary luci.use_realms config, per review
comment.

Bug: chromium:1256384, chromium:1256383
Change-Id: I0b2d12003d2525f461a5830266d9bcf98a9b6752
Reviewed-on: https://boringssl-review.googlesource.com/c/boringssl/+/50305
Reviewed-by: David Benjamin <davidben@google.com>
diff --git a/generated/cr-buildbucket.cfg b/generated/cr-buildbucket.cfg
index 8674bba..d082237 100644
--- a/generated/cr-buildbucket.cfg
+++ b/generated/cr-buildbucket.cfg
@@ -15,12 +15,18 @@
       swarming_host: "chromium-swarm.appspot.com"
       dimensions: "device_type:bullhead"
       dimensions: "pool:luci.flex.ci"
-      recipe {
-        name: "boringssl"
+      exe {
         cipd_package: "infra/recipe_bundles/chromium.googlesource.com/chromium/tools/build"
         cipd_version: "refs/heads/main"
-        properties_j: "$gatekeeper:{\"group\":\"client.boringssl\"}"
+        cmd: "luciexe"
       }
+      properties:
+        '{'
+        '  "$gatekeeper": {'
+        '    "group": "client.boringssl"'
+        '  },'
+        '  "recipe": "boringssl"'
+        '}'
       execution_timeout_secs: 3600
       caches {
         name: "gocache"
@@ -35,22 +41,24 @@
         key: "luci.recipes.use_python3"
         value: 100
       }
-      experiments {
-        key: "luci.use_realms"
-        value: 100
-      }
     }
     builders {
       name: "android_aarch64_fips"
       swarming_host: "chromium-swarm.appspot.com"
       dimensions: "device_type:walleye"
       dimensions: "pool:luci.flex.ci"
-      recipe {
-        name: "boringssl"
+      exe {
         cipd_package: "infra/recipe_bundles/chromium.googlesource.com/chromium/tools/build"
         cipd_version: "refs/heads/main"
-        properties_j: "$gatekeeper:{\"group\":\"client.boringssl\"}"
+        cmd: "luciexe"
       }
+      properties:
+        '{'
+        '  "$gatekeeper": {'
+        '    "group": "client.boringssl"'
+        '  },'
+        '  "recipe": "boringssl"'
+        '}'
       execution_timeout_secs: 3600
       caches {
         name: "gocache"
@@ -65,22 +73,24 @@
         key: "luci.recipes.use_python3"
         value: 100
       }
-      experiments {
-        key: "luci.use_realms"
-        value: 100
-      }
     }
     builders {
       name: "android_aarch64_rel"
       swarming_host: "chromium-swarm.appspot.com"
       dimensions: "device_type:bullhead"
       dimensions: "pool:luci.flex.ci"
-      recipe {
-        name: "boringssl"
+      exe {
         cipd_package: "infra/recipe_bundles/chromium.googlesource.com/chromium/tools/build"
         cipd_version: "refs/heads/main"
-        properties_j: "$gatekeeper:{\"group\":\"client.boringssl\"}"
+        cmd: "luciexe"
       }
+      properties:
+        '{'
+        '  "$gatekeeper": {'
+        '    "group": "client.boringssl"'
+        '  },'
+        '  "recipe": "boringssl"'
+        '}'
       execution_timeout_secs: 3600
       caches {
         name: "gocache"
@@ -95,23 +105,27 @@
         key: "luci.recipes.use_python3"
         value: 100
       }
-      experiments {
-        key: "luci.use_realms"
-        value: 100
-      }
     }
     builders {
       name: "android_arm"
       swarming_host: "chromium-swarm.appspot.com"
       dimensions: "device_type:bullhead"
       dimensions: "pool:luci.flex.ci"
-      recipe {
-        name: "boringssl"
+      exe {
         cipd_package: "infra/recipe_bundles/chromium.googlesource.com/chromium/tools/build"
         cipd_version: "refs/heads/main"
-        properties_j: "$gatekeeper:{\"group\":\"client.boringssl\"}"
-        properties_j: "cmake_args:{\"ANDROID_ARM_NEON\":\"FALSE\"}"
+        cmd: "luciexe"
       }
+      properties:
+        '{'
+        '  "$gatekeeper": {'
+        '    "group": "client.boringssl"'
+        '  },'
+        '  "cmake_args": {'
+        '    "ANDROID_ARM_NEON": "FALSE"'
+        '  },'
+        '  "recipe": "boringssl"'
+        '}'
       execution_timeout_secs: 3600
       caches {
         name: "gocache"
@@ -126,23 +140,27 @@
         key: "luci.recipes.use_python3"
         value: 100
       }
-      experiments {
-        key: "luci.use_realms"
-        value: 100
-      }
     }
     builders {
       name: "android_arm_armmode_rel"
       swarming_host: "chromium-swarm.appspot.com"
       dimensions: "device_type:bullhead"
       dimensions: "pool:luci.flex.ci"
-      recipe {
-        name: "boringssl"
+      exe {
         cipd_package: "infra/recipe_bundles/chromium.googlesource.com/chromium/tools/build"
         cipd_version: "refs/heads/main"
-        properties_j: "$gatekeeper:{\"group\":\"client.boringssl\"}"
-        properties_j: "cmake_args:{\"ANDROID_ARM_NEON\":\"FALSE\"}"
+        cmd: "luciexe"
       }
+      properties:
+        '{'
+        '  "$gatekeeper": {'
+        '    "group": "client.boringssl"'
+        '  },'
+        '  "cmake_args": {'
+        '    "ANDROID_ARM_NEON": "FALSE"'
+        '  },'
+        '  "recipe": "boringssl"'
+        '}'
       execution_timeout_secs: 3600
       caches {
         name: "gocache"
@@ -157,23 +175,27 @@
         key: "luci.recipes.use_python3"
         value: 100
       }
-      experiments {
-        key: "luci.use_realms"
-        value: 100
-      }
     }
     builders {
       name: "android_arm_rel"
       swarming_host: "chromium-swarm.appspot.com"
       dimensions: "device_type:bullhead"
       dimensions: "pool:luci.flex.ci"
-      recipe {
-        name: "boringssl"
+      exe {
         cipd_package: "infra/recipe_bundles/chromium.googlesource.com/chromium/tools/build"
         cipd_version: "refs/heads/main"
-        properties_j: "$gatekeeper:{\"group\":\"client.boringssl\"}"
-        properties_j: "cmake_args:{\"ANDROID_ARM_NEON\":\"FALSE\"}"
+        cmd: "luciexe"
       }
+      properties:
+        '{'
+        '  "$gatekeeper": {'
+        '    "group": "client.boringssl"'
+        '  },'
+        '  "cmake_args": {'
+        '    "ANDROID_ARM_NEON": "FALSE"'
+        '  },'
+        '  "recipe": "boringssl"'
+        '}'
       execution_timeout_secs: 3600
       caches {
         name: "gocache"
@@ -188,10 +210,6 @@
         key: "luci.recipes.use_python3"
         value: 100
       }
-      experiments {
-        key: "luci.use_realms"
-        value: 100
-      }
     }
     builders {
       name: "docs"
@@ -199,12 +217,18 @@
       dimensions: "cpu:x86-64"
       dimensions: "os:Ubuntu-18.04"
       dimensions: "pool:luci.flex.ci"
-      recipe {
-        name: "boringssl_docs"
+      exe {
         cipd_package: "infra/recipe_bundles/chromium.googlesource.com/chromium/tools/build"
         cipd_version: "refs/heads/main"
-        properties_j: "$gatekeeper:{\"group\":\"client.boringssl\"}"
+        cmd: "luciexe"
       }
+      properties:
+        '{'
+        '  "$gatekeeper": {'
+        '    "group": "client.boringssl"'
+        '  },'
+        '  "recipe": "boringssl_docs"'
+        '}'
       execution_timeout_secs: 1800
       caches {
         name: "gocache"
@@ -219,10 +243,6 @@
         key: "luci.recipes.use_python3"
         value: 100
       }
-      experiments {
-        key: "luci.use_realms"
-        value: 100
-      }
     }
     builders {
       name: "ios64_compile"
@@ -230,14 +250,20 @@
       dimensions: "cpu:x86-64"
       dimensions: "os:Mac-10.15"
       dimensions: "pool:luci.flex.ci"
-      recipe {
-        name: "boringssl"
+      exe {
         cipd_package: "infra/recipe_bundles/chromium.googlesource.com/chromium/tools/build"
         cipd_version: "refs/heads/main"
-        properties_j: "$gatekeeper:{\"group\":\"client.boringssl\"}"
-        properties_j: "run_ssl_tests:false"
-        properties_j: "run_unit_tests:false"
+        cmd: "luciexe"
       }
+      properties:
+        '{'
+        '  "$gatekeeper": {'
+        '    "group": "client.boringssl"'
+        '  },'
+        '  "recipe": "boringssl",'
+        '  "run_ssl_tests": false,'
+        '  "run_unit_tests": false'
+        '}'
       execution_timeout_secs: 3600
       caches {
         name: "gocache"
@@ -256,10 +282,6 @@
         key: "luci.recipes.use_python3"
         value: 100
       }
-      experiments {
-        key: "luci.use_realms"
-        value: 100
-      }
     }
     builders {
       name: "ios_compile"
@@ -267,14 +289,20 @@
       dimensions: "cpu:x86-64"
       dimensions: "os:Mac-10.15"
       dimensions: "pool:luci.flex.ci"
-      recipe {
-        name: "boringssl"
+      exe {
         cipd_package: "infra/recipe_bundles/chromium.googlesource.com/chromium/tools/build"
         cipd_version: "refs/heads/main"
-        properties_j: "$gatekeeper:{\"group\":\"client.boringssl\"}"
-        properties_j: "run_ssl_tests:false"
-        properties_j: "run_unit_tests:false"
+        cmd: "luciexe"
       }
+      properties:
+        '{'
+        '  "$gatekeeper": {'
+        '    "group": "client.boringssl"'
+        '  },'
+        '  "recipe": "boringssl",'
+        '  "run_ssl_tests": false,'
+        '  "run_unit_tests": false'
+        '}'
       execution_timeout_secs: 3600
       caches {
         name: "gocache"
@@ -293,10 +321,6 @@
         key: "luci.recipes.use_python3"
         value: 100
       }
-      experiments {
-        key: "luci.use_realms"
-        value: 100
-      }
     }
     builders {
       name: "linux"
@@ -304,12 +328,18 @@
       dimensions: "cpu:x86-64"
       dimensions: "os:Ubuntu-18.04"
       dimensions: "pool:luci.flex.ci"
-      recipe {
-        name: "boringssl"
+      exe {
         cipd_package: "infra/recipe_bundles/chromium.googlesource.com/chromium/tools/build"
         cipd_version: "refs/heads/main"
-        properties_j: "$gatekeeper:{\"group\":\"client.boringssl\"}"
+        cmd: "luciexe"
       }
+      properties:
+        '{'
+        '  "$gatekeeper": {'
+        '    "group": "client.boringssl"'
+        '  },'
+        '  "recipe": "boringssl"'
+        '}'
       execution_timeout_secs: 1800
       caches {
         name: "gocache"
@@ -324,10 +354,6 @@
         key: "luci.recipes.use_python3"
         value: 100
       }
-      experiments {
-        key: "luci.use_realms"
-        value: 100
-      }
     }
     builders {
       name: "linux32"
@@ -335,12 +361,18 @@
       dimensions: "cpu:x86-64"
       dimensions: "os:Ubuntu-18.04"
       dimensions: "pool:luci.flex.ci"
-      recipe {
-        name: "boringssl"
+      exe {
         cipd_package: "infra/recipe_bundles/chromium.googlesource.com/chromium/tools/build"
         cipd_version: "refs/heads/main"
-        properties_j: "$gatekeeper:{\"group\":\"client.boringssl\"}"
+        cmd: "luciexe"
       }
+      properties:
+        '{'
+        '  "$gatekeeper": {'
+        '    "group": "client.boringssl"'
+        '  },'
+        '  "recipe": "boringssl"'
+        '}'
       execution_timeout_secs: 1800
       caches {
         name: "gocache"
@@ -355,10 +387,6 @@
         key: "luci.recipes.use_python3"
         value: 100
       }
-      experiments {
-        key: "luci.use_realms"
-        value: 100
-      }
     }
     builders {
       name: "linux32_nosse2_noasm"
@@ -366,12 +394,18 @@
       dimensions: "cpu:x86-64"
       dimensions: "os:Ubuntu-18.04"
       dimensions: "pool:luci.flex.ci"
-      recipe {
-        name: "boringssl"
+      exe {
         cipd_package: "infra/recipe_bundles/chromium.googlesource.com/chromium/tools/build"
         cipd_version: "refs/heads/main"
-        properties_j: "$gatekeeper:{\"group\":\"client.boringssl\"}"
+        cmd: "luciexe"
       }
+      properties:
+        '{'
+        '  "$gatekeeper": {'
+        '    "group": "client.boringssl"'
+        '  },'
+        '  "recipe": "boringssl"'
+        '}'
       execution_timeout_secs: 1800
       caches {
         name: "gocache"
@@ -386,10 +420,6 @@
         key: "luci.recipes.use_python3"
         value: 100
       }
-      experiments {
-        key: "luci.use_realms"
-        value: 100
-      }
     }
     builders {
       name: "linux32_rel"
@@ -397,12 +427,18 @@
       dimensions: "cpu:x86-64"
       dimensions: "os:Ubuntu-18.04"
       dimensions: "pool:luci.flex.ci"
-      recipe {
-        name: "boringssl"
+      exe {
         cipd_package: "infra/recipe_bundles/chromium.googlesource.com/chromium/tools/build"
         cipd_version: "refs/heads/main"
-        properties_j: "$gatekeeper:{\"group\":\"client.boringssl\"}"
+        cmd: "luciexe"
       }
+      properties:
+        '{'
+        '  "$gatekeeper": {'
+        '    "group": "client.boringssl"'
+        '  },'
+        '  "recipe": "boringssl"'
+        '}'
       execution_timeout_secs: 1800
       caches {
         name: "gocache"
@@ -417,10 +453,6 @@
         key: "luci.recipes.use_python3"
         value: 100
       }
-      experiments {
-        key: "luci.use_realms"
-        value: 100
-      }
     }
     builders {
       name: "linux32_sde"
@@ -428,12 +460,18 @@
       dimensions: "cpu:x86-64"
       dimensions: "os:Ubuntu-18.04"
       dimensions: "pool:luci.flex.ci"
-      recipe {
-        name: "boringssl"
+      exe {
         cipd_package: "infra/recipe_bundles/chromium.googlesource.com/chromium/tools/build"
         cipd_version: "refs/heads/main"
-        properties_j: "$gatekeeper:{\"group\":\"client.boringssl\"}"
+        cmd: "luciexe"
       }
+      properties:
+        '{'
+        '  "$gatekeeper": {'
+        '    "group": "client.boringssl"'
+        '  },'
+        '  "recipe": "boringssl"'
+        '}'
       execution_timeout_secs: 3600
       caches {
         name: "gocache"
@@ -448,10 +486,6 @@
         key: "luci.recipes.use_python3"
         value: 100
       }
-      experiments {
-        key: "luci.use_realms"
-        value: 100
-      }
     }
     builders {
       name: "linux_clang_cfi"
@@ -459,12 +493,18 @@
       dimensions: "cpu:x86-64"
       dimensions: "os:Ubuntu-18.04"
       dimensions: "pool:luci.flex.ci"
-      recipe {
-        name: "boringssl"
+      exe {
         cipd_package: "infra/recipe_bundles/chromium.googlesource.com/chromium/tools/build"
         cipd_version: "refs/heads/main"
-        properties_j: "$gatekeeper:{\"group\":\"client.boringssl\"}"
+        cmd: "luciexe"
       }
+      properties:
+        '{'
+        '  "$gatekeeper": {'
+        '    "group": "client.boringssl"'
+        '  },'
+        '  "recipe": "boringssl"'
+        '}'
       execution_timeout_secs: 1800
       caches {
         name: "gocache"
@@ -479,10 +519,6 @@
         key: "luci.recipes.use_python3"
         value: 100
       }
-      experiments {
-        key: "luci.use_realms"
-        value: 100
-      }
     }
     builders {
       name: "linux_clang_rel"
@@ -490,12 +526,18 @@
       dimensions: "cpu:x86-64"
       dimensions: "os:Ubuntu-18.04"
       dimensions: "pool:luci.flex.ci"
-      recipe {
-        name: "boringssl"
+      exe {
         cipd_package: "infra/recipe_bundles/chromium.googlesource.com/chromium/tools/build"
         cipd_version: "refs/heads/main"
-        properties_j: "$gatekeeper:{\"group\":\"client.boringssl\"}"
+        cmd: "luciexe"
       }
+      properties:
+        '{'
+        '  "$gatekeeper": {'
+        '    "group": "client.boringssl"'
+        '  },'
+        '  "recipe": "boringssl"'
+        '}'
       execution_timeout_secs: 1800
       caches {
         name: "gocache"
@@ -510,10 +552,6 @@
         key: "luci.recipes.use_python3"
         value: 100
       }
-      experiments {
-        key: "luci.use_realms"
-        value: 100
-      }
     }
     builders {
       name: "linux_clang_rel_msan"
@@ -521,12 +559,18 @@
       dimensions: "cpu:x86-64"
       dimensions: "os:Ubuntu-18.04"
       dimensions: "pool:luci.flex.ci"
-      recipe {
-        name: "boringssl"
+      exe {
         cipd_package: "infra/recipe_bundles/chromium.googlesource.com/chromium/tools/build"
         cipd_version: "refs/heads/main"
-        properties_j: "$gatekeeper:{\"group\":\"client.boringssl\"}"
+        cmd: "luciexe"
       }
+      properties:
+        '{'
+        '  "$gatekeeper": {'
+        '    "group": "client.boringssl"'
+        '  },'
+        '  "recipe": "boringssl"'
+        '}'
       execution_timeout_secs: 1800
       caches {
         name: "gocache"
@@ -541,10 +585,6 @@
         key: "luci.recipes.use_python3"
         value: 100
       }
-      experiments {
-        key: "luci.use_realms"
-        value: 100
-      }
     }
     builders {
       name: "linux_clang_rel_tsan"
@@ -552,12 +592,18 @@
       dimensions: "cpu:x86-64"
       dimensions: "os:Ubuntu-18.04"
       dimensions: "pool:luci.flex.ci"
-      recipe {
-        name: "boringssl"
+      exe {
         cipd_package: "infra/recipe_bundles/chromium.googlesource.com/chromium/tools/build"
         cipd_version: "refs/heads/main"
-        properties_j: "$gatekeeper:{\"group\":\"client.boringssl\"}"
+        cmd: "luciexe"
       }
+      properties:
+        '{'
+        '  "$gatekeeper": {'
+        '    "group": "client.boringssl"'
+        '  },'
+        '  "recipe": "boringssl"'
+        '}'
       execution_timeout_secs: 1800
       caches {
         name: "gocache"
@@ -572,10 +618,6 @@
         key: "luci.recipes.use_python3"
         value: 100
       }
-      experiments {
-        key: "luci.use_realms"
-        value: 100
-      }
     }
     builders {
       name: "linux_fips"
@@ -583,12 +625,18 @@
       dimensions: "cpu:x86-64"
       dimensions: "os:Ubuntu-18.04"
       dimensions: "pool:luci.flex.ci"
-      recipe {
-        name: "boringssl"
+      exe {
         cipd_package: "infra/recipe_bundles/chromium.googlesource.com/chromium/tools/build"
         cipd_version: "refs/heads/main"
-        properties_j: "$gatekeeper:{\"group\":\"client.boringssl\"}"
+        cmd: "luciexe"
       }
+      properties:
+        '{'
+        '  "$gatekeeper": {'
+        '    "group": "client.boringssl"'
+        '  },'
+        '  "recipe": "boringssl"'
+        '}'
       execution_timeout_secs: 1800
       caches {
         name: "gocache"
@@ -603,10 +651,6 @@
         key: "luci.recipes.use_python3"
         value: 100
       }
-      experiments {
-        key: "luci.use_realms"
-        value: 100
-      }
     }
     builders {
       name: "linux_fips_clang"
@@ -614,12 +658,18 @@
       dimensions: "cpu:x86-64"
       dimensions: "os:Ubuntu-18.04"
       dimensions: "pool:luci.flex.ci"
-      recipe {
-        name: "boringssl"
+      exe {
         cipd_package: "infra/recipe_bundles/chromium.googlesource.com/chromium/tools/build"
         cipd_version: "refs/heads/main"
-        properties_j: "$gatekeeper:{\"group\":\"client.boringssl\"}"
+        cmd: "luciexe"
       }
+      properties:
+        '{'
+        '  "$gatekeeper": {'
+        '    "group": "client.boringssl"'
+        '  },'
+        '  "recipe": "boringssl"'
+        '}'
       execution_timeout_secs: 1800
       caches {
         name: "gocache"
@@ -634,10 +684,6 @@
         key: "luci.recipes.use_python3"
         value: 100
       }
-      experiments {
-        key: "luci.use_realms"
-        value: 100
-      }
     }
     builders {
       name: "linux_fips_clang_rel"
@@ -645,12 +691,18 @@
       dimensions: "cpu:x86-64"
       dimensions: "os:Ubuntu-18.04"
       dimensions: "pool:luci.flex.ci"
-      recipe {
-        name: "boringssl"
+      exe {
         cipd_package: "infra/recipe_bundles/chromium.googlesource.com/chromium/tools/build"
         cipd_version: "refs/heads/main"
-        properties_j: "$gatekeeper:{\"group\":\"client.boringssl\"}"
+        cmd: "luciexe"
       }
+      properties:
+        '{'
+        '  "$gatekeeper": {'
+        '    "group": "client.boringssl"'
+        '  },'
+        '  "recipe": "boringssl"'
+        '}'
       execution_timeout_secs: 1800
       caches {
         name: "gocache"
@@ -665,10 +717,6 @@
         key: "luci.recipes.use_python3"
         value: 100
       }
-      experiments {
-        key: "luci.use_realms"
-        value: 100
-      }
     }
     builders {
       name: "linux_fips_noasm_asan"
@@ -676,12 +724,18 @@
       dimensions: "cpu:x86-64"
       dimensions: "os:Ubuntu-18.04"
       dimensions: "pool:luci.flex.ci"
-      recipe {
-        name: "boringssl"
+      exe {
         cipd_package: "infra/recipe_bundles/chromium.googlesource.com/chromium/tools/build"
         cipd_version: "refs/heads/main"
-        properties_j: "$gatekeeper:{\"group\":\"client.boringssl\"}"
+        cmd: "luciexe"
       }
+      properties:
+        '{'
+        '  "$gatekeeper": {'
+        '    "group": "client.boringssl"'
+        '  },'
+        '  "recipe": "boringssl"'
+        '}'
       execution_timeout_secs: 1800
       caches {
         name: "gocache"
@@ -696,10 +750,6 @@
         key: "luci.recipes.use_python3"
         value: 100
       }
-      experiments {
-        key: "luci.use_realms"
-        value: 100
-      }
     }
     builders {
       name: "linux_fips_rel"
@@ -707,12 +757,18 @@
       dimensions: "cpu:x86-64"
       dimensions: "os:Ubuntu-18.04"
       dimensions: "pool:luci.flex.ci"
-      recipe {
-        name: "boringssl"
+      exe {
         cipd_package: "infra/recipe_bundles/chromium.googlesource.com/chromium/tools/build"
         cipd_version: "refs/heads/main"
-        properties_j: "$gatekeeper:{\"group\":\"client.boringssl\"}"
+        cmd: "luciexe"
       }
+      properties:
+        '{'
+        '  "$gatekeeper": {'
+        '    "group": "client.boringssl"'
+        '  },'
+        '  "recipe": "boringssl"'
+        '}'
       execution_timeout_secs: 1800
       caches {
         name: "gocache"
@@ -727,10 +783,6 @@
         key: "luci.recipes.use_python3"
         value: 100
       }
-      experiments {
-        key: "luci.use_realms"
-        value: 100
-      }
     }
     builders {
       name: "linux_fuzz"
@@ -738,12 +790,18 @@
       dimensions: "cpu:x86-64"
       dimensions: "os:Ubuntu-18.04"
       dimensions: "pool:luci.flex.ci"
-      recipe {
-        name: "boringssl"
+      exe {
         cipd_package: "infra/recipe_bundles/chromium.googlesource.com/chromium/tools/build"
         cipd_version: "refs/heads/main"
-        properties_j: "$gatekeeper:{\"group\":\"client.boringssl\"}"
+        cmd: "luciexe"
       }
+      properties:
+        '{'
+        '  "$gatekeeper": {'
+        '    "group": "client.boringssl"'
+        '  },'
+        '  "recipe": "boringssl"'
+        '}'
       execution_timeout_secs: 1800
       caches {
         name: "gocache"
@@ -758,10 +816,6 @@
         key: "luci.recipes.use_python3"
         value: 100
       }
-      experiments {
-        key: "luci.use_realms"
-        value: 100
-      }
     }
     builders {
       name: "linux_noasm_asan"
@@ -769,12 +823,18 @@
       dimensions: "cpu:x86-64"
       dimensions: "os:Ubuntu-18.04"
       dimensions: "pool:luci.flex.ci"
-      recipe {
-        name: "boringssl"
+      exe {
         cipd_package: "infra/recipe_bundles/chromium.googlesource.com/chromium/tools/build"
         cipd_version: "refs/heads/main"
-        properties_j: "$gatekeeper:{\"group\":\"client.boringssl\"}"
+        cmd: "luciexe"
       }
+      properties:
+        '{'
+        '  "$gatekeeper": {'
+        '    "group": "client.boringssl"'
+        '  },'
+        '  "recipe": "boringssl"'
+        '}'
       execution_timeout_secs: 1800
       caches {
         name: "gocache"
@@ -789,10 +849,6 @@
         key: "luci.recipes.use_python3"
         value: 100
       }
-      experiments {
-        key: "luci.use_realms"
-        value: 100
-      }
     }
     builders {
       name: "linux_nosse2_noasm"
@@ -800,12 +856,18 @@
       dimensions: "cpu:x86-64"
       dimensions: "os:Ubuntu-18.04"
       dimensions: "pool:luci.flex.ci"
-      recipe {
-        name: "boringssl"
+      exe {
         cipd_package: "infra/recipe_bundles/chromium.googlesource.com/chromium/tools/build"
         cipd_version: "refs/heads/main"
-        properties_j: "$gatekeeper:{\"group\":\"client.boringssl\"}"
+        cmd: "luciexe"
       }
+      properties:
+        '{'
+        '  "$gatekeeper": {'
+        '    "group": "client.boringssl"'
+        '  },'
+        '  "recipe": "boringssl"'
+        '}'
       execution_timeout_secs: 1800
       caches {
         name: "gocache"
@@ -820,10 +882,6 @@
         key: "luci.recipes.use_python3"
         value: 100
       }
-      experiments {
-        key: "luci.use_realms"
-        value: 100
-      }
     }
     builders {
       name: "linux_nothreads"
@@ -831,12 +889,18 @@
       dimensions: "cpu:x86-64"
       dimensions: "os:Ubuntu-18.04"
       dimensions: "pool:luci.flex.ci"
-      recipe {
-        name: "boringssl"
+      exe {
         cipd_package: "infra/recipe_bundles/chromium.googlesource.com/chromium/tools/build"
         cipd_version: "refs/heads/main"
-        properties_j: "$gatekeeper:{\"group\":\"client.boringssl\"}"
+        cmd: "luciexe"
       }
+      properties:
+        '{'
+        '  "$gatekeeper": {'
+        '    "group": "client.boringssl"'
+        '  },'
+        '  "recipe": "boringssl"'
+        '}'
       execution_timeout_secs: 1800
       caches {
         name: "gocache"
@@ -851,10 +915,6 @@
         key: "luci.recipes.use_python3"
         value: 100
       }
-      experiments {
-        key: "luci.use_realms"
-        value: 100
-      }
     }
     builders {
       name: "linux_rel"
@@ -862,12 +922,18 @@
       dimensions: "cpu:x86-64"
       dimensions: "os:Ubuntu-18.04"
       dimensions: "pool:luci.flex.ci"
-      recipe {
-        name: "boringssl"
+      exe {
         cipd_package: "infra/recipe_bundles/chromium.googlesource.com/chromium/tools/build"
         cipd_version: "refs/heads/main"
-        properties_j: "$gatekeeper:{\"group\":\"client.boringssl\"}"
+        cmd: "luciexe"
       }
+      properties:
+        '{'
+        '  "$gatekeeper": {'
+        '    "group": "client.boringssl"'
+        '  },'
+        '  "recipe": "boringssl"'
+        '}'
       execution_timeout_secs: 1800
       caches {
         name: "gocache"
@@ -882,10 +948,6 @@
         key: "luci.recipes.use_python3"
         value: 100
       }
-      experiments {
-        key: "luci.use_realms"
-        value: 100
-      }
     }
     builders {
       name: "linux_sde"
@@ -893,12 +955,18 @@
       dimensions: "cpu:x86-64"
       dimensions: "os:Ubuntu-18.04"
       dimensions: "pool:luci.flex.ci"
-      recipe {
-        name: "boringssl"
+      exe {
         cipd_package: "infra/recipe_bundles/chromium.googlesource.com/chromium/tools/build"
         cipd_version: "refs/heads/main"
-        properties_j: "$gatekeeper:{\"group\":\"client.boringssl\"}"
+        cmd: "luciexe"
       }
+      properties:
+        '{'
+        '  "$gatekeeper": {'
+        '    "group": "client.boringssl"'
+        '  },'
+        '  "recipe": "boringssl"'
+        '}'
       execution_timeout_secs: 3600
       caches {
         name: "gocache"
@@ -913,10 +981,6 @@
         key: "luci.recipes.use_python3"
         value: 100
       }
-      experiments {
-        key: "luci.use_realms"
-        value: 100
-      }
     }
     builders {
       name: "linux_shared"
@@ -924,12 +988,18 @@
       dimensions: "cpu:x86-64"
       dimensions: "os:Ubuntu-18.04"
       dimensions: "pool:luci.flex.ci"
-      recipe {
-        name: "boringssl"
+      exe {
         cipd_package: "infra/recipe_bundles/chromium.googlesource.com/chromium/tools/build"
         cipd_version: "refs/heads/main"
-        properties_j: "$gatekeeper:{\"group\":\"client.boringssl\"}"
+        cmd: "luciexe"
       }
+      properties:
+        '{'
+        '  "$gatekeeper": {'
+        '    "group": "client.boringssl"'
+        '  },'
+        '  "recipe": "boringssl"'
+        '}'
       execution_timeout_secs: 1800
       caches {
         name: "gocache"
@@ -944,10 +1014,6 @@
         key: "luci.recipes.use_python3"
         value: 100
       }
-      experiments {
-        key: "luci.use_realms"
-        value: 100
-      }
     }
     builders {
       name: "linux_small"
@@ -955,12 +1021,18 @@
       dimensions: "cpu:x86-64"
       dimensions: "os:Ubuntu-18.04"
       dimensions: "pool:luci.flex.ci"
-      recipe {
-        name: "boringssl"
+      exe {
         cipd_package: "infra/recipe_bundles/chromium.googlesource.com/chromium/tools/build"
         cipd_version: "refs/heads/main"
-        properties_j: "$gatekeeper:{\"group\":\"client.boringssl\"}"
+        cmd: "luciexe"
       }
+      properties:
+        '{'
+        '  "$gatekeeper": {'
+        '    "group": "client.boringssl"'
+        '  },'
+        '  "recipe": "boringssl"'
+        '}'
       execution_timeout_secs: 1800
       caches {
         name: "gocache"
@@ -975,10 +1047,6 @@
         key: "luci.recipes.use_python3"
         value: 100
       }
-      experiments {
-        key: "luci.use_realms"
-        value: 100
-      }
     }
     builders {
       name: "mac"
@@ -986,12 +1054,18 @@
       dimensions: "cpu:x86-64"
       dimensions: "os:Mac-10.15"
       dimensions: "pool:luci.flex.ci"
-      recipe {
-        name: "boringssl"
+      exe {
         cipd_package: "infra/recipe_bundles/chromium.googlesource.com/chromium/tools/build"
         cipd_version: "refs/heads/main"
-        properties_j: "$gatekeeper:{\"group\":\"client.boringssl\"}"
+        cmd: "luciexe"
       }
+      properties:
+        '{'
+        '  "$gatekeeper": {'
+        '    "group": "client.boringssl"'
+        '  },'
+        '  "recipe": "boringssl"'
+        '}'
       execution_timeout_secs: 3600
       caches {
         name: "gocache"
@@ -1010,10 +1084,6 @@
         key: "luci.recipes.use_python3"
         value: 100
       }
-      experiments {
-        key: "luci.use_realms"
-        value: 100
-      }
     }
     builders {
       name: "mac_rel"
@@ -1021,12 +1091,18 @@
       dimensions: "cpu:x86-64"
       dimensions: "os:Mac-10.15"
       dimensions: "pool:luci.flex.ci"
-      recipe {
-        name: "boringssl"
+      exe {
         cipd_package: "infra/recipe_bundles/chromium.googlesource.com/chromium/tools/build"
         cipd_version: "refs/heads/main"
-        properties_j: "$gatekeeper:{\"group\":\"client.boringssl\"}"
+        cmd: "luciexe"
       }
+      properties:
+        '{'
+        '  "$gatekeeper": {'
+        '    "group": "client.boringssl"'
+        '  },'
+        '  "recipe": "boringssl"'
+        '}'
       execution_timeout_secs: 3600
       caches {
         name: "gocache"
@@ -1045,10 +1121,6 @@
         key: "luci.recipes.use_python3"
         value: 100
       }
-      experiments {
-        key: "luci.use_realms"
-        value: 100
-      }
     }
     builders {
       name: "mac_small"
@@ -1056,12 +1128,18 @@
       dimensions: "cpu:x86-64"
       dimensions: "os:Mac-10.15"
       dimensions: "pool:luci.flex.ci"
-      recipe {
-        name: "boringssl"
+      exe {
         cipd_package: "infra/recipe_bundles/chromium.googlesource.com/chromium/tools/build"
         cipd_version: "refs/heads/main"
-        properties_j: "$gatekeeper:{\"group\":\"client.boringssl\"}"
+        cmd: "luciexe"
       }
+      properties:
+        '{'
+        '  "$gatekeeper": {'
+        '    "group": "client.boringssl"'
+        '  },'
+        '  "recipe": "boringssl"'
+        '}'
       execution_timeout_secs: 3600
       caches {
         name: "gocache"
@@ -1080,10 +1158,6 @@
         key: "luci.recipes.use_python3"
         value: 100
       }
-      experiments {
-        key: "luci.use_realms"
-        value: 100
-      }
     }
     builders {
       name: "win32"
@@ -1091,12 +1165,18 @@
       dimensions: "cpu:x86-64"
       dimensions: "os:Windows-10"
       dimensions: "pool:luci.flex.ci"
-      recipe {
-        name: "boringssl"
+      exe {
         cipd_package: "infra/recipe_bundles/chromium.googlesource.com/chromium/tools/build"
         cipd_version: "refs/heads/main"
-        properties_j: "$gatekeeper:{\"group\":\"client.boringssl\"}"
+        cmd: "luciexe"
       }
+      properties:
+        '{'
+        '  "$gatekeeper": {'
+        '    "group": "client.boringssl"'
+        '  },'
+        '  "recipe": "boringssl"'
+        '}'
       execution_timeout_secs: 1800
       caches {
         name: "gocache"
@@ -1115,10 +1195,6 @@
         key: "luci.recipes.use_python3"
         value: 100
       }
-      experiments {
-        key: "luci.use_realms"
-        value: 100
-      }
     }
     builders {
       name: "win32_rel"
@@ -1126,12 +1202,18 @@
       dimensions: "cpu:x86-64"
       dimensions: "os:Windows-10"
       dimensions: "pool:luci.flex.ci"
-      recipe {
-        name: "boringssl"
+      exe {
         cipd_package: "infra/recipe_bundles/chromium.googlesource.com/chromium/tools/build"
         cipd_version: "refs/heads/main"
-        properties_j: "$gatekeeper:{\"group\":\"client.boringssl\"}"
+        cmd: "luciexe"
       }
+      properties:
+        '{'
+        '  "$gatekeeper": {'
+        '    "group": "client.boringssl"'
+        '  },'
+        '  "recipe": "boringssl"'
+        '}'
       execution_timeout_secs: 1800
       caches {
         name: "gocache"
@@ -1150,10 +1232,6 @@
         key: "luci.recipes.use_python3"
         value: 100
       }
-      experiments {
-        key: "luci.use_realms"
-        value: 100
-      }
     }
     builders {
       name: "win32_sde"
@@ -1161,12 +1239,18 @@
       dimensions: "cpu:x86-64"
       dimensions: "os:Windows-10"
       dimensions: "pool:luci.flex.ci"
-      recipe {
-        name: "boringssl"
+      exe {
         cipd_package: "infra/recipe_bundles/chromium.googlesource.com/chromium/tools/build"
         cipd_version: "refs/heads/main"
-        properties_j: "$gatekeeper:{\"group\":\"client.boringssl\"}"
+        cmd: "luciexe"
       }
+      properties:
+        '{'
+        '  "$gatekeeper": {'
+        '    "group": "client.boringssl"'
+        '  },'
+        '  "recipe": "boringssl"'
+        '}'
       execution_timeout_secs: 3600
       caches {
         name: "gocache"
@@ -1185,10 +1269,6 @@
         key: "luci.recipes.use_python3"
         value: 100
       }
-      experiments {
-        key: "luci.use_realms"
-        value: 100
-      }
     }
     builders {
       name: "win32_small"
@@ -1196,12 +1276,18 @@
       dimensions: "cpu:x86-64"
       dimensions: "os:Windows-10"
       dimensions: "pool:luci.flex.ci"
-      recipe {
-        name: "boringssl"
+      exe {
         cipd_package: "infra/recipe_bundles/chromium.googlesource.com/chromium/tools/build"
         cipd_version: "refs/heads/main"
-        properties_j: "$gatekeeper:{\"group\":\"client.boringssl\"}"
+        cmd: "luciexe"
       }
+      properties:
+        '{'
+        '  "$gatekeeper": {'
+        '    "group": "client.boringssl"'
+        '  },'
+        '  "recipe": "boringssl"'
+        '}'
       execution_timeout_secs: 1800
       caches {
         name: "gocache"
@@ -1220,10 +1306,6 @@
         key: "luci.recipes.use_python3"
         value: 100
       }
-      experiments {
-        key: "luci.use_realms"
-        value: 100
-      }
     }
     builders {
       name: "win32_vs2017"
@@ -1231,13 +1313,21 @@
       dimensions: "cpu:x86-64"
       dimensions: "os:Windows-10"
       dimensions: "pool:luci.flex.ci"
-      recipe {
-        name: "boringssl"
+      exe {
         cipd_package: "infra/recipe_bundles/chromium.googlesource.com/chromium/tools/build"
         cipd_version: "refs/heads/main"
-        properties_j: "$gatekeeper:{\"group\":\"client.boringssl\"}"
-        properties_j: "gclient_vars:{\"vs_version\":\"2017\"}"
+        cmd: "luciexe"
       }
+      properties:
+        '{'
+        '  "$gatekeeper": {'
+        '    "group": "client.boringssl"'
+        '  },'
+        '  "gclient_vars": {'
+        '    "vs_version": "2017"'
+        '  },'
+        '  "recipe": "boringssl"'
+        '}'
       execution_timeout_secs: 1800
       caches {
         name: "gocache"
@@ -1256,10 +1346,6 @@
         key: "luci.recipes.use_python3"
         value: 100
       }
-      experiments {
-        key: "luci.use_realms"
-        value: 100
-      }
     }
     builders {
       name: "win32_vs2017_clang"
@@ -1267,13 +1353,21 @@
       dimensions: "cpu:x86-64"
       dimensions: "os:Windows-10"
       dimensions: "pool:luci.flex.ci"
-      recipe {
-        name: "boringssl"
+      exe {
         cipd_package: "infra/recipe_bundles/chromium.googlesource.com/chromium/tools/build"
         cipd_version: "refs/heads/main"
-        properties_j: "$gatekeeper:{\"group\":\"client.boringssl\"}"
-        properties_j: "gclient_vars:{\"vs_version\":\"2017\"}"
+        cmd: "luciexe"
       }
+      properties:
+        '{'
+        '  "$gatekeeper": {'
+        '    "group": "client.boringssl"'
+        '  },'
+        '  "gclient_vars": {'
+        '    "vs_version": "2017"'
+        '  },'
+        '  "recipe": "boringssl"'
+        '}'
       execution_timeout_secs: 1800
       caches {
         name: "gocache"
@@ -1292,10 +1386,6 @@
         key: "luci.recipes.use_python3"
         value: 100
       }
-      experiments {
-        key: "luci.use_realms"
-        value: 100
-      }
     }
     builders {
       name: "win64"
@@ -1303,12 +1393,18 @@
       dimensions: "cpu:x86-64"
       dimensions: "os:Windows-10"
       dimensions: "pool:luci.flex.ci"
-      recipe {
-        name: "boringssl"
+      exe {
         cipd_package: "infra/recipe_bundles/chromium.googlesource.com/chromium/tools/build"
         cipd_version: "refs/heads/main"
-        properties_j: "$gatekeeper:{\"group\":\"client.boringssl\"}"
+        cmd: "luciexe"
       }
+      properties:
+        '{'
+        '  "$gatekeeper": {'
+        '    "group": "client.boringssl"'
+        '  },'
+        '  "recipe": "boringssl"'
+        '}'
       execution_timeout_secs: 1800
       caches {
         name: "gocache"
@@ -1327,10 +1423,6 @@
         key: "luci.recipes.use_python3"
         value: 100
       }
-      experiments {
-        key: "luci.use_realms"
-        value: 100
-      }
     }
     builders {
       name: "win64_rel"
@@ -1338,12 +1430,18 @@
       dimensions: "cpu:x86-64"
       dimensions: "os:Windows-10"
       dimensions: "pool:luci.flex.ci"
-      recipe {
-        name: "boringssl"
+      exe {
         cipd_package: "infra/recipe_bundles/chromium.googlesource.com/chromium/tools/build"
         cipd_version: "refs/heads/main"
-        properties_j: "$gatekeeper:{\"group\":\"client.boringssl\"}"
+        cmd: "luciexe"
       }
+      properties:
+        '{'
+        '  "$gatekeeper": {'
+        '    "group": "client.boringssl"'
+        '  },'
+        '  "recipe": "boringssl"'
+        '}'
       execution_timeout_secs: 1800
       caches {
         name: "gocache"
@@ -1362,10 +1460,6 @@
         key: "luci.recipes.use_python3"
         value: 100
       }
-      experiments {
-        key: "luci.use_realms"
-        value: 100
-      }
     }
     builders {
       name: "win64_sde"
@@ -1373,12 +1467,18 @@
       dimensions: "cpu:x86-64"
       dimensions: "os:Windows-10"
       dimensions: "pool:luci.flex.ci"
-      recipe {
-        name: "boringssl"
+      exe {
         cipd_package: "infra/recipe_bundles/chromium.googlesource.com/chromium/tools/build"
         cipd_version: "refs/heads/main"
-        properties_j: "$gatekeeper:{\"group\":\"client.boringssl\"}"
+        cmd: "luciexe"
       }
+      properties:
+        '{'
+        '  "$gatekeeper": {'
+        '    "group": "client.boringssl"'
+        '  },'
+        '  "recipe": "boringssl"'
+        '}'
       execution_timeout_secs: 3600
       caches {
         name: "gocache"
@@ -1397,10 +1497,6 @@
         key: "luci.recipes.use_python3"
         value: 100
       }
-      experiments {
-        key: "luci.use_realms"
-        value: 100
-      }
     }
     builders {
       name: "win64_small"
@@ -1408,12 +1504,18 @@
       dimensions: "cpu:x86-64"
       dimensions: "os:Windows-10"
       dimensions: "pool:luci.flex.ci"
-      recipe {
-        name: "boringssl"
+      exe {
         cipd_package: "infra/recipe_bundles/chromium.googlesource.com/chromium/tools/build"
         cipd_version: "refs/heads/main"
-        properties_j: "$gatekeeper:{\"group\":\"client.boringssl\"}"
+        cmd: "luciexe"
       }
+      properties:
+        '{'
+        '  "$gatekeeper": {'
+        '    "group": "client.boringssl"'
+        '  },'
+        '  "recipe": "boringssl"'
+        '}'
       execution_timeout_secs: 1800
       caches {
         name: "gocache"
@@ -1432,10 +1534,6 @@
         key: "luci.recipes.use_python3"
         value: 100
       }
-      experiments {
-        key: "luci.use_realms"
-        value: 100
-      }
     }
     builders {
       name: "win64_vs2017"
@@ -1443,13 +1541,21 @@
       dimensions: "cpu:x86-64"
       dimensions: "os:Windows-10"
       dimensions: "pool:luci.flex.ci"
-      recipe {
-        name: "boringssl"
+      exe {
         cipd_package: "infra/recipe_bundles/chromium.googlesource.com/chromium/tools/build"
         cipd_version: "refs/heads/main"
-        properties_j: "$gatekeeper:{\"group\":\"client.boringssl\"}"
-        properties_j: "gclient_vars:{\"vs_version\":\"2017\"}"
+        cmd: "luciexe"
       }
+      properties:
+        '{'
+        '  "$gatekeeper": {'
+        '    "group": "client.boringssl"'
+        '  },'
+        '  "gclient_vars": {'
+        '    "vs_version": "2017"'
+        '  },'
+        '  "recipe": "boringssl"'
+        '}'
       execution_timeout_secs: 1800
       caches {
         name: "gocache"
@@ -1468,10 +1574,6 @@
         key: "luci.recipes.use_python3"
         value: 100
       }
-      experiments {
-        key: "luci.use_realms"
-        value: 100
-      }
     }
     builders {
       name: "win64_vs2017_clang"
@@ -1479,13 +1581,21 @@
       dimensions: "cpu:x86-64"
       dimensions: "os:Windows-10"
       dimensions: "pool:luci.flex.ci"
-      recipe {
-        name: "boringssl"
+      exe {
         cipd_package: "infra/recipe_bundles/chromium.googlesource.com/chromium/tools/build"
         cipd_version: "refs/heads/main"
-        properties_j: "$gatekeeper:{\"group\":\"client.boringssl\"}"
-        properties_j: "gclient_vars:{\"vs_version\":\"2017\"}"
+        cmd: "luciexe"
       }
+      properties:
+        '{'
+        '  "$gatekeeper": {'
+        '    "group": "client.boringssl"'
+        '  },'
+        '  "gclient_vars": {'
+        '    "vs_version": "2017"'
+        '  },'
+        '  "recipe": "boringssl"'
+        '}'
       execution_timeout_secs: 1800
       caches {
         name: "gocache"
@@ -1504,10 +1614,6 @@
         key: "luci.recipes.use_python3"
         value: 100
       }
-      experiments {
-        key: "luci.use_realms"
-        value: 100
-      }
     }
     builders {
       name: "win_arm64_compile"
@@ -1515,18 +1621,33 @@
       dimensions: "cpu:x86-64"
       dimensions: "os:Windows-10"
       dimensions: "pool:luci.flex.ci"
-      recipe {
-        name: "boringssl"
+      exe {
         cipd_package: "infra/recipe_bundles/chromium.googlesource.com/chromium/tools/build"
         cipd_version: "refs/heads/main"
-        properties_j: "$gatekeeper:{\"group\":\"client.boringssl\"}"
-        properties_j: "clang:true"
-        properties_j: "cmake_args:{\"CMAKE_ASM_FLAGS\":\"--target=arm64-windows\",\"CMAKE_CXX_FLAGS\":\"--target=arm64-windows\",\"CMAKE_C_FLAGS\":\"--target=arm64-windows\",\"CMAKE_SYSTEM_NAME\":\"Windows\",\"CMAKE_SYSTEM_PROCESSOR\":\"arm64\"}"
-        properties_j: "gclient_vars:{\"checkout_nasm\":false,\"vs_version\":\"2017\"}"
-        properties_j: "msvc_target:\"arm64\""
-        properties_j: "run_ssl_tests:false"
-        properties_j: "run_unit_tests:false"
+        cmd: "luciexe"
       }
+      properties:
+        '{'
+        '  "$gatekeeper": {'
+        '    "group": "client.boringssl"'
+        '  },'
+        '  "clang": true,'
+        '  "cmake_args": {'
+        '    "CMAKE_ASM_FLAGS": "--target=arm64-windows",'
+        '    "CMAKE_CXX_FLAGS": "--target=arm64-windows",'
+        '    "CMAKE_C_FLAGS": "--target=arm64-windows",'
+        '    "CMAKE_SYSTEM_NAME": "Windows",'
+        '    "CMAKE_SYSTEM_PROCESSOR": "arm64"'
+        '  },'
+        '  "gclient_vars": {'
+        '    "checkout_nasm": false,'
+        '    "vs_version": "2017"'
+        '  },'
+        '  "msvc_target": "arm64",'
+        '  "recipe": "boringssl",'
+        '  "run_ssl_tests": false,'
+        '  "run_unit_tests": false'
+        '}'
       execution_timeout_secs: 1800
       caches {
         name: "gocache"
@@ -1545,10 +1666,6 @@
         key: "luci.recipes.use_python3"
         value: 100
       }
-      experiments {
-        key: "luci.use_realms"
-        value: 100
-      }
     }
   }
 }
@@ -1572,23 +1689,23 @@
       dimensions: "cpu:x86-64"
       dimensions: "os:Ubuntu-18.04"
       dimensions: "pool:luci.flex.try"
-      recipe {
-        name: "boringssl"
+      exe {
         cipd_package: "infra/recipe_bundles/chromium.googlesource.com/chromium/tools/build"
         cipd_version: "refs/heads/main"
-        properties_j: "run_ssl_tests:false"
-        properties_j: "run_unit_tests:false"
+        cmd: "luciexe"
       }
+      properties:
+        '{'
+        '  "recipe": "boringssl",'
+        '  "run_ssl_tests": false,'
+        '  "run_unit_tests": false'
+        '}'
       execution_timeout_secs: 1800
       service_account: "boringssl-try-builder@chops-service-accounts.iam.gserviceaccount.com"
       experiments {
         key: "luci.recipes.use_python3"
         value: 100
       }
-      experiments {
-        key: "luci.use_realms"
-        value: 100
-      }
     }
     builders {
       name: "android_aarch64_fips_compile"
@@ -1596,23 +1713,23 @@
       dimensions: "cpu:x86-64"
       dimensions: "os:Ubuntu-18.04"
       dimensions: "pool:luci.flex.try"
-      recipe {
-        name: "boringssl"
+      exe {
         cipd_package: "infra/recipe_bundles/chromium.googlesource.com/chromium/tools/build"
         cipd_version: "refs/heads/main"
-        properties_j: "run_ssl_tests:false"
-        properties_j: "run_unit_tests:false"
+        cmd: "luciexe"
       }
+      properties:
+        '{'
+        '  "recipe": "boringssl",'
+        '  "run_ssl_tests": false,'
+        '  "run_unit_tests": false'
+        '}'
       execution_timeout_secs: 1800
       service_account: "boringssl-try-builder@chops-service-accounts.iam.gserviceaccount.com"
       experiments {
         key: "luci.recipes.use_python3"
         value: 100
       }
-      experiments {
-        key: "luci.use_realms"
-        value: 100
-      }
     }
     builders {
       name: "android_aarch64_rel_compile"
@@ -1620,23 +1737,23 @@
       dimensions: "cpu:x86-64"
       dimensions: "os:Ubuntu-18.04"
       dimensions: "pool:luci.flex.try"
-      recipe {
-        name: "boringssl"
+      exe {
         cipd_package: "infra/recipe_bundles/chromium.googlesource.com/chromium/tools/build"
         cipd_version: "refs/heads/main"
-        properties_j: "run_ssl_tests:false"
-        properties_j: "run_unit_tests:false"
+        cmd: "luciexe"
       }
+      properties:
+        '{'
+        '  "recipe": "boringssl",'
+        '  "run_ssl_tests": false,'
+        '  "run_unit_tests": false'
+        '}'
       execution_timeout_secs: 1800
       service_account: "boringssl-try-builder@chops-service-accounts.iam.gserviceaccount.com"
       experiments {
         key: "luci.recipes.use_python3"
         value: 100
       }
-      experiments {
-        key: "luci.use_realms"
-        value: 100
-      }
     }
     builders {
       name: "android_arm_armmode_compile"
@@ -1644,24 +1761,26 @@
       dimensions: "cpu:x86-64"
       dimensions: "os:Ubuntu-18.04"
       dimensions: "pool:luci.flex.try"
-      recipe {
-        name: "boringssl"
+      exe {
         cipd_package: "infra/recipe_bundles/chromium.googlesource.com/chromium/tools/build"
         cipd_version: "refs/heads/main"
-        properties_j: "cmake_args:{\"ANDROID_ARM_NEON\":\"FALSE\"}"
-        properties_j: "run_ssl_tests:false"
-        properties_j: "run_unit_tests:false"
+        cmd: "luciexe"
       }
+      properties:
+        '{'
+        '  "cmake_args": {'
+        '    "ANDROID_ARM_NEON": "FALSE"'
+        '  },'
+        '  "recipe": "boringssl",'
+        '  "run_ssl_tests": false,'
+        '  "run_unit_tests": false'
+        '}'
       execution_timeout_secs: 1800
       service_account: "boringssl-try-builder@chops-service-accounts.iam.gserviceaccount.com"
       experiments {
         key: "luci.recipes.use_python3"
         value: 100
       }
-      experiments {
-        key: "luci.use_realms"
-        value: 100
-      }
     }
     builders {
       name: "android_arm_armmode_rel_compile"
@@ -1669,24 +1788,26 @@
       dimensions: "cpu:x86-64"
       dimensions: "os:Ubuntu-18.04"
       dimensions: "pool:luci.flex.try"
-      recipe {
-        name: "boringssl"
+      exe {
         cipd_package: "infra/recipe_bundles/chromium.googlesource.com/chromium/tools/build"
         cipd_version: "refs/heads/main"
-        properties_j: "cmake_args:{\"ANDROID_ARM_NEON\":\"FALSE\"}"
-        properties_j: "run_ssl_tests:false"
-        properties_j: "run_unit_tests:false"
+        cmd: "luciexe"
       }
+      properties:
+        '{'
+        '  "cmake_args": {'
+        '    "ANDROID_ARM_NEON": "FALSE"'
+        '  },'
+        '  "recipe": "boringssl",'
+        '  "run_ssl_tests": false,'
+        '  "run_unit_tests": false'
+        '}'
       execution_timeout_secs: 1800
       service_account: "boringssl-try-builder@chops-service-accounts.iam.gserviceaccount.com"
       experiments {
         key: "luci.recipes.use_python3"
         value: 100
       }
-      experiments {
-        key: "luci.use_realms"
-        value: 100
-      }
     }
     builders {
       name: "android_arm_compile"
@@ -1694,24 +1815,26 @@
       dimensions: "cpu:x86-64"
       dimensions: "os:Ubuntu-18.04"
       dimensions: "pool:luci.flex.try"
-      recipe {
-        name: "boringssl"
+      exe {
         cipd_package: "infra/recipe_bundles/chromium.googlesource.com/chromium/tools/build"
         cipd_version: "refs/heads/main"
-        properties_j: "cmake_args:{\"ANDROID_ARM_NEON\":\"FALSE\"}"
-        properties_j: "run_ssl_tests:false"
-        properties_j: "run_unit_tests:false"
+        cmd: "luciexe"
       }
+      properties:
+        '{'
+        '  "cmake_args": {'
+        '    "ANDROID_ARM_NEON": "FALSE"'
+        '  },'
+        '  "recipe": "boringssl",'
+        '  "run_ssl_tests": false,'
+        '  "run_unit_tests": false'
+        '}'
       execution_timeout_secs: 1800
       service_account: "boringssl-try-builder@chops-service-accounts.iam.gserviceaccount.com"
       experiments {
         key: "luci.recipes.use_python3"
         value: 100
       }
-      experiments {
-        key: "luci.use_realms"
-        value: 100
-      }
     }
     builders {
       name: "android_arm_rel_compile"
@@ -1719,24 +1842,26 @@
       dimensions: "cpu:x86-64"
       dimensions: "os:Ubuntu-18.04"
       dimensions: "pool:luci.flex.try"
-      recipe {
-        name: "boringssl"
+      exe {
         cipd_package: "infra/recipe_bundles/chromium.googlesource.com/chromium/tools/build"
         cipd_version: "refs/heads/main"
-        properties_j: "cmake_args:{\"ANDROID_ARM_NEON\":\"FALSE\"}"
-        properties_j: "run_ssl_tests:false"
-        properties_j: "run_unit_tests:false"
+        cmd: "luciexe"
       }
+      properties:
+        '{'
+        '  "cmake_args": {'
+        '    "ANDROID_ARM_NEON": "FALSE"'
+        '  },'
+        '  "recipe": "boringssl",'
+        '  "run_ssl_tests": false,'
+        '  "run_unit_tests": false'
+        '}'
       execution_timeout_secs: 1800
       service_account: "boringssl-try-builder@chops-service-accounts.iam.gserviceaccount.com"
       experiments {
         key: "luci.recipes.use_python3"
         value: 100
       }
-      experiments {
-        key: "luci.use_realms"
-        value: 100
-      }
     }
     builders {
       name: "docs"
@@ -1744,21 +1869,21 @@
       dimensions: "cpu:x86-64"
       dimensions: "os:Ubuntu-18.04"
       dimensions: "pool:luci.flex.try"
-      recipe {
-        name: "boringssl_docs"
+      exe {
         cipd_package: "infra/recipe_bundles/chromium.googlesource.com/chromium/tools/build"
         cipd_version: "refs/heads/main"
+        cmd: "luciexe"
       }
+      properties:
+        '{'
+        '  "recipe": "boringssl_docs"'
+        '}'
       execution_timeout_secs: 1800
       service_account: "boringssl-try-builder@chops-service-accounts.iam.gserviceaccount.com"
       experiments {
         key: "luci.recipes.use_python3"
         value: 100
       }
-      experiments {
-        key: "luci.use_realms"
-        value: 100
-      }
     }
     builders {
       name: "ios64_compile"
@@ -1766,13 +1891,17 @@
       dimensions: "cpu:x86-64"
       dimensions: "os:Mac-10.15"
       dimensions: "pool:luci.flex.try"
-      recipe {
-        name: "boringssl"
+      exe {
         cipd_package: "infra/recipe_bundles/chromium.googlesource.com/chromium/tools/build"
         cipd_version: "refs/heads/main"
-        properties_j: "run_ssl_tests:false"
-        properties_j: "run_unit_tests:false"
+        cmd: "luciexe"
       }
+      properties:
+        '{'
+        '  "recipe": "boringssl",'
+        '  "run_ssl_tests": false,'
+        '  "run_unit_tests": false'
+        '}'
       execution_timeout_secs: 3600
       caches {
         name: "osx_sdk"
@@ -1783,10 +1912,6 @@
         key: "luci.recipes.use_python3"
         value: 100
       }
-      experiments {
-        key: "luci.use_realms"
-        value: 100
-      }
     }
     builders {
       name: "ios_compile"
@@ -1794,13 +1919,17 @@
       dimensions: "cpu:x86-64"
       dimensions: "os:Mac-10.15"
       dimensions: "pool:luci.flex.try"
-      recipe {
-        name: "boringssl"
+      exe {
         cipd_package: "infra/recipe_bundles/chromium.googlesource.com/chromium/tools/build"
         cipd_version: "refs/heads/main"
-        properties_j: "run_ssl_tests:false"
-        properties_j: "run_unit_tests:false"
+        cmd: "luciexe"
       }
+      properties:
+        '{'
+        '  "recipe": "boringssl",'
+        '  "run_ssl_tests": false,'
+        '  "run_unit_tests": false'
+        '}'
       execution_timeout_secs: 3600
       caches {
         name: "osx_sdk"
@@ -1811,10 +1940,6 @@
         key: "luci.recipes.use_python3"
         value: 100
       }
-      experiments {
-        key: "luci.use_realms"
-        value: 100
-      }
     }
     builders {
       name: "linux"
@@ -1822,21 +1947,21 @@
       dimensions: "cpu:x86-64"
       dimensions: "os:Ubuntu-18.04"
       dimensions: "pool:luci.flex.try"
-      recipe {
-        name: "boringssl"
+      exe {
         cipd_package: "infra/recipe_bundles/chromium.googlesource.com/chromium/tools/build"
         cipd_version: "refs/heads/main"
+        cmd: "luciexe"
       }
+      properties:
+        '{'
+        '  "recipe": "boringssl"'
+        '}'
       execution_timeout_secs: 1800
       service_account: "boringssl-try-builder@chops-service-accounts.iam.gserviceaccount.com"
       experiments {
         key: "luci.recipes.use_python3"
         value: 100
       }
-      experiments {
-        key: "luci.use_realms"
-        value: 100
-      }
     }
     builders {
       name: "linux32"
@@ -1844,21 +1969,21 @@
       dimensions: "cpu:x86-64"
       dimensions: "os:Ubuntu-18.04"
       dimensions: "pool:luci.flex.try"
-      recipe {
-        name: "boringssl"
+      exe {
         cipd_package: "infra/recipe_bundles/chromium.googlesource.com/chromium/tools/build"
         cipd_version: "refs/heads/main"
+        cmd: "luciexe"
       }
+      properties:
+        '{'
+        '  "recipe": "boringssl"'
+        '}'
       execution_timeout_secs: 1800
       service_account: "boringssl-try-builder@chops-service-accounts.iam.gserviceaccount.com"
       experiments {
         key: "luci.recipes.use_python3"
         value: 100
       }
-      experiments {
-        key: "luci.use_realms"
-        value: 100
-      }
     }
     builders {
       name: "linux32_nosse2_noasm"
@@ -1866,21 +1991,21 @@
       dimensions: "cpu:x86-64"
       dimensions: "os:Ubuntu-18.04"
       dimensions: "pool:luci.flex.try"
-      recipe {
-        name: "boringssl"
+      exe {
         cipd_package: "infra/recipe_bundles/chromium.googlesource.com/chromium/tools/build"
         cipd_version: "refs/heads/main"
+        cmd: "luciexe"
       }
+      properties:
+        '{'
+        '  "recipe": "boringssl"'
+        '}'
       execution_timeout_secs: 1800
       service_account: "boringssl-try-builder@chops-service-accounts.iam.gserviceaccount.com"
       experiments {
         key: "luci.recipes.use_python3"
         value: 100
       }
-      experiments {
-        key: "luci.use_realms"
-        value: 100
-      }
     }
     builders {
       name: "linux32_rel"
@@ -1888,21 +2013,21 @@
       dimensions: "cpu:x86-64"
       dimensions: "os:Ubuntu-18.04"
       dimensions: "pool:luci.flex.try"
-      recipe {
-        name: "boringssl"
+      exe {
         cipd_package: "infra/recipe_bundles/chromium.googlesource.com/chromium/tools/build"
         cipd_version: "refs/heads/main"
+        cmd: "luciexe"
       }
+      properties:
+        '{'
+        '  "recipe": "boringssl"'
+        '}'
       execution_timeout_secs: 1800
       service_account: "boringssl-try-builder@chops-service-accounts.iam.gserviceaccount.com"
       experiments {
         key: "luci.recipes.use_python3"
         value: 100
       }
-      experiments {
-        key: "luci.use_realms"
-        value: 100
-      }
     }
     builders {
       name: "linux_clang_cfi"
@@ -1910,21 +2035,21 @@
       dimensions: "cpu:x86-64"
       dimensions: "os:Ubuntu-18.04"
       dimensions: "pool:luci.flex.try"
-      recipe {
-        name: "boringssl"
+      exe {
         cipd_package: "infra/recipe_bundles/chromium.googlesource.com/chromium/tools/build"
         cipd_version: "refs/heads/main"
+        cmd: "luciexe"
       }
+      properties:
+        '{'
+        '  "recipe": "boringssl"'
+        '}'
       execution_timeout_secs: 1800
       service_account: "boringssl-try-builder@chops-service-accounts.iam.gserviceaccount.com"
       experiments {
         key: "luci.recipes.use_python3"
         value: 100
       }
-      experiments {
-        key: "luci.use_realms"
-        value: 100
-      }
     }
     builders {
       name: "linux_clang_rel"
@@ -1932,21 +2057,21 @@
       dimensions: "cpu:x86-64"
       dimensions: "os:Ubuntu-18.04"
       dimensions: "pool:luci.flex.try"
-      recipe {
-        name: "boringssl"
+      exe {
         cipd_package: "infra/recipe_bundles/chromium.googlesource.com/chromium/tools/build"
         cipd_version: "refs/heads/main"
+        cmd: "luciexe"
       }
+      properties:
+        '{'
+        '  "recipe": "boringssl"'
+        '}'
       execution_timeout_secs: 1800
       service_account: "boringssl-try-builder@chops-service-accounts.iam.gserviceaccount.com"
       experiments {
         key: "luci.recipes.use_python3"
         value: 100
       }
-      experiments {
-        key: "luci.use_realms"
-        value: 100
-      }
     }
     builders {
       name: "linux_clang_rel_msan"
@@ -1954,21 +2079,21 @@
       dimensions: "cpu:x86-64"
       dimensions: "os:Ubuntu-18.04"
       dimensions: "pool:luci.flex.try"
-      recipe {
-        name: "boringssl"
+      exe {
         cipd_package: "infra/recipe_bundles/chromium.googlesource.com/chromium/tools/build"
         cipd_version: "refs/heads/main"
+        cmd: "luciexe"
       }
+      properties:
+        '{'
+        '  "recipe": "boringssl"'
+        '}'
       execution_timeout_secs: 1800
       service_account: "boringssl-try-builder@chops-service-accounts.iam.gserviceaccount.com"
       experiments {
         key: "luci.recipes.use_python3"
         value: 100
       }
-      experiments {
-        key: "luci.use_realms"
-        value: 100
-      }
     }
     builders {
       name: "linux_clang_rel_tsan"
@@ -1976,21 +2101,21 @@
       dimensions: "cpu:x86-64"
       dimensions: "os:Ubuntu-18.04"
       dimensions: "pool:luci.flex.try"
-      recipe {
-        name: "boringssl"
+      exe {
         cipd_package: "infra/recipe_bundles/chromium.googlesource.com/chromium/tools/build"
         cipd_version: "refs/heads/main"
+        cmd: "luciexe"
       }
+      properties:
+        '{'
+        '  "recipe": "boringssl"'
+        '}'
       execution_timeout_secs: 1800
       service_account: "boringssl-try-builder@chops-service-accounts.iam.gserviceaccount.com"
       experiments {
         key: "luci.recipes.use_python3"
         value: 100
       }
-      experiments {
-        key: "luci.use_realms"
-        value: 100
-      }
     }
     builders {
       name: "linux_fips"
@@ -1998,21 +2123,21 @@
       dimensions: "cpu:x86-64"
       dimensions: "os:Ubuntu-18.04"
       dimensions: "pool:luci.flex.try"
-      recipe {
-        name: "boringssl"
+      exe {
         cipd_package: "infra/recipe_bundles/chromium.googlesource.com/chromium/tools/build"
         cipd_version: "refs/heads/main"
+        cmd: "luciexe"
       }
+      properties:
+        '{'
+        '  "recipe": "boringssl"'
+        '}'
       execution_timeout_secs: 1800
       service_account: "boringssl-try-builder@chops-service-accounts.iam.gserviceaccount.com"
       experiments {
         key: "luci.recipes.use_python3"
         value: 100
       }
-      experiments {
-        key: "luci.use_realms"
-        value: 100
-      }
     }
     builders {
       name: "linux_fips_clang"
@@ -2020,21 +2145,21 @@
       dimensions: "cpu:x86-64"
       dimensions: "os:Ubuntu-18.04"
       dimensions: "pool:luci.flex.try"
-      recipe {
-        name: "boringssl"
+      exe {
         cipd_package: "infra/recipe_bundles/chromium.googlesource.com/chromium/tools/build"
         cipd_version: "refs/heads/main"
+        cmd: "luciexe"
       }
+      properties:
+        '{'
+        '  "recipe": "boringssl"'
+        '}'
       execution_timeout_secs: 1800
       service_account: "boringssl-try-builder@chops-service-accounts.iam.gserviceaccount.com"
       experiments {
         key: "luci.recipes.use_python3"
         value: 100
       }
-      experiments {
-        key: "luci.use_realms"
-        value: 100
-      }
     }
     builders {
       name: "linux_fips_clang_rel"
@@ -2042,21 +2167,21 @@
       dimensions: "cpu:x86-64"
       dimensions: "os:Ubuntu-18.04"
       dimensions: "pool:luci.flex.try"
-      recipe {
-        name: "boringssl"
+      exe {
         cipd_package: "infra/recipe_bundles/chromium.googlesource.com/chromium/tools/build"
         cipd_version: "refs/heads/main"
+        cmd: "luciexe"
       }
+      properties:
+        '{'
+        '  "recipe": "boringssl"'
+        '}'
       execution_timeout_secs: 1800
       service_account: "boringssl-try-builder@chops-service-accounts.iam.gserviceaccount.com"
       experiments {
         key: "luci.recipes.use_python3"
         value: 100
       }
-      experiments {
-        key: "luci.use_realms"
-        value: 100
-      }
     }
     builders {
       name: "linux_fips_noasm_asan"
@@ -2064,21 +2189,21 @@
       dimensions: "cpu:x86-64"
       dimensions: "os:Ubuntu-18.04"
       dimensions: "pool:luci.flex.try"
-      recipe {
-        name: "boringssl"
+      exe {
         cipd_package: "infra/recipe_bundles/chromium.googlesource.com/chromium/tools/build"
         cipd_version: "refs/heads/main"
+        cmd: "luciexe"
       }
+      properties:
+        '{'
+        '  "recipe": "boringssl"'
+        '}'
       execution_timeout_secs: 1800
       service_account: "boringssl-try-builder@chops-service-accounts.iam.gserviceaccount.com"
       experiments {
         key: "luci.recipes.use_python3"
         value: 100
       }
-      experiments {
-        key: "luci.use_realms"
-        value: 100
-      }
     }
     builders {
       name: "linux_fips_rel"
@@ -2086,21 +2211,21 @@
       dimensions: "cpu:x86-64"
       dimensions: "os:Ubuntu-18.04"
       dimensions: "pool:luci.flex.try"
-      recipe {
-        name: "boringssl"
+      exe {
         cipd_package: "infra/recipe_bundles/chromium.googlesource.com/chromium/tools/build"
         cipd_version: "refs/heads/main"
+        cmd: "luciexe"
       }
+      properties:
+        '{'
+        '  "recipe": "boringssl"'
+        '}'
       execution_timeout_secs: 1800
       service_account: "boringssl-try-builder@chops-service-accounts.iam.gserviceaccount.com"
       experiments {
         key: "luci.recipes.use_python3"
         value: 100
       }
-      experiments {
-        key: "luci.use_realms"
-        value: 100
-      }
     }
     builders {
       name: "linux_fuzz"
@@ -2108,21 +2233,21 @@
       dimensions: "cpu:x86-64"
       dimensions: "os:Ubuntu-18.04"
       dimensions: "pool:luci.flex.try"
-      recipe {
-        name: "boringssl"
+      exe {
         cipd_package: "infra/recipe_bundles/chromium.googlesource.com/chromium/tools/build"
         cipd_version: "refs/heads/main"
+        cmd: "luciexe"
       }
+      properties:
+        '{'
+        '  "recipe": "boringssl"'
+        '}'
       execution_timeout_secs: 1800
       service_account: "boringssl-try-builder@chops-service-accounts.iam.gserviceaccount.com"
       experiments {
         key: "luci.recipes.use_python3"
         value: 100
       }
-      experiments {
-        key: "luci.use_realms"
-        value: 100
-      }
     }
     builders {
       name: "linux_noasm_asan"
@@ -2130,21 +2255,21 @@
       dimensions: "cpu:x86-64"
       dimensions: "os:Ubuntu-18.04"
       dimensions: "pool:luci.flex.try"
-      recipe {
-        name: "boringssl"
+      exe {
         cipd_package: "infra/recipe_bundles/chromium.googlesource.com/chromium/tools/build"
         cipd_version: "refs/heads/main"
+        cmd: "luciexe"
       }
+      properties:
+        '{'
+        '  "recipe": "boringssl"'
+        '}'
       execution_timeout_secs: 1800
       service_account: "boringssl-try-builder@chops-service-accounts.iam.gserviceaccount.com"
       experiments {
         key: "luci.recipes.use_python3"
         value: 100
       }
-      experiments {
-        key: "luci.use_realms"
-        value: 100
-      }
     }
     builders {
       name: "linux_nosse2_noasm"
@@ -2152,21 +2277,21 @@
       dimensions: "cpu:x86-64"
       dimensions: "os:Ubuntu-18.04"
       dimensions: "pool:luci.flex.try"
-      recipe {
-        name: "boringssl"
+      exe {
         cipd_package: "infra/recipe_bundles/chromium.googlesource.com/chromium/tools/build"
         cipd_version: "refs/heads/main"
+        cmd: "luciexe"
       }
+      properties:
+        '{'
+        '  "recipe": "boringssl"'
+        '}'
       execution_timeout_secs: 1800
       service_account: "boringssl-try-builder@chops-service-accounts.iam.gserviceaccount.com"
       experiments {
         key: "luci.recipes.use_python3"
         value: 100
       }
-      experiments {
-        key: "luci.use_realms"
-        value: 100
-      }
     }
     builders {
       name: "linux_nothreads"
@@ -2174,21 +2299,21 @@
       dimensions: "cpu:x86-64"
       dimensions: "os:Ubuntu-18.04"
       dimensions: "pool:luci.flex.try"
-      recipe {
-        name: "boringssl"
+      exe {
         cipd_package: "infra/recipe_bundles/chromium.googlesource.com/chromium/tools/build"
         cipd_version: "refs/heads/main"
+        cmd: "luciexe"
       }
+      properties:
+        '{'
+        '  "recipe": "boringssl"'
+        '}'
       execution_timeout_secs: 1800
       service_account: "boringssl-try-builder@chops-service-accounts.iam.gserviceaccount.com"
       experiments {
         key: "luci.recipes.use_python3"
         value: 100
       }
-      experiments {
-        key: "luci.use_realms"
-        value: 100
-      }
     }
     builders {
       name: "linux_rel"
@@ -2196,21 +2321,21 @@
       dimensions: "cpu:x86-64"
       dimensions: "os:Ubuntu-18.04"
       dimensions: "pool:luci.flex.try"
-      recipe {
-        name: "boringssl"
+      exe {
         cipd_package: "infra/recipe_bundles/chromium.googlesource.com/chromium/tools/build"
         cipd_version: "refs/heads/main"
+        cmd: "luciexe"
       }
+      properties:
+        '{'
+        '  "recipe": "boringssl"'
+        '}'
       execution_timeout_secs: 1800
       service_account: "boringssl-try-builder@chops-service-accounts.iam.gserviceaccount.com"
       experiments {
         key: "luci.recipes.use_python3"
         value: 100
       }
-      experiments {
-        key: "luci.use_realms"
-        value: 100
-      }
     }
     builders {
       name: "linux_shared"
@@ -2218,21 +2343,21 @@
       dimensions: "cpu:x86-64"
       dimensions: "os:Ubuntu-18.04"
       dimensions: "pool:luci.flex.try"
-      recipe {
-        name: "boringssl"
+      exe {
         cipd_package: "infra/recipe_bundles/chromium.googlesource.com/chromium/tools/build"
         cipd_version: "refs/heads/main"
+        cmd: "luciexe"
       }
+      properties:
+        '{'
+        '  "recipe": "boringssl"'
+        '}'
       execution_timeout_secs: 1800
       service_account: "boringssl-try-builder@chops-service-accounts.iam.gserviceaccount.com"
       experiments {
         key: "luci.recipes.use_python3"
         value: 100
       }
-      experiments {
-        key: "luci.use_realms"
-        value: 100
-      }
     }
     builders {
       name: "linux_small"
@@ -2240,21 +2365,21 @@
       dimensions: "cpu:x86-64"
       dimensions: "os:Ubuntu-18.04"
       dimensions: "pool:luci.flex.try"
-      recipe {
-        name: "boringssl"
+      exe {
         cipd_package: "infra/recipe_bundles/chromium.googlesource.com/chromium/tools/build"
         cipd_version: "refs/heads/main"
+        cmd: "luciexe"
       }
+      properties:
+        '{'
+        '  "recipe": "boringssl"'
+        '}'
       execution_timeout_secs: 1800
       service_account: "boringssl-try-builder@chops-service-accounts.iam.gserviceaccount.com"
       experiments {
         key: "luci.recipes.use_python3"
         value: 100
       }
-      experiments {
-        key: "luci.use_realms"
-        value: 100
-      }
     }
     builders {
       name: "mac"
@@ -2262,11 +2387,15 @@
       dimensions: "cpu:x86-64"
       dimensions: "os:Mac-10.15"
       dimensions: "pool:luci.flex.try"
-      recipe {
-        name: "boringssl"
+      exe {
         cipd_package: "infra/recipe_bundles/chromium.googlesource.com/chromium/tools/build"
         cipd_version: "refs/heads/main"
+        cmd: "luciexe"
       }
+      properties:
+        '{'
+        '  "recipe": "boringssl"'
+        '}'
       execution_timeout_secs: 3600
       caches {
         name: "osx_sdk"
@@ -2277,10 +2406,6 @@
         key: "luci.recipes.use_python3"
         value: 100
       }
-      experiments {
-        key: "luci.use_realms"
-        value: 100
-      }
     }
     builders {
       name: "mac_rel"
@@ -2288,11 +2413,15 @@
       dimensions: "cpu:x86-64"
       dimensions: "os:Mac-10.15"
       dimensions: "pool:luci.flex.try"
-      recipe {
-        name: "boringssl"
+      exe {
         cipd_package: "infra/recipe_bundles/chromium.googlesource.com/chromium/tools/build"
         cipd_version: "refs/heads/main"
+        cmd: "luciexe"
       }
+      properties:
+        '{'
+        '  "recipe": "boringssl"'
+        '}'
       execution_timeout_secs: 3600
       caches {
         name: "osx_sdk"
@@ -2303,10 +2432,6 @@
         key: "luci.recipes.use_python3"
         value: 100
       }
-      experiments {
-        key: "luci.use_realms"
-        value: 100
-      }
     }
     builders {
       name: "mac_small"
@@ -2314,11 +2439,15 @@
       dimensions: "cpu:x86-64"
       dimensions: "os:Mac-10.15"
       dimensions: "pool:luci.flex.try"
-      recipe {
-        name: "boringssl"
+      exe {
         cipd_package: "infra/recipe_bundles/chromium.googlesource.com/chromium/tools/build"
         cipd_version: "refs/heads/main"
+        cmd: "luciexe"
       }
+      properties:
+        '{'
+        '  "recipe": "boringssl"'
+        '}'
       execution_timeout_secs: 3600
       caches {
         name: "osx_sdk"
@@ -2329,10 +2458,6 @@
         key: "luci.recipes.use_python3"
         value: 100
       }
-      experiments {
-        key: "luci.use_realms"
-        value: 100
-      }
     }
     builders {
       name: "win32"
@@ -2340,11 +2465,15 @@
       dimensions: "cpu:x86-64"
       dimensions: "os:Windows-10"
       dimensions: "pool:luci.flex.try"
-      recipe {
-        name: "boringssl"
+      exe {
         cipd_package: "infra/recipe_bundles/chromium.googlesource.com/chromium/tools/build"
         cipd_version: "refs/heads/main"
+        cmd: "luciexe"
       }
+      properties:
+        '{'
+        '  "recipe": "boringssl"'
+        '}'
       execution_timeout_secs: 1800
       caches {
         name: "win_toolchain"
@@ -2355,10 +2484,6 @@
         key: "luci.recipes.use_python3"
         value: 100
       }
-      experiments {
-        key: "luci.use_realms"
-        value: 100
-      }
     }
     builders {
       name: "win32_rel"
@@ -2366,11 +2491,15 @@
       dimensions: "cpu:x86-64"
       dimensions: "os:Windows-10"
       dimensions: "pool:luci.flex.try"
-      recipe {
-        name: "boringssl"
+      exe {
         cipd_package: "infra/recipe_bundles/chromium.googlesource.com/chromium/tools/build"
         cipd_version: "refs/heads/main"
+        cmd: "luciexe"
       }
+      properties:
+        '{'
+        '  "recipe": "boringssl"'
+        '}'
       execution_timeout_secs: 1800
       caches {
         name: "win_toolchain"
@@ -2381,10 +2510,6 @@
         key: "luci.recipes.use_python3"
         value: 100
       }
-      experiments {
-        key: "luci.use_realms"
-        value: 100
-      }
     }
     builders {
       name: "win32_small"
@@ -2392,11 +2517,15 @@
       dimensions: "cpu:x86-64"
       dimensions: "os:Windows-10"
       dimensions: "pool:luci.flex.try"
-      recipe {
-        name: "boringssl"
+      exe {
         cipd_package: "infra/recipe_bundles/chromium.googlesource.com/chromium/tools/build"
         cipd_version: "refs/heads/main"
+        cmd: "luciexe"
       }
+      properties:
+        '{'
+        '  "recipe": "boringssl"'
+        '}'
       execution_timeout_secs: 1800
       caches {
         name: "win_toolchain"
@@ -2407,10 +2536,6 @@
         key: "luci.recipes.use_python3"
         value: 100
       }
-      experiments {
-        key: "luci.use_realms"
-        value: 100
-      }
     }
     builders {
       name: "win32_vs2017_clang_compile"
@@ -2418,14 +2543,20 @@
       dimensions: "cpu:x86-64"
       dimensions: "os:Windows-10"
       dimensions: "pool:luci.flex.try"
-      recipe {
-        name: "boringssl"
+      exe {
         cipd_package: "infra/recipe_bundles/chromium.googlesource.com/chromium/tools/build"
         cipd_version: "refs/heads/main"
-        properties_j: "gclient_vars:{\"vs_version\":\"2017\"}"
-        properties_j: "run_ssl_tests:false"
-        properties_j: "run_unit_tests:false"
+        cmd: "luciexe"
       }
+      properties:
+        '{'
+        '  "gclient_vars": {'
+        '    "vs_version": "2017"'
+        '  },'
+        '  "recipe": "boringssl",'
+        '  "run_ssl_tests": false,'
+        '  "run_unit_tests": false'
+        '}'
       execution_timeout_secs: 1800
       caches {
         name: "win_toolchain"
@@ -2436,10 +2567,6 @@
         key: "luci.recipes.use_python3"
         value: 100
       }
-      experiments {
-        key: "luci.use_realms"
-        value: 100
-      }
     }
     builders {
       name: "win32_vs2017_compile"
@@ -2447,14 +2574,20 @@
       dimensions: "cpu:x86-64"
       dimensions: "os:Windows-10"
       dimensions: "pool:luci.flex.try"
-      recipe {
-        name: "boringssl"
+      exe {
         cipd_package: "infra/recipe_bundles/chromium.googlesource.com/chromium/tools/build"
         cipd_version: "refs/heads/main"
-        properties_j: "gclient_vars:{\"vs_version\":\"2017\"}"
-        properties_j: "run_ssl_tests:false"
-        properties_j: "run_unit_tests:false"
+        cmd: "luciexe"
       }
+      properties:
+        '{'
+        '  "gclient_vars": {'
+        '    "vs_version": "2017"'
+        '  },'
+        '  "recipe": "boringssl",'
+        '  "run_ssl_tests": false,'
+        '  "run_unit_tests": false'
+        '}'
       execution_timeout_secs: 1800
       caches {
         name: "win_toolchain"
@@ -2465,10 +2598,6 @@
         key: "luci.recipes.use_python3"
         value: 100
       }
-      experiments {
-        key: "luci.use_realms"
-        value: 100
-      }
     }
     builders {
       name: "win64"
@@ -2476,11 +2605,15 @@
       dimensions: "cpu:x86-64"
       dimensions: "os:Windows-10"
       dimensions: "pool:luci.flex.try"
-      recipe {
-        name: "boringssl"
+      exe {
         cipd_package: "infra/recipe_bundles/chromium.googlesource.com/chromium/tools/build"
         cipd_version: "refs/heads/main"
+        cmd: "luciexe"
       }
+      properties:
+        '{'
+        '  "recipe": "boringssl"'
+        '}'
       execution_timeout_secs: 1800
       caches {
         name: "win_toolchain"
@@ -2491,10 +2624,6 @@
         key: "luci.recipes.use_python3"
         value: 100
       }
-      experiments {
-        key: "luci.use_realms"
-        value: 100
-      }
     }
     builders {
       name: "win64_rel"
@@ -2502,11 +2631,15 @@
       dimensions: "cpu:x86-64"
       dimensions: "os:Windows-10"
       dimensions: "pool:luci.flex.try"
-      recipe {
-        name: "boringssl"
+      exe {
         cipd_package: "infra/recipe_bundles/chromium.googlesource.com/chromium/tools/build"
         cipd_version: "refs/heads/main"
+        cmd: "luciexe"
       }
+      properties:
+        '{'
+        '  "recipe": "boringssl"'
+        '}'
       execution_timeout_secs: 1800
       caches {
         name: "win_toolchain"
@@ -2517,10 +2650,6 @@
         key: "luci.recipes.use_python3"
         value: 100
       }
-      experiments {
-        key: "luci.use_realms"
-        value: 100
-      }
     }
     builders {
       name: "win64_small"
@@ -2528,11 +2657,15 @@
       dimensions: "cpu:x86-64"
       dimensions: "os:Windows-10"
       dimensions: "pool:luci.flex.try"
-      recipe {
-        name: "boringssl"
+      exe {
         cipd_package: "infra/recipe_bundles/chromium.googlesource.com/chromium/tools/build"
         cipd_version: "refs/heads/main"
+        cmd: "luciexe"
       }
+      properties:
+        '{'
+        '  "recipe": "boringssl"'
+        '}'
       execution_timeout_secs: 1800
       caches {
         name: "win_toolchain"
@@ -2543,10 +2676,6 @@
         key: "luci.recipes.use_python3"
         value: 100
       }
-      experiments {
-        key: "luci.use_realms"
-        value: 100
-      }
     }
     builders {
       name: "win64_vs2017_clang_compile"
@@ -2554,14 +2683,20 @@
       dimensions: "cpu:x86-64"
       dimensions: "os:Windows-10"
       dimensions: "pool:luci.flex.try"
-      recipe {
-        name: "boringssl"
+      exe {
         cipd_package: "infra/recipe_bundles/chromium.googlesource.com/chromium/tools/build"
         cipd_version: "refs/heads/main"
-        properties_j: "gclient_vars:{\"vs_version\":\"2017\"}"
-        properties_j: "run_ssl_tests:false"
-        properties_j: "run_unit_tests:false"
+        cmd: "luciexe"
       }
+      properties:
+        '{'
+        '  "gclient_vars": {'
+        '    "vs_version": "2017"'
+        '  },'
+        '  "recipe": "boringssl",'
+        '  "run_ssl_tests": false,'
+        '  "run_unit_tests": false'
+        '}'
       execution_timeout_secs: 1800
       caches {
         name: "win_toolchain"
@@ -2572,10 +2707,6 @@
         key: "luci.recipes.use_python3"
         value: 100
       }
-      experiments {
-        key: "luci.use_realms"
-        value: 100
-      }
     }
     builders {
       name: "win64_vs2017_compile"
@@ -2583,14 +2714,20 @@
       dimensions: "cpu:x86-64"
       dimensions: "os:Windows-10"
       dimensions: "pool:luci.flex.try"
-      recipe {
-        name: "boringssl"
+      exe {
         cipd_package: "infra/recipe_bundles/chromium.googlesource.com/chromium/tools/build"
         cipd_version: "refs/heads/main"
-        properties_j: "gclient_vars:{\"vs_version\":\"2017\"}"
-        properties_j: "run_ssl_tests:false"
-        properties_j: "run_unit_tests:false"
+        cmd: "luciexe"
       }
+      properties:
+        '{'
+        '  "gclient_vars": {'
+        '    "vs_version": "2017"'
+        '  },'
+        '  "recipe": "boringssl",'
+        '  "run_ssl_tests": false,'
+        '  "run_unit_tests": false'
+        '}'
       execution_timeout_secs: 1800
       caches {
         name: "win_toolchain"
@@ -2601,10 +2738,6 @@
         key: "luci.recipes.use_python3"
         value: 100
       }
-      experiments {
-        key: "luci.use_realms"
-        value: 100
-      }
     }
     builders {
       name: "win_arm64_compile"
@@ -2612,17 +2745,30 @@
       dimensions: "cpu:x86-64"
       dimensions: "os:Windows-10"
       dimensions: "pool:luci.flex.try"
-      recipe {
-        name: "boringssl"
+      exe {
         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_ASM_FLAGS\":\"--target=arm64-windows\",\"CMAKE_CXX_FLAGS\":\"--target=arm64-windows\",\"CMAKE_C_FLAGS\":\"--target=arm64-windows\",\"CMAKE_SYSTEM_NAME\":\"Windows\",\"CMAKE_SYSTEM_PROCESSOR\":\"arm64\"}"
-        properties_j: "gclient_vars:{\"checkout_nasm\":false,\"vs_version\":\"2017\"}"
-        properties_j: "msvc_target:\"arm64\""
-        properties_j: "run_ssl_tests:false"
-        properties_j: "run_unit_tests:false"
+        cmd: "luciexe"
       }
+      properties:
+        '{'
+        '  "clang": true,'
+        '  "cmake_args": {'
+        '    "CMAKE_ASM_FLAGS": "--target=arm64-windows",'
+        '    "CMAKE_CXX_FLAGS": "--target=arm64-windows",'
+        '    "CMAKE_C_FLAGS": "--target=arm64-windows",'
+        '    "CMAKE_SYSTEM_NAME": "Windows",'
+        '    "CMAKE_SYSTEM_PROCESSOR": "arm64"'
+        '  },'
+        '  "gclient_vars": {'
+        '    "checkout_nasm": false,'
+        '    "vs_version": "2017"'
+        '  },'
+        '  "msvc_target": "arm64",'
+        '  "recipe": "boringssl",'
+        '  "run_ssl_tests": false,'
+        '  "run_unit_tests": false'
+        '}'
       execution_timeout_secs: 1800
       caches {
         name: "win_toolchain"
@@ -2633,10 +2779,6 @@
         key: "luci.recipes.use_python3"
         value: 100
       }
-      experiments {
-        key: "luci.use_realms"
-        value: 100
-      }
     }
   }
 }
diff --git a/generated/project.cfg b/generated/project.cfg
index b225556..8209cd4 100644
--- a/generated/project.cfg
+++ b/generated/project.cfg
@@ -7,7 +7,7 @@
 name: "boringssl"
 access: "group:all"
 lucicfg {
-  version: "1.29.1"
+  version: "1.30.1"
   package_dir: ".."
   config_dir: "generated"
   entry_point: "main.star"
diff --git a/main.star b/main.star
index 0c5339a..2bc7175 100755
--- a/main.star
+++ b/main.star
@@ -9,12 +9,6 @@
 # Enable LUCI Realms support.
 lucicfg.enable_experiment("crbug.com/1085650")
 
-# Launch all builds in "realms-aware mode", crbug.com/1203847.
-luci.builder.defaults.experiments.set({
-    "luci.use_realms": 100,
-    "luci.recipes.use_python3": 100,
-})
-
 lucicfg.config(
     lint_checks = ["default"],
 )
@@ -144,6 +138,7 @@
         executable = luci.recipe(
             name = recipe,
             cipd_package = RECIPE_BUNDLE,
+            use_python3 = True,
         ),
         service_account = "boringssl-ci-builder@chops-service-accounts.iam.gserviceaccount.com",
         dimensions = dimensions,
@@ -169,6 +164,7 @@
         executable = luci.recipe(
             name = recipe,
             cipd_package = RECIPE_BUNDLE,
+            use_python3 = True,
         ),
         service_account = "boringssl-try-builder@chops-service-accounts.iam.gserviceaccount.com",
         dimensions = dimensions,