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")
|
||||
|
||||
gazelle(
|
||||
name = "gazelle",
|
||||
command = "fix",
|
||||
external = "vendored",
|
||||
name = "gazelle",
|
||||
prefix = "k8s.io/kops",
|
||||
)
|
||||
|
||||
|
|
30
Makefile
30
Makefile
|
@ -35,6 +35,7 @@ UPLOAD=$(BUILD)/upload
|
|||
UID:=$(shell id -u)
|
||||
GID:=$(shell id -g)
|
||||
TESTABLE_PACKAGES:=$(shell egrep -v "k8s.io/kops/cloudmock|k8s.io/kops/vendor" hack/.packages)
|
||||
BAZEL_OPTIONS?=
|
||||
|
||||
SOURCES:=$(shell find . -name "*.go")
|
||||
|
||||
|
@ -568,17 +569,30 @@ kops-server-push: kops-server-build
|
|||
|
||||
.PHONY: 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
|
||||
bazel-build:
|
||||
bazel build //cmd/... //pkg/... //channels/... //nodeup/... //channels/... //protokube/... //dns-controller/...
|
||||
|
||||
# TODO: Get working on a mac / windows machine!
|
||||
# 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-nodeup
|
||||
bazel-crossbuild-nodeup:
|
||||
bazel build //cmd/nodeup
|
||||
# Not working yet, but we can hope
|
||||
#.PHONY: bazel-crossbuild-kops
|
||||
#bazel-crossbuild-kops:
|
||||
# bazel build --experimental_platforms=@io_bazel_rules_go//go/toolchain:darwin_amd64 //cmd/kops/...
|
||||
# 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
|
||||
# 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
|
||||
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
|
||||
check-markdown-links:
|
||||
docker run -t -v $$PWD:/tmp \
|
||||
|
|
11
WORKSPACE
11
WORKSPACE
|
@ -1,9 +1,8 @@
|
|||
http_archive(
|
||||
name = "io_bazel_rules_go",
|
||||
sha256 = "ca58b0b856dc95473b93f2228ab117913b82a6617fc0deabd107346e3981522a",
|
||||
url = "https://github.com/bazelbuild/rules_go/releases/download/0.5.5/rules_go-0.5.5.tar.gz",
|
||||
url = "https://github.com/bazelbuild/rules_go/releases/download/0.7.0/rules_go-0.7.0.tar.gz",
|
||||
sha256 = "91fca9cf860a1476abdc185a5f675b641b60d3acf0596679a27b580af60bf19c",
|
||||
)
|
||||
|
||||
load("@io_bazel_rules_go//go:def.bzl", "go_repositories", "go_repository")
|
||||
|
||||
go_repositories()
|
||||
load("@io_bazel_rules_go//go:def.bzl", "go_rules_dependencies", "go_register_toolchains")
|
||||
go_rules_dependencies()
|
||||
go_register_toolchains()
|
||||
|
|
|
@ -16,5 +16,6 @@ go_library(
|
|||
go_binary(
|
||||
name = "nodeup",
|
||||
library = ":go_default_library",
|
||||
static = "on",
|
||||
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