mirror of https://github.com/kubernetes/kops.git
updating to bazel 0.0.7 and adding verify scripts
This commit is contained in:
parent
40a94a7c98
commit
30acda868a
|
@ -5,8 +5,9 @@ load("@io_bazel_rules_go//go:def.bzl", "gazelle", "go_library", "go_prefix")
|
||||||
go_prefix("k8s.io/kops")
|
go_prefix("k8s.io/kops")
|
||||||
|
|
||||||
gazelle(
|
gazelle(
|
||||||
name = "gazelle",
|
command = "fix",
|
||||||
external = "vendored",
|
external = "vendored",
|
||||||
|
name = "gazelle",
|
||||||
prefix = "k8s.io/kops",
|
prefix = "k8s.io/kops",
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
30
Makefile
30
Makefile
|
@ -35,6 +35,7 @@ UPLOAD=$(BUILD)/upload
|
||||||
UID:=$(shell id -u)
|
UID:=$(shell id -u)
|
||||||
GID:=$(shell id -g)
|
GID:=$(shell id -g)
|
||||||
TESTABLE_PACKAGES:=$(shell egrep -v "k8s.io/kops/cloudmock|k8s.io/kops/vendor" hack/.packages)
|
TESTABLE_PACKAGES:=$(shell egrep -v "k8s.io/kops/cloudmock|k8s.io/kops/vendor" hack/.packages)
|
||||||
|
BAZEL_OPTIONS?=
|
||||||
|
|
||||||
SOURCES:=$(shell find . -name "*.go")
|
SOURCES:=$(shell find . -name "*.go")
|
||||||
|
|
||||||
|
@ -568,17 +569,30 @@ kops-server-push: kops-server-build
|
||||||
|
|
||||||
.PHONY: bazel-test
|
.PHONY: bazel-test
|
||||||
bazel-test:
|
bazel-test:
|
||||||
bazel test //cmd/... //pkg/... //channels/... //nodeup/... //channels/... //protokube/... //dns-controller/... //upup/... //util/... --test_output=errors
|
bazel ${BAZEL_OPTIONS} test //cmd/... //pkg/... //channels/... //nodeup/... //channels/... //protokube/... //dns-controller/... //upup/... //util/... //hack:verify-all --test_output=errors
|
||||||
|
|
||||||
.PHONY: bazel-build
|
.PHONY: bazel-build
|
||||||
bazel-build:
|
bazel-build:
|
||||||
bazel build //cmd/... //pkg/... //channels/... //nodeup/... //channels/... //protokube/... //dns-controller/...
|
bazel build //cmd/... //pkg/... //channels/... //nodeup/... //channels/... //protokube/... //dns-controller/...
|
||||||
|
|
||||||
# TODO: Get working on a mac / windows machine!
|
# Not working yet, but we can hope
|
||||||
# GOOS=linux GOARCH=amd64 go build -a ${EXTRA_BUILDFLAGS} -o $@ -ldflags "${EXTRA_LDFLAGS} -X k8s.io/kops.Version=${VERSION} -X k8s.io/kops.GitVersion=${GITSHA}" k8s.io/kops/cmd/nodeup
|
#.PHONY: bazel-crossbuild-kops
|
||||||
.PHONY: bazel-crossbuild-nodeup
|
#bazel-crossbuild-kops:
|
||||||
bazel-crossbuild-nodeup:
|
# bazel build --experimental_platforms=@io_bazel_rules_go//go/toolchain:darwin_amd64 //cmd/kops/...
|
||||||
bazel build //cmd/nodeup
|
# bazel build --experimental_platforms=@io_bazel_rules_go//go/toolchain:linux_amd64 //cmd/kops/...
|
||||||
|
# bazel build --experimental_platforms=@io_bazel_rules_go//go/toolchain:windows_amd64 //cmd/kops/...
|
||||||
|
#
|
||||||
|
#.PHONY: bazel-crossbuild-nodeup
|
||||||
|
#bazel-crossbuild-nodeup:
|
||||||
|
# bazel build --experimental_platforms=@io_bazel_rules_go//go/toolchain:linux_amd64 //cmd/nodeup/...
|
||||||
|
|
||||||
|
#.PHONY: bazel-crossbuild-protokube
|
||||||
|
#bazel-crossbuild-protokube:
|
||||||
|
# bazel build --experimental_platforms=@io_bazel_rules_go//go/toolchain:linux_amd64 //protokube/...
|
||||||
|
|
||||||
|
#.PHONY: bazel-crossbuild-dns-controller
|
||||||
|
#bazel-crossbuild-dns-controller:
|
||||||
|
# bazel build --experimental_platforms=@io_bazel_rules_go//go/toolchain:linux_amd64 //dns-controller/...
|
||||||
|
|
||||||
.PHONY: bazel-push
|
.PHONY: bazel-push
|
||||||
# Will always push a linux-based build up to the server
|
# Will always push a linux-based build up to the server
|
||||||
|
@ -595,6 +609,10 @@ bazel-push-gce-run: bazel-push
|
||||||
bazel-push-aws-run: bazel-push
|
bazel-push-aws-run: bazel-push
|
||||||
ssh -t ${TARGET} sudo SKIP_PACKAGE_UPDATE=1 /tmp/nodeup --conf=/var/cache/kubernetes-install/kube_env.yaml --v=8
|
ssh -t ${TARGET} sudo SKIP_PACKAGE_UPDATE=1 /tmp/nodeup --conf=/var/cache/kubernetes-install/kube_env.yaml --v=8
|
||||||
|
|
||||||
|
.PHONY: bazel-gazelle
|
||||||
|
bazel-gazelle:
|
||||||
|
bazel run //:gazelle
|
||||||
|
|
||||||
.PHONY: check-markdown-links
|
.PHONY: check-markdown-links
|
||||||
check-markdown-links:
|
check-markdown-links:
|
||||||
docker run -t -v $$PWD:/tmp \
|
docker run -t -v $$PWD:/tmp \
|
||||||
|
|
11
WORKSPACE
11
WORKSPACE
|
@ -1,9 +1,8 @@
|
||||||
http_archive(
|
http_archive(
|
||||||
name = "io_bazel_rules_go",
|
name = "io_bazel_rules_go",
|
||||||
sha256 = "ca58b0b856dc95473b93f2228ab117913b82a6617fc0deabd107346e3981522a",
|
url = "https://github.com/bazelbuild/rules_go/releases/download/0.7.0/rules_go-0.7.0.tar.gz",
|
||||||
url = "https://github.com/bazelbuild/rules_go/releases/download/0.5.5/rules_go-0.5.5.tar.gz",
|
sha256 = "91fca9cf860a1476abdc185a5f675b641b60d3acf0596679a27b580af60bf19c",
|
||||||
)
|
)
|
||||||
|
load("@io_bazel_rules_go//go:def.bzl", "go_rules_dependencies", "go_register_toolchains")
|
||||||
load("@io_bazel_rules_go//go:def.bzl", "go_repositories", "go_repository")
|
go_rules_dependencies()
|
||||||
|
go_register_toolchains()
|
||||||
go_repositories()
|
|
||||||
|
|
|
@ -16,5 +16,6 @@ go_library(
|
||||||
go_binary(
|
go_binary(
|
||||||
name = "nodeup",
|
name = "nodeup",
|
||||||
library = ":go_default_library",
|
library = ":go_default_library",
|
||||||
|
static = "on",
|
||||||
visibility = ["//visibility:public"],
|
visibility = ["//visibility:public"],
|
||||||
)
|
)
|
||||||
|
|
|
@ -0,0 +1,32 @@
|
||||||
|
package(default_visibility = ["//visibility:public"])
|
||||||
|
|
||||||
|
|
||||||
|
# this does not work, and I am uncertain we will need it
|
||||||
|
#sh_test(
|
||||||
|
# name = "verify-packages",
|
||||||
|
# srcs = ["verify-packages.sh"],
|
||||||
|
# tags = ["manual"],
|
||||||
|
#)
|
||||||
|
|
||||||
|
sh_test(
|
||||||
|
name = "verify-boilerplate",
|
||||||
|
srcs = ["verify-boilerplate.sh"],
|
||||||
|
tags = ["manual"],
|
||||||
|
)
|
||||||
|
|
||||||
|
sh_test(
|
||||||
|
name = "verify-gofmt",
|
||||||
|
srcs = ["verify-gofmt.sh"],
|
||||||
|
tags = ["manual"],
|
||||||
|
)
|
||||||
|
|
||||||
|
test_suite(
|
||||||
|
name = "verify-all",
|
||||||
|
tags = ["manual"],
|
||||||
|
tests = [
|
||||||
|
"verify-boilerplate",
|
||||||
|
#"verify-packages",
|
||||||
|
"verify-gofmt",
|
||||||
|
],
|
||||||
|
)
|
||||||
|
|
|
@ -0,0 +1,65 @@
|
||||||
|
#!/usr/bin/env bash
|
||||||
|
# Copyright 2016 The Kubernetes Authors.
|
||||||
|
#
|
||||||
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
# you may not use this file except in compliance with the License.
|
||||||
|
# You may obtain a copy of the License at
|
||||||
|
#
|
||||||
|
# http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
#
|
||||||
|
# Unless required by applicable law or agreed to in writing, software
|
||||||
|
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
# See the License for the specific language governing permissions and
|
||||||
|
# limitations under the License.
|
||||||
|
|
||||||
|
set -o errexit
|
||||||
|
set -o nounset
|
||||||
|
set -o pipefail
|
||||||
|
|
||||||
|
export KUBE_ROOT=$(dirname "${BASH_SOURCE}")/..
|
||||||
|
|
||||||
|
# Example: kube::util::trap_add 'echo "in trap DEBUG"' DEBUG
|
||||||
|
# See: http://stackoverflow.com/questions/3338030/multiple-bash-traps-for-the-same-signal
|
||||||
|
trap_add() {
|
||||||
|
local trap_add_cmd
|
||||||
|
trap_add_cmd=$1
|
||||||
|
shift
|
||||||
|
|
||||||
|
for trap_add_name in "$@"; do
|
||||||
|
local existing_cmd
|
||||||
|
local new_cmd
|
||||||
|
|
||||||
|
# Grab the currently defined trap commands for this trap
|
||||||
|
existing_cmd=`trap -p "${trap_add_name}" | awk -F"'" '{print $2}'`
|
||||||
|
|
||||||
|
if [[ -z "${existing_cmd}" ]]; then
|
||||||
|
new_cmd="${trap_add_cmd}"
|
||||||
|
else
|
||||||
|
new_cmd="${trap_add_cmd};${existing_cmd}"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Assign the test
|
||||||
|
trap "${new_cmd}" "${trap_add_name}"
|
||||||
|
done
|
||||||
|
}
|
||||||
|
|
||||||
|
_tmpdir="$(mktemp -d -t verify-bazel.XXXXXX)"
|
||||||
|
trap_add "rm -rf ${_tmpdir}" EXIT
|
||||||
|
|
||||||
|
_tmp_gopath="${_tmpdir}/go"
|
||||||
|
_tmp_kuberoot="${_tmp_gopath}/src/k8s.io/kops"
|
||||||
|
mkdir -p "${_tmp_kuberoot}/.."
|
||||||
|
cp -a "${KUBE_ROOT}" "${_tmp_kuberoot}/.."
|
||||||
|
|
||||||
|
cd "${_tmp_kuberoot}"
|
||||||
|
GOPATH="${_tmp_gopath}" bazel run //:gazelle
|
||||||
|
|
||||||
|
diff=$(diff -Naupr "${KUBE_ROOT}" "${_tmp_kuberoot}" || true)
|
||||||
|
|
||||||
|
if [[ -n "${diff}" ]]; then
|
||||||
|
echo "${diff}"
|
||||||
|
echo
|
||||||
|
echo "Run make bazel-gazelle"
|
||||||
|
exit 1
|
||||||
|
fi
|
Loading…
Reference in New Issue