123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126 |
- # gazelle:build_file_name BUILD,BUILD.bazel
- # gazelle:exclude _artifacts
- # gazelle:exclude _gopath
- # gazelle:exclude _output
- # gazelle:exclude _tmp
- # gazelle:prefix k8s.io/kubernetes
- # Disable proto rules, since the Go sources are currently generated by
- # hack/update-generated-protobuf.sh and checked into the repo.
- # gazelle:proto disable_global
- package(default_visibility = ["//visibility:public"])
- load("@io_k8s_repo_infra//defs:build.bzl", "gcs_upload")
- load("//build:platforms.bzl", "for_platforms")
- filegroup(
- name = "_binary-artifacts-and-hashes",
- srcs = select(for_platforms(
- for_client = ["//build:client-targets-and-hashes"],
- for_node = [
- "//build:node-targets-and-hashes",
- "//build/debs:debs-and-hashes",
- ],
- for_server = [
- "//build:docker-artifacts-and-hashes",
- "//build:server-targets-and-hashes",
- ],
- )),
- visibility = ["//visibility:private"],
- )
- # TODO: collect all relevant docker_push targets into one target that can be run:
- # //build:push-server-images
- # //cluster/images/conformance:push-conformance
- # //cluster/images/hyperkube:push-hyperkube
- gcs_upload(
- name = "push-build",
- data = [
- ":_binary-artifacts-and-hashes",
- "//build/release-tars:release-tars-and-hashes",
- "//cluster/gce/gci:gcs-release-artifacts-and-hashes",
- "//cluster/gce/windows:gcs-release-artifacts-and-hashes",
- ],
- tags = ["manual"],
- # Use for_platforms to format the upload path based on the configured
- # platform (os/arch).
- # For example, this will turn into something like
- # upload_paths = select({
- # "@io_bazel_rules_go//go/platform:windows_386": {
- # ...,"//:binary-artifacts-and-hashes": "bin/windows/386"},
- # "@io_bazel_rules_go//go/platform:linux_ppc64le": {
- # ...,"//:binary-artifacts-and-hashes": "bin/linux/ppc64le"},
- #})
- # and bazel will select the correct entry.
- upload_paths = select(for_platforms(for_all = {
- "//build/release-tars:release-tars-and-hashes": "",
- "//cluster/gce/gci:gcs-release-artifacts-and-hashes": "extra/gce",
- "//cluster/gce/windows:gcs-release-artifacts-and-hashes": "extra/gce/windows",
- "//:_binary-artifacts-and-hashes": "bin/{OS}/{ARCH}",
- })),
- )
- filegroup(
- name = "package-srcs",
- srcs = glob(
- ["**"],
- exclude = [
- "bazel-*/**",
- "_*/**",
- ".config/**",
- ".git/**",
- ".gsutil/**",
- ".make/**",
- ],
- ),
- visibility = ["//visibility:private"],
- )
- filegroup(
- name = "all-srcs",
- srcs = [
- ":package-srcs",
- "//api/openapi-spec:all-srcs",
- "//build:all-srcs",
- "//cluster:all-srcs",
- "//cmd:all-srcs",
- "//docs:all-srcs",
- "//hack:all-srcs",
- "//pkg:all-srcs",
- "//plugin:all-srcs",
- "//staging:all-srcs",
- "//test:all-srcs",
- "//third_party:all-srcs",
- "//translations:all-srcs",
- "//vendor:all-srcs",
- ],
- tags = ["automanaged"],
- )
- genrule(
- name = "save_git_version",
- outs = ["version"],
- cmd = "grep ^STABLE_BUILD_SCM_REVISION bazel-out/stable-status.txt | awk '{print $$2}' >$@",
- stamp = 1,
- )
- platform(
- name = "rbe_with_network",
- parents = ["@rbe_default//config:platform"],
- # https://cloud.google.com/remote-build-execution/docs/remote-execution-environment#remote_execution_properties
- remote_execution_properties = """
- properties: {
- name: "dockerNetwork"
- value: "standard"
- }
- properties: {
- name: "dockerPrivileged"
- value: "true"
- }
- {PARENT_REMOTE_EXECUTION_PROPERTIES}
- """,
- )
|