@@ -3,6 +3,7 @@ package(default_visibility = ["//visibility:public"])
3
3
load ("@io_bazel_rules_docker//container:container.bzl" , "container_bundle" , "container_image" )
4
4
load ("@io_k8s_repo_infra//defs:build.bzl" , "release_filegroup" )
5
5
load (":code_generation_test.bzl" , "code_generation_test_suite" )
6
+ load (":platforms.bzl" , "for_platforms" )
6
7
7
8
code_generation_test_suite (
8
9
name = "code_generation_tests" ,
@@ -30,23 +31,38 @@ filegroup(
30
31
# in build/common.sh.
31
32
DOCKERIZED_BINARIES = {
32
33
"cloud-controller-manager" : {
33
- "base" : "@debian-base-amd64//image" ,
34
+ "base" : select (for_platforms (
35
+ for_node = "@debian-base-{ARCH}//image" ,
36
+ only_os = "linux" ,
37
+ )),
34
38
"target" : "//cmd/cloud-controller-manager:cloud-controller-manager" ,
35
39
},
36
40
"kube-apiserver" : {
37
- "base" : "@debian-base-amd64//image" ,
41
+ "base" : select (for_platforms (
42
+ for_node = "@debian-base-{ARCH}//image" ,
43
+ only_os = "linux" ,
44
+ )),
38
45
"target" : "//cmd/kube-apiserver:kube-apiserver" ,
39
46
},
40
47
"kube-controller-manager" : {
41
- "base" : "@debian-base-amd64//image" ,
48
+ "base" : select (for_platforms (
49
+ for_node = "@debian-base-{ARCH}//image" ,
50
+ only_os = "linux" ,
51
+ )),
42
52
"target" : "//cmd/kube-controller-manager:kube-controller-manager" ,
43
53
},
44
54
"kube-scheduler" : {
45
- "base" : "@debian-base-amd64//image" ,
55
+ "base" : select (for_platforms (
56
+ for_node = "@debian-base-{ARCH}//image" ,
57
+ only_os = "linux" ,
58
+ )),
46
59
"target" : "//cmd/kube-scheduler:kube-scheduler" ,
47
60
},
48
61
"kube-proxy" : {
49
- "base" : "@debian-iptables-amd64//image" ,
62
+ "base" : select (for_platforms (
63
+ for_node = "@debian-iptables-{ARCH}//image" ,
64
+ only_os = "linux" ,
65
+ )),
50
66
"target" : "//cmd/kube-proxy:kube-proxy" ,
51
67
},
52
68
}
@@ -55,9 +71,10 @@ DOCKERIZED_BINARIES = {
55
71
name = binary + "-internal" ,
56
72
base = meta ["base" ],
57
73
cmd = ["/usr/bin/" + binary ],
58
- debs = [
59
- "//build/debs:%s.deb" % binary ,
60
- ],
74
+ debs = select (for_platforms (
75
+ for_node = ["//build/debs:%s-{ARCH}.deb" % binary ],
76
+ only_os = "linux" ,
77
+ )),
61
78
stamp = True ,
62
79
symlinks = {
63
80
# Some cluster startup scripts expect to find the binaries in /usr/local/bin,
@@ -102,51 +119,55 @@ release_filegroup(
102
119
# KUBE_CLIENT_TARGETS
103
120
release_filegroup (
104
121
name = "client-targets" ,
105
- srcs = [
122
+ conditioned_srcs = for_platforms ( for_client = [
106
123
"//cmd/kubectl" ,
107
- ],
124
+ ]) ,
108
125
)
109
126
110
127
# KUBE_NODE_TARGETS
111
128
release_filegroup (
112
129
name = "node-targets" ,
113
- srcs = [
130
+ conditioned_srcs = for_platforms ( for_node = [
114
131
"//cmd/kube-proxy" ,
115
132
"//cmd/kubeadm" ,
116
133
"//cmd/kubelet" ,
117
- ],
134
+ ]) ,
118
135
)
119
136
120
137
# KUBE_SERVER_TARGETS
121
138
# No need to duplicate CLIENT_TARGETS or NODE_TARGETS here,
122
139
# since we include them in the actual build rule.
123
140
release_filegroup (
124
141
name = "server-targets" ,
125
- srcs = [
142
+ conditioned_srcs = for_platforms ( for_server = [
126
143
"//cluster/gce/gci/mounter" ,
127
144
"//cmd/cloud-controller-manager" ,
128
145
"//cmd/hyperkube" ,
129
146
"//cmd/kube-apiserver" ,
130
147
"//cmd/kube-controller-manager" ,
131
148
"//cmd/kube-scheduler" ,
132
- ],
149
+ ]) ,
133
150
)
134
151
135
152
# kube::golang::test_targets
136
153
filegroup (
137
154
name = "test-targets" ,
138
- srcs = [
139
- "//cmd/gendocs" ,
140
- "//cmd/genkubedocs" ,
141
- "//cmd/genman" ,
142
- "//cmd/genswaggertypedocs" ,
143
- "//cmd/genyaml" ,
144
- "//cmd/kubemark" , # TODO: server platforms only
145
- "//cmd/linkcheck" ,
146
- "//test/e2e:e2e.test" ,
147
- "//test/e2e_node:e2e_node.test" , # TODO: server platforms only
148
- "//vendor/github.com/onsi/ginkgo/ginkgo" ,
149
- ],
155
+ srcs = select (for_platforms (
156
+ for_server = [
157
+ "//cmd/kubemark" ,
158
+ "//test/e2e_node:e2e_node.test_binary" ,
159
+ ],
160
+ for_test = [
161
+ "//cmd/gendocs" ,
162
+ "//cmd/genkubedocs" ,
163
+ "//cmd/genman" ,
164
+ "//cmd/genswaggertypedocs" ,
165
+ "//cmd/genyaml" ,
166
+ "//cmd/linkcheck" ,
167
+ "//test/e2e:e2e.test_binary" ,
168
+ "//vendor/github.com/onsi/ginkgo/ginkgo" ,
169
+ ],
170
+ )),
150
171
)
151
172
152
173
# KUBE_TEST_PORTABLE
0 commit comments