Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
K
k3s
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Registry
Registry
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Jacklull
k3s
Commits
a9bfae8e
Commit
a9bfae8e
authored
Apr 17, 2017
by
Jeff Grafton
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Update repo-infra bazel dependency and use new gcs_upload rule
parent
e1adcc23
Hide whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
140 additions
and
85 deletions
+140
-85
BUILD.bazel
BUILD.bazel
+19
-3
WORKSPACE
WORKSPACE
+2
-2
BUILD
build/BUILD
+75
-8
BUILD
build/release-tars/BUILD
+24
-66
BUILD
cluster/gce/BUILD
+14
-0
golang.sh
hack/lib/golang.sh
+6
-6
No files found.
BUILD.bazel
View file @
a9bfae8e
...
...
@@ -4,16 +4,32 @@ licenses(["notice"])
load("@io_bazel_rules_go//go:def.bzl", "go_prefix")
load("@io_kubernetes_build//defs:build.bzl", "gcs_upload")
load("@bazel_tools//tools/build_defs/pkg:pkg.bzl", "pkg_tar")
go_prefix("k8s.io/kubernetes")
filegroup(
name = "_binary-artifacts-and-hashes",
srcs = [
"//build:client-targets-and-hashes",
"//build:docker-artifacts-and-hashes",
"//build:node-targets-and-hashes",
"//build:server-targets-and-hashes",
],
visibility = ["//visibility:private"],
)
gcs_upload(
name = "ci-artifacts",
data = [
"//build/debs",
"//build/release-tars",
":_binary-artifacts-and-hashes",
"//build/release-tars:release-tars-and-hashes",
"//cluster/gce:gcs-release-artifacts-and-hashes",
],
upload_paths = {
"//:_binary-artifacts-and-hashes": "bin/linux/amd64",
"//build/release-tars:release-tars-and-hashes": "",
"//cluster/gce:gcs-release-artifacts-and-hashes": "extra/gce",
},
)
filegroup(
...
...
WORKSPACE
View file @
a9bfae8e
...
...
@@ -6,13 +6,13 @@ git_repository(
git_repository(
name = "io_kubernetes_build",
commit = "68
5f15b90b454af3086ab071fdea1b6db213d1fb
",
commit = "68
4e550a2f006dbe3cf3b3d481d3f19217b228f7
",
remote = "https://github.com/kubernetes/repo-infra.git",
)
git_repository(
name = "io_bazel",
commit = "
3b29803eb528ff525c7024190ffbf4b08c598cf2
",
commit = "
1fe52dd4b2d77a740648bc1509b68acae49deffc
",
remote = "https://github.com/ixdy/bazel.git",
)
...
...
build/BUILD
View file @
a9bfae8e
package(default_visibility = ["//visibility:public"])
load("@io_bazel//tools/build_defs/docker:docker.bzl", "docker_build")
load("@io_kubernetes_build//defs:build.bzl", "md5sum", "release_filegroup")
filegroup(
name = "package-srcs",
...
...
@@ -69,13 +70,9 @@ DOCKERIZED_BINARIES = {
},
}
[genrule(
name = binary + "_docker_tag",
srcs = [meta["target"]],
outs = [binary + ".docker_tag"],
# Currently each target has two outputs, the binary and its library, so hash only the first item (the binary).
# This can be made less hacky when we have static linking working.
cmd = "md5sum $(locations " + meta["target"] + ") | grep '" + binary + "'$$ | cut -f1 -d' ' | tr -d '\n' > $@",
[md5sum(
name = binary + ".docker_tag",
src = meta["target"],
) for binary, meta in DOCKERIZED_BINARIES.items()]
[docker_build(
...
...
@@ -97,8 +94,78 @@ DOCKERIZED_BINARIES = {
},
) for binary, meta in DOCKERIZED_BINARIES.items()]
filegroup(
release_
filegroup(
name = "docker-artifacts",
srcs = [":%s.tar" % binary for binary in DOCKERIZED_BINARIES.keys()] +
[":%s.docker_tag" % binary for binary in DOCKERIZED_BINARIES.keys()],
)
# KUBE_CLIENT_TARGETS
release_filegroup(
name = "client-targets",
srcs = [
"//cmd/kubectl",
"//federation/cmd/kubefed",
],
)
# KUBE_NODE_TARGETS
release_filegroup(
name = "node-targets",
srcs = [
"//cmd/kube-proxy",
"//cmd/kubelet",
],
)
# KUBE_SERVER_TARGETS
# No need to duplicate CLIENT_TARGETS or NODE_TARGETS here,
# since we include them in the actual build rule.
release_filegroup(
name = "server-targets",
srcs = [
"//cmd/cloud-controller-manager",
"//cmd/hyperkube",
"//cmd/kube-apiserver",
"//cmd/kube-controller-manager",
"//cmd/kubeadm",
"//plugin/cmd/kube-scheduler",
"//vendor/k8s.io/kube-aggregator",
],
)
# kube::golang::test_targets
filegroup(
name = "test-targets",
srcs = [
"//cmd/gendocs",
"//cmd/genkubedocs",
"//cmd/genman",
"//cmd/genswaggertypedocs",
"//cmd/genyaml",
"//cmd/kubemark", # TODO: server platforms only
"//cmd/linkcheck",
"//cmd/mungedocs",
"//examples/k8petstore/web-server/src",
"//federation/cmd/genfeddocs",
"//test/e2e:e2e.test",
"//test/e2e_node:e2e_node.test", # TODO: server platforms only
"//vendor/github.com/onsi/ginkgo/ginkgo",
],
)
# KUBE_TEST_PORTABLE
filegroup(
name = "test-portable-targets",
srcs = [
"//federation/develop:all-srcs",
"//hack:e2e.go",
"//hack:federated-ginkgo-e2e.sh",
"//hack:get-build.sh",
"//hack:ginkgo-e2e.sh",
"//hack/e2e-internal:all-srcs",
"//hack/lib:all-srcs",
"//test/e2e/testing-manifests:all-srcs",
"//test/kubemark:all-srcs",
],
)
build/release-tars/BUILD
View file @
a9bfae8e
package(default_visibility = ["//visibility:public"])
load("@bazel_tools//tools/build_defs/pkg:pkg.bzl", "pkg_tar")
load("@io_kubernetes_build//defs:build.bzl", "release_filegroup")
filegroup(
name = "package-srcs",
...
...
@@ -52,69 +53,19 @@ pkg_tar(
# FIXME: this should be configurable/auto-detected
PLATFORM_ARCH_STRING = "linux-amd64"
# KUBE_CLIENT_TARGETS
CLIENT_TARGETS = [
"//cmd/kubectl",
"//federation/cmd/kubefed",
]
# KUBE_NODE_TARGETS
NODE_TARGETS = [
"//cmd/kube-proxy",
"//cmd/kubelet",
]
# KUBE_SERVER_TARGETS
# No need to duplicate CLIENT_TARGETS or NODE_TARGETS here,
# since we include them in the actual build rule.
SERVER_TARGETS = [
"//cmd/cloud-controller-manager",
"//cmd/hyperkube",
"//cmd/kube-apiserver",
"//cmd/kube-controller-manager",
"//cmd/kubeadm",
"//plugin/cmd/kube-scheduler",
"//vendor/k8s.io/kube-aggregator",
]
# kube::golang::test_targets
TEST_BINARY_TARGETS = [
"//cmd/gendocs",
"//cmd/genkubedocs",
"//cmd/genman",
"//cmd/genswaggertypedocs",
"//cmd/genyaml",
"//cmd/linkcheck",
"//cmd/mungedocs",
"//examples/k8petstore/web-server/src",
"//federation/cmd/genfeddocs",
"//test/e2e:e2e.test",
"//vendor/github.com/onsi/ginkgo/ginkgo:ginkgo",
"//cmd/kubemark", # TODO: server platforms only
"//test/e2e_node:e2e_node.test", # TODO: server platforms only
]
TEST_PORTABLE_TARGETS = [
"//federation/develop:all-srcs",
"//hack:e2e.go",
"//hack:federated-ginkgo-e2e.sh",
"//hack:get-build.sh",
"//hack:ginkgo-e2e.sh",
"//hack/e2e-internal:all-srcs",
"//hack/lib:all-srcs",
"//test/e2e/testing-manifests:all-srcs",
"//test/kubemark:all-srcs",
]
# Included in node and server tarballs.
LICENSE_TARGETS = [
"//:Godeps/LICENSES",
":kubernetes-src.tar.gz",
]
filegroup(
name = "license-targets",
srcs = [
":kubernetes-src.tar.gz",
"//:Godeps/LICENSES",
],
visibility = ["//visibility:private"],
)
pkg_tar(
name = "_client-bin",
files =
CLIENT_TARGETS
,
files =
["//build:client-targets"]
,
mode = "0755",
package_dir = "client/bin",
visibility = ["//visibility:private"],
...
...
@@ -131,7 +82,10 @@ pkg_tar(
pkg_tar(
name = "_node-bin",
files = NODE_TARGETS + CLIENT_TARGETS,
files = [
"//build:client-targets",
"//build:node-targets",
],
mode = "0755",
package_dir = "node/bin",
visibility = ["//visibility:private"],
...
...
@@ -140,7 +94,7 @@ pkg_tar(
pkg_tar(
name = "kubernetes-node-%s" % PLATFORM_ARCH_STRING,
extension = "tar.gz",
files =
LICENSE_TARGETS
,
files =
[":license-targets"]
,
mode = "0644",
package_dir = "kubernetes",
deps = [
...
...
@@ -150,8 +104,11 @@ pkg_tar(
pkg_tar(
name = "_server-bin",
files = SERVER_TARGETS + NODE_TARGETS + CLIENT_TARGETS + [
files = [
"//build:client-targets",
"//build:docker-artifacts",
"//build:node-targets",
"//build:server-targets",
],
mode = "0755",
package_dir = "server/bin",
...
...
@@ -162,6 +119,7 @@ genrule(
name = "dummy",
outs = [".dummy"],
cmd = "touch $@",
visibility = ["//visibility:private"],
)
# Some of the startup scripts fail if there isn't an addons/ directory in the server tarball.
...
...
@@ -177,7 +135,7 @@ pkg_tar(
pkg_tar(
name = "kubernetes-server-%s" % PLATFORM_ARCH_STRING,
extension = "tar.gz",
files =
LICENSE_TARGETS
,
files =
[":license-targets"]
,
mode = "0644",
package_dir = "kubernetes",
deps = [
...
...
@@ -188,7 +146,7 @@ pkg_tar(
pkg_tar(
name = "_test-bin",
files =
TEST_BINARY_TARGETS
,
files =
["//build:test-targets"]
,
mode = "0755",
package_dir = "platforms/" + PLATFORM_ARCH_STRING.replace("-", "/"),
# TODO: how to make this multiplatform?
...
...
@@ -198,7 +156,7 @@ pkg_tar(
pkg_tar(
name = "kubernetes-test",
extension = "tar.gz",
files =
TEST_PORTABLE_TARGETS
,
files =
["//build:test-portable-targets"]
,
package_dir = "kubernetes",
strip_prefix = "//",
deps = [
...
...
@@ -255,7 +213,7 @@ pkg_tar(
],
)
filegroup(
release_
filegroup(
name = "release-tars",
srcs = [
":kubernetes.tar.gz",
...
...
cluster/gce/BUILD
View file @
a9bfae8e
package(default_visibility = ["//visibility:public"])
load("@bazel_tools//tools/build_defs/pkg:pkg.bzl", "pkg_tar")
load("@io_kubernetes_build//defs:build.bzl", "release_filegroup")
pkg_tar(
name = "gci-trusty-manifests",
...
...
@@ -34,3 +35,16 @@ filegroup(
srcs = [":package-srcs"],
tags = ["automanaged"],
)
# Having the configure-vm.sh script and and trusty code from the GCE cluster
# deploy hosted with the release is useful for GKE.
# This list should match the list in kubernetes/release/lib/releaselib.sh.
release_filegroup(
name = "gcs-release-artifacts",
srcs = [
"configure-vm.sh",
"gci/configure.sh",
"gci/master.yaml",
"gci/node.yaml",
],
)
hack/lib/golang.sh
View file @
a9bfae8e
...
...
@@ -19,7 +19,7 @@ readonly KUBE_GO_PACKAGE=k8s.io/kubernetes
readonly
KUBE_GOPATH
=
"
${
KUBE_OUTPUT
}
/go"
# The set of server targets that we are only building for Linux
# If you update this list, please also update build/
release-tars/
BUILD.
# If you update this list, please also update build/BUILD.
kube::golang::server_targets
()
{
local
targets
=(
cmd/kube-proxy
...
...
@@ -39,7 +39,7 @@ readonly KUBE_SERVER_TARGETS=($(kube::golang::server_targets))
readonly
KUBE_SERVER_BINARIES
=(
"
${
KUBE_SERVER_TARGETS
[@]##*/
}
"
)
# The set of server targets that we are only building for Kubernetes nodes
# If you update this list, please also update build/
release-tars/
BUILD.
# If you update this list, please also update build/BUILD.
kube::golang::node_targets
()
{
local
targets
=(
cmd/kube-proxy
...
...
@@ -112,7 +112,7 @@ else
fi
# The set of client targets that we are building for all platforms
# If you update this list, please also update build/
release-tars/
BUILD.
# If you update this list, please also update build/BUILD.
readonly
KUBE_CLIENT_TARGETS
=(
cmd/kubectl
federation/cmd/kubefed
...
...
@@ -121,7 +121,7 @@ readonly KUBE_CLIENT_BINARIES=("${KUBE_CLIENT_TARGETS[@]##*/}")
readonly
KUBE_CLIENT_BINARIES_WIN
=(
"
${
KUBE_CLIENT_BINARIES
[@]/%/.exe
}
"
)
# The set of test targets that we are building for all platforms
# If you update this list, please also update build/
release-tars/
BUILD.
# If you update this list, please also update build/BUILD.
kube::golang::test_targets
()
{
local
targets
=(
cmd/gendocs
...
...
@@ -141,7 +141,7 @@ kube::golang::test_targets() {
readonly
KUBE_TEST_TARGETS
=(
$(
kube::golang::test_targets
)
)
readonly
KUBE_TEST_BINARIES
=(
"
${
KUBE_TEST_TARGETS
[@]##*/
}
"
)
readonly
KUBE_TEST_BINARIES_WIN
=(
"
${
KUBE_TEST_BINARIES
[@]/%/.exe
}
"
)
# If you update this list, please also update build/
release-tars/
BUILD.
# If you update this list, please also update build/BUILD.
readonly
KUBE_TEST_PORTABLE
=(
test
/e2e/testing-manifests
test
/kubemark
...
...
@@ -157,7 +157,7 @@ readonly KUBE_TEST_PORTABLE=(
# Test targets which run on the Kubernetes clusters directly, so we only
# need to target server platforms.
# These binaries will be distributed in the kubernetes-test tarball.
# If you update this list, please also update build/
release-tars/
BUILD.
# If you update this list, please also update build/BUILD.
kube::golang::server_test_targets
()
{
local
targets
=(
cmd/kubemark
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment