diff --git a/build/ci/jenkins-presubmit.groovy b/build/ci/jenkins-presubmit.groovy
index c658133..59d7c60 100644
--- a/build/ci/jenkins-presubmit.groovy
+++ b/build/ci/jenkins-presubmit.groovy
@@ -22,10 +22,6 @@
                         echo "Gerrit change: ${GERRIT_CHANGE_URL}"
                         sh "git clean -fdx -e '/bazel-*'"
                         sh "JENKINS_NODE_COOKIE=dontKillMe tools/bazel --bazelrc=.bazelrc.ci test //..."
-                        sh "JENKINS_NODE_COOKIE=dontKillMe tools/bazel --bazelrc=.bazelrc.ci build  --//metropolis/cli/metroctl:buildkind=lite --platforms=@io_bazel_rules_go//go/toolchain:darwin_arm64 //metropolis/cli/metroctl"
-                        sh "JENKINS_NODE_COOKIE=dontKillMe tools/bazel --bazelrc=.bazelrc.ci build  --//metropolis/cli/metroctl:buildkind=lite --platforms=@io_bazel_rules_go//go/toolchain:darwin_amd64 //metropolis/cli/metroctl"
-                        sh "JENKINS_NODE_COOKIE=dontKillMe tools/bazel --bazelrc=.bazelrc.ci build  --//metropolis/cli/metroctl:buildkind=lite --platforms=@io_bazel_rules_go//go/toolchain:windows_arm64 //metropolis/cli/metroctl"
-                        sh "JENKINS_NODE_COOKIE=dontKillMe tools/bazel --bazelrc=.bazelrc.ci build  --//metropolis/cli/metroctl:buildkind=lite --platforms=@io_bazel_rules_go//go/toolchain:windows_amd64 //metropolis/cli/metroctl"
                         sh "JENKINS_NODE_COOKIE=dontKillMe tools/bazel --bazelrc=.bazelrc.ci test --config dbg //..."
                         sh "JENKINS_NODE_COOKIE=dontKillMe tools/bazel --bazelrc=.bazelrc.ci test --config race //..."
                     }
diff --git a/build/platforms/def.bzl b/build/platforms/def.bzl
new file mode 100644
index 0000000..2e4796a
--- /dev/null
+++ b/build/platforms/def.bzl
@@ -0,0 +1,36 @@
+def _multiplatform_transition_impl(_, attr):
+    return [
+        {"//command_line_option:platforms": str(platform)}
+        for platform in attr.platforms
+    ]
+
+_multiplatform_transition = transition(
+    implementation = _multiplatform_transition_impl,
+    inputs = [],
+    outputs = ["//command_line_option:platforms"],
+)
+
+def _multiplatform_transition_filegroup_impl(ctx):
+    files = [src[DefaultInfo].files for src in ctx.attr.srcs]
+    runfiles = ctx.runfiles().merge_all([src[DefaultInfo].default_runfiles for src in ctx.attr.srcs])
+    return [DefaultInfo(
+        files = depset(transitive = files),
+        runfiles = runfiles,
+    )]
+
+multiplatform_transition_filegroup = rule(
+    _multiplatform_transition_filegroup_impl,
+    attrs = {
+        "platforms": attr.label_list(
+            providers = [platform_common.PlatformInfo],
+            mandatory = True,
+            doc = "The target platforms to transition the srcs.",
+        ),
+        "srcs": attr.label_list(
+            cfg = _multiplatform_transition,
+            mandatory = True,
+            doc = "The input to be transitioned to the target platforms.",
+        ),
+    },
+    doc = "Transitions the srcs to use the provided platforms. The filegroup will contain artifacts for all target platforms.",
+)
