mirror of https://github.com/kubernetes/kops.git
Adding script to test that apimachinery is up to date
Added a bash script to run a make target that tests that apimachinery is up to date. I updated the existing make target so that we can pass in a flag which enables validation only, and not generation.
This commit is contained in:
parent
1c75f47510
commit
2e0d7fb92b
29
Makefile
29
Makefile
|
|
@ -40,6 +40,7 @@ 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?=
|
||||
API_OPTIONS?=
|
||||
|
||||
# See http://stackoverflow.com/questions/18136918/how-to-get-current-relative-directory-of-your-makefile
|
||||
MAKEDIR:=$(strip $(shell dirname "$(realpath $(lastword $(MAKEFILE_LIST)))"))
|
||||
|
|
@ -571,18 +572,26 @@ apimachinery: apimachinery-codegen goimports
|
|||
.PHONY: apimachinery-codegen
|
||||
apimachinery-codegen:
|
||||
sh -c hack/make-apimachinery.sh
|
||||
${GOPATH}/bin/conversion-gen --skip-unsafe=true --input-dirs k8s.io/kops/pkg/apis/kops/v1alpha1 --v=0 --output-file-base=zz_generated.conversion
|
||||
${GOPATH}/bin/conversion-gen --skip-unsafe=true --input-dirs k8s.io/kops/pkg/apis/kops/v1alpha2 --v=0 --output-file-base=zz_generated.conversion
|
||||
${GOPATH}/bin/deepcopy-gen --input-dirs k8s.io/kops/pkg/apis/kops --v=0 --output-file-base=zz_generated.deepcopy
|
||||
${GOPATH}/bin/deepcopy-gen --input-dirs k8s.io/kops/pkg/apis/kops/v1alpha1 --v=0 --output-file-base=zz_generated.deepcopy
|
||||
${GOPATH}/bin/deepcopy-gen --input-dirs k8s.io/kops/pkg/apis/kops/v1alpha2 --v=0 --output-file-base=zz_generated.deepcopy
|
||||
${GOPATH}/bin/defaulter-gen --input-dirs k8s.io/kops/pkg/apis/kops/v1alpha1 --v=0 --output-file-base=zz_generated.defaults
|
||||
${GOPATH}/bin/defaulter-gen --input-dirs k8s.io/kops/pkg/apis/kops/v1alpha2 --v=0 --output-file-base=zz_generated.defaults
|
||||
${GOPATH}/bin/conversion-gen ${API_OPTIONS} --skip-unsafe=true --input-dirs k8s.io/kops/pkg/apis/kops/v1alpha1 --v=0 --output-file-base=zz_generated.conversion \
|
||||
--go-header-file "hack/boilerplate/boilerplate.go.txt"
|
||||
${GOPATH}/bin/conversion-gen ${API_OPTIONS} --skip-unsafe=true --input-dirs k8s.io/kops/pkg/apis/kops/v1alpha2 --v=0 --output-file-base=zz_generated.conversion \
|
||||
--go-header-file "hack/boilerplate/boilerplate.go.txt"
|
||||
${GOPATH}/bin/deepcopy-gen ${API_OPTIONS} --input-dirs k8s.io/kops/pkg/apis/kops --v=0 --output-file-base=zz_generated.deepcopy \
|
||||
--go-header-file "hack/boilerplate/boilerplate.go.txt"
|
||||
${GOPATH}/bin/deepcopy-gen ${API_OPTIONS} --input-dirs k8s.io/kops/pkg/apis/kops/v1alpha1 --v=0 --output-file-base=zz_generated.deepcopy \
|
||||
${GOPATH}/bin/deepcopy-gen ${API_OPTIONS} --input-dirs k8s.io/kops/pkg/apis/kops/v1alpha2 --v=0 --output-file-base=zz_generated.deepcopy \
|
||||
--go-header-file "hack/boilerplate/boilerplate.go.txt"
|
||||
${GOPATH}/bin/defaulter-gen ${API_OPTIONS} --input-dirs k8s.io/kops/pkg/apis/kops/v1alpha1 --v=0 --output-file-base=zz_generated.defaults \
|
||||
--go-header-file "hack/boilerplate/boilerplate.go.txt"
|
||||
${GOPATH}/bin/defaulter-gen ${API_OPTIONS} --input-dirs k8s.io/kops/pkg/apis/kops/v1alpha2 --v=0 --output-file-base=zz_generated.defaults \
|
||||
--go-header-file "hack/boilerplate/boilerplate.go.txt"
|
||||
#go install github.com/ugorji/go/codec/codecgen
|
||||
# codecgen works only if invoked from directory where the file is located.
|
||||
#cd pkg/apis/kops/ && ~/k8s/bin/codecgen -d 1234 -o types.generated.go instancegroup.go cluster.go
|
||||
${GOPATH}/bin/client-gen --input-base k8s.io/kops/pkg/apis/ --input="kops/,kops/v1alpha1,kops/v1alpha2" --clientset-path k8s.io/kops/pkg/client/clientset_generated/
|
||||
${GOPATH}/bin/client-gen --clientset-name="clientset" --input-base k8s.io/kops/pkg/apis/ --input="kops/,kops/v1alpha1,kops/v1alpha2" --clientset-path k8s.io/kops/pkg/client/clientset_generated/
|
||||
${GOPATH}/bin/client-gen ${API_OPTIONS} --input-base k8s.io/kops/pkg/apis/ --input="kops/,kops/v1alpha1,kops/v1alpha2" --clientset-path k8s.io/kops/pkg/client/clientset_generated/ \
|
||||
--go-header-file "hack/boilerplate/boilerplate.go.txt"
|
||||
${GOPATH}/bin/client-gen ${API_OPTIONS} --clientset-name="clientset" --input-base k8s.io/kops/pkg/apis/ --input="kops/,kops/v1alpha1,kops/v1alpha2" --clientset-path k8s.io/kops/pkg/client/clientset_generated/ \
|
||||
--go-header-file "hack/boilerplate/boilerplate.go.txt"
|
||||
|
||||
|
||||
# -----------------------------------------------------
|
||||
|
|
@ -715,4 +724,4 @@ bazel-version-dist: bazel-crossbuild-nodeup bazel-crossbuild-kops bazel-protokub
|
|||
|
||||
.PHONY: bazel-upload
|
||||
bazel-upload: bazel-version-dist # Upload kops to S3
|
||||
aws s3 sync --acl public-read ${BAZELUPLOAD}/ ${S3_BUCKET}
|
||||
aws s3 sync --acl public-read ${BAZELUPLOAD}/ ${S3_BUCKET}
|
||||
|
|
|
|||
|
|
@ -0,0 +1,27 @@
|
|||
#!/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
|
||||
|
||||
KOPS_ROOT=$(git rev-parse --show-toplevel)
|
||||
|
||||
export API_OPTIONS="--verify-only"
|
||||
if make apimachinery-codegen; then
|
||||
echo "apimachinery is up to date"
|
||||
else
|
||||
echo "\n TEST FAILED - apimachinery is not up to date please run 'make apimachinery'"
|
||||
fi
|
||||
Loading…
Reference in New Issue