mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-08-04 01:40:07 +00:00
Make release-tars multiplatform
This commit is contained in:
parent
bc316e3dc1
commit
4b50d9352f
22
build/BUILD
22
build/BUILD
@ -119,19 +119,19 @@ release_filegroup(
|
|||||||
# KUBE_CLIENT_TARGETS
|
# KUBE_CLIENT_TARGETS
|
||||||
release_filegroup(
|
release_filegroup(
|
||||||
name = "client-targets",
|
name = "client-targets",
|
||||||
srcs = [
|
conditioned_srcs = for_platforms(for_client = [
|
||||||
"//cmd/kubectl",
|
"//cmd/kubectl",
|
||||||
],
|
]),
|
||||||
)
|
)
|
||||||
|
|
||||||
# KUBE_NODE_TARGETS
|
# KUBE_NODE_TARGETS
|
||||||
release_filegroup(
|
release_filegroup(
|
||||||
name = "node-targets",
|
name = "node-targets",
|
||||||
srcs = [
|
conditioned_srcs = for_platforms(for_node = [
|
||||||
"//cmd/kube-proxy",
|
"//cmd/kube-proxy",
|
||||||
"//cmd/kubeadm",
|
"//cmd/kubeadm",
|
||||||
"//cmd/kubelet",
|
"//cmd/kubelet",
|
||||||
],
|
]),
|
||||||
)
|
)
|
||||||
|
|
||||||
# KUBE_SERVER_TARGETS
|
# KUBE_SERVER_TARGETS
|
||||||
@ -139,31 +139,35 @@ release_filegroup(
|
|||||||
# since we include them in the actual build rule.
|
# since we include them in the actual build rule.
|
||||||
release_filegroup(
|
release_filegroup(
|
||||||
name = "server-targets",
|
name = "server-targets",
|
||||||
srcs = [
|
conditioned_srcs = for_platforms(for_server = [
|
||||||
"//cluster/gce/gci/mounter",
|
"//cluster/gce/gci/mounter",
|
||||||
"//cmd/cloud-controller-manager",
|
"//cmd/cloud-controller-manager",
|
||||||
"//cmd/hyperkube",
|
"//cmd/hyperkube",
|
||||||
"//cmd/kube-apiserver",
|
"//cmd/kube-apiserver",
|
||||||
"//cmd/kube-controller-manager",
|
"//cmd/kube-controller-manager",
|
||||||
"//cmd/kube-scheduler",
|
"//cmd/kube-scheduler",
|
||||||
],
|
]),
|
||||||
)
|
)
|
||||||
|
|
||||||
# kube::golang::test_targets
|
# kube::golang::test_targets
|
||||||
filegroup(
|
filegroup(
|
||||||
name = "test-targets",
|
name = "test-targets",
|
||||||
srcs = [
|
srcs = select(for_platforms(
|
||||||
|
for_server = [
|
||||||
|
"//cmd/kubemark",
|
||||||
|
"//test/e2e_node:e2e_node.test_binary",
|
||||||
|
],
|
||||||
|
for_test = [
|
||||||
"//cmd/gendocs",
|
"//cmd/gendocs",
|
||||||
"//cmd/genkubedocs",
|
"//cmd/genkubedocs",
|
||||||
"//cmd/genman",
|
"//cmd/genman",
|
||||||
"//cmd/genswaggertypedocs",
|
"//cmd/genswaggertypedocs",
|
||||||
"//cmd/genyaml",
|
"//cmd/genyaml",
|
||||||
"//cmd/kubemark", # TODO: server platforms only
|
|
||||||
"//cmd/linkcheck",
|
"//cmd/linkcheck",
|
||||||
"//test/e2e:e2e.test_binary",
|
"//test/e2e:e2e.test_binary",
|
||||||
"//test/e2e_node:e2e_node.test_binary", # TODO: server platforms only
|
|
||||||
"//vendor/github.com/onsi/ginkgo/ginkgo",
|
"//vendor/github.com/onsi/ginkgo/ginkgo",
|
||||||
],
|
],
|
||||||
|
)),
|
||||||
)
|
)
|
||||||
|
|
||||||
# KUBE_TEST_PORTABLE
|
# KUBE_TEST_PORTABLE
|
||||||
|
@ -1,5 +1,14 @@
|
|||||||
package(default_visibility = ["//visibility:public"])
|
package(default_visibility = ["//visibility:public"])
|
||||||
|
|
||||||
|
load(
|
||||||
|
"//build:platforms.bzl",
|
||||||
|
"CLIENT_PLATFORMS",
|
||||||
|
"NODE_PLATFORMS",
|
||||||
|
"SERVER_PLATFORMS",
|
||||||
|
"TEST_PLATFORMS",
|
||||||
|
"for_platforms",
|
||||||
|
"go_platform_constraint",
|
||||||
|
)
|
||||||
load("@io_k8s_repo_infra//defs:build.bzl", "release_filegroup")
|
load("@io_k8s_repo_infra//defs:build.bzl", "release_filegroup")
|
||||||
load("@io_k8s_repo_infra//defs:pkg.bzl", "pkg_tar")
|
load("@io_k8s_repo_infra//defs:pkg.bzl", "pkg_tar")
|
||||||
|
|
||||||
@ -51,9 +60,6 @@ pkg_tar(
|
|||||||
tags = ["no-cache"],
|
tags = ["no-cache"],
|
||||||
)
|
)
|
||||||
|
|
||||||
# FIXME: this should be configurable/auto-detected
|
|
||||||
PLATFORM_ARCH_STRING = "linux-amd64"
|
|
||||||
|
|
||||||
# Included in node and server tarballs.
|
# Included in node and server tarballs.
|
||||||
filegroup(
|
filegroup(
|
||||||
name = "license-targets",
|
name = "license-targets",
|
||||||
@ -73,15 +79,13 @@ pkg_tar(
|
|||||||
visibility = ["//visibility:private"],
|
visibility = ["//visibility:private"],
|
||||||
)
|
)
|
||||||
|
|
||||||
pkg_tar(
|
[[pkg_tar(
|
||||||
name = "kubernetes-client-%s" % PLATFORM_ARCH_STRING,
|
name = "kubernetes-client-%s-%s" % (os, arch),
|
||||||
extension = "tar.gz",
|
extension = "tar.gz",
|
||||||
package_dir = "kubernetes",
|
package_dir = "kubernetes",
|
||||||
tags = ["no-cache"],
|
tags = ["no-cache"],
|
||||||
deps = [
|
deps = select({go_platform_constraint(os, arch): [":_client-bin"]}),
|
||||||
":_client-bin",
|
) for arch in archs] for os, archs in CLIENT_PLATFORMS.items()]
|
||||||
],
|
|
||||||
)
|
|
||||||
|
|
||||||
pkg_tar(
|
pkg_tar(
|
||||||
name = "_node-bin",
|
name = "_node-bin",
|
||||||
@ -95,17 +99,15 @@ pkg_tar(
|
|||||||
visibility = ["//visibility:private"],
|
visibility = ["//visibility:private"],
|
||||||
)
|
)
|
||||||
|
|
||||||
pkg_tar(
|
[[pkg_tar(
|
||||||
name = "kubernetes-node-%s" % PLATFORM_ARCH_STRING,
|
name = "kubernetes-node-%s-%s" % (os, arch),
|
||||||
srcs = [":license-targets"],
|
srcs = [":license-targets"],
|
||||||
extension = "tar.gz",
|
extension = "tar.gz",
|
||||||
mode = "0644",
|
mode = "0644",
|
||||||
package_dir = "kubernetes",
|
package_dir = "kubernetes",
|
||||||
tags = ["no-cache"],
|
tags = ["no-cache"],
|
||||||
deps = [
|
deps = select({go_platform_constraint(os, arch): [":_node-bin"]}),
|
||||||
":_node-bin",
|
) for arch in archs] for os, archs in NODE_PLATFORMS.items()]
|
||||||
],
|
|
||||||
)
|
|
||||||
|
|
||||||
pkg_tar(
|
pkg_tar(
|
||||||
name = "_server-bin",
|
name = "_server-bin",
|
||||||
@ -139,27 +141,30 @@ pkg_tar(
|
|||||||
visibility = ["//visibility:private"],
|
visibility = ["//visibility:private"],
|
||||||
)
|
)
|
||||||
|
|
||||||
pkg_tar(
|
[[pkg_tar(
|
||||||
name = "kubernetes-server-%s" % PLATFORM_ARCH_STRING,
|
name = "kubernetes-server-%s-%s" % (os, arch),
|
||||||
srcs = [":license-targets"],
|
srcs = [":license-targets"],
|
||||||
extension = "tar.gz",
|
extension = "tar.gz",
|
||||||
mode = "0644",
|
mode = "0644",
|
||||||
package_dir = "kubernetes",
|
package_dir = "kubernetes",
|
||||||
tags = ["no-cache"],
|
tags = ["no-cache"],
|
||||||
deps = [
|
deps = select({
|
||||||
|
go_platform_constraint(os, arch): [
|
||||||
":_server-addons",
|
":_server-addons",
|
||||||
":_server-bin",
|
":_server-bin",
|
||||||
],
|
],
|
||||||
)
|
}),
|
||||||
|
) for arch in archs] for os, archs in SERVER_PLATFORMS.items()]
|
||||||
|
|
||||||
# The mondo test tarball is deprecated.
|
# The mondo test tarball is deprecated.
|
||||||
pkg_tar(
|
pkg_tar(
|
||||||
name = "_test-mondo-bin",
|
name = "_test-mondo-bin",
|
||||||
srcs = ["//build:test-targets"],
|
srcs = ["//build:test-targets"],
|
||||||
mode = "0755",
|
mode = "0755",
|
||||||
package_dir = "platforms/" + PLATFORM_ARCH_STRING.replace("-", "/"),
|
package_dir = select(for_platforms(
|
||||||
|
for_test = "platforms/{OS}/{ARCH}",
|
||||||
|
)),
|
||||||
tags = ["no-cache"],
|
tags = ["no-cache"],
|
||||||
# TODO: how to make this multiplatform?
|
|
||||||
visibility = ["//visibility:private"],
|
visibility = ["//visibility:private"],
|
||||||
)
|
)
|
||||||
|
|
||||||
@ -197,10 +202,9 @@ pkg_tar(
|
|||||||
},
|
},
|
||||||
strip_prefix = "//",
|
strip_prefix = "//",
|
||||||
tags = ["no-cache"],
|
tags = ["no-cache"],
|
||||||
deps = [
|
deps = select(for_platforms(
|
||||||
# TODO: how to make this multiplatform?
|
for_test = [":_test-mondo-bin"],
|
||||||
":_test-mondo-bin",
|
)),
|
||||||
],
|
|
||||||
)
|
)
|
||||||
|
|
||||||
pkg_tar(
|
pkg_tar(
|
||||||
@ -221,17 +225,14 @@ pkg_tar(
|
|||||||
visibility = ["//visibility:private"],
|
visibility = ["//visibility:private"],
|
||||||
)
|
)
|
||||||
|
|
||||||
pkg_tar(
|
[[pkg_tar(
|
||||||
name = "kubernetes-test-%s" % PLATFORM_ARCH_STRING,
|
name = "kubernetes-test-%s-%s" % (os, arch),
|
||||||
extension = "tar.gz",
|
extension = "tar.gz",
|
||||||
package_dir = "kubernetes",
|
package_dir = "kubernetes",
|
||||||
strip_prefix = "//",
|
strip_prefix = "//",
|
||||||
tags = ["no-cache"],
|
tags = ["no-cache"],
|
||||||
deps = [
|
deps = select({go_platform_constraint(os, arch): [":_test-bin"]}),
|
||||||
# TODO: how to make this multiplatform?
|
) for arch in archs] for os, archs in TEST_PLATFORMS.items()]
|
||||||
":_test-bin",
|
|
||||||
],
|
|
||||||
)
|
|
||||||
|
|
||||||
pkg_tar(
|
pkg_tar(
|
||||||
name = "_full_server",
|
name = "_full_server",
|
||||||
@ -275,13 +276,21 @@ release_filegroup(
|
|||||||
name = "release-tars",
|
name = "release-tars",
|
||||||
srcs = [
|
srcs = [
|
||||||
":kubernetes.tar.gz",
|
":kubernetes.tar.gz",
|
||||||
":kubernetes-client-%s.tar.gz" % PLATFORM_ARCH_STRING,
|
|
||||||
":kubernetes-node-%s.tar.gz" % PLATFORM_ARCH_STRING,
|
|
||||||
":kubernetes-server-%s.tar.gz" % PLATFORM_ARCH_STRING,
|
|
||||||
":kubernetes-manifests.tar.gz",
|
|
||||||
":kubernetes-src.tar.gz",
|
":kubernetes-src.tar.gz",
|
||||||
":kubernetes-test-%s.tar.gz" % PLATFORM_ARCH_STRING,
|
|
||||||
":kubernetes-test.tar.gz",
|
|
||||||
":kubernetes-test-portable.tar.gz",
|
|
||||||
],
|
],
|
||||||
|
conditioned_srcs = for_platforms(
|
||||||
|
for_all = [
|
||||||
|
],
|
||||||
|
for_client = [":kubernetes-client-{OS}-{ARCH}.tar.gz"],
|
||||||
|
for_node = [":kubernetes-node-{OS}-{ARCH}.tar.gz"],
|
||||||
|
for_server = [
|
||||||
|
":kubernetes-server-{OS}-{ARCH}.tar.gz",
|
||||||
|
":kubernetes-manifests.tar.gz",
|
||||||
|
],
|
||||||
|
for_test = [
|
||||||
|
":kubernetes-test-portable.tar.gz",
|
||||||
|
":kubernetes-test-{OS}-{ARCH}.tar.gz",
|
||||||
|
":kubernetes-test.tar.gz", # FIXME
|
||||||
|
],
|
||||||
|
),
|
||||||
)
|
)
|
||||||
|
Loading…
Reference in New Issue
Block a user