Verify all versions are set correctly

This commit is contained in:
John Gardiner Myers 2021-05-07 20:19:08 -07:00
parent fe1e850cab
commit b31baebe2a
2 changed files with 44 additions and 2 deletions

View File

@ -460,13 +460,13 @@ verify-hashes:
# ci target is for developers, it aims to cover all the CI jobs
# verify-gendocs will call kops target
.PHONY: ci
ci: govet verify-gofmt verify-crds verify-gomod verify-goimports verify-boilerplate verify-bazel verify-misspelling verify-shellcheck verify-staticcheck verify-terraform nodeup examples test | verify-gendocs verify-apimachinery
ci: govet verify-gofmt verify-crds verify-gomod verify-goimports verify-boilerplate verify-bazel verify-versions verify-misspelling verify-shellcheck verify-staticcheck verify-terraform nodeup examples test | verify-gendocs verify-apimachinery
echo "Done!"
# we skip tasks that rely on bazel and are covered by other jobs
# verify-gofmt: uses bazel, covered by pull-kops-verify
.PHONY: quick-ci
quick-ci: verify-crds verify-goimports govet verify-boilerplate verify-bazel verify-misspelling verify-shellcheck | verify-gendocs verify-apimachinery
quick-ci: verify-crds verify-goimports govet verify-boilerplate verify-bazel verify-versions verify-misspelling verify-shellcheck | verify-gendocs verify-apimachinery
echo "Done!"
.PHONY: pr
@ -539,6 +539,10 @@ verify-generate: verify-crds
verify-crds:
hack/verify-crds.sh
.PHONY: verify-versions
verify-versions:
hack/verify-versions.sh
# -----------------------------------------------------
# bazel targets

38
hack/verify-versions.sh Executable file
View File

@ -0,0 +1,38 @@
#!/usr/bin/env bash
# Copyright 2019 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
. "$(dirname "${BASH_SOURCE[0]}")/common.sh"
cd "${KOPS_ROOT}"
KOPS_RELEASE_VERSION=$(grep 'KOPS_RELEASE_VERSION\s*=' version.go | awk '{print $3}' | sed -e 's_"__g')
"$(dirname "${BASH_SOURCE[0]}")/set-version" "${KOPS_RELEASE_VERSION}"
changed_files=$(git status --porcelain --untracked-files=no || true)
if [ -n "${changed_files}" ]; then
echo "Detected that version generation is needed"
echo "changed files:"
printf "%s" "${changed_files}\n"
echo "git diff:"
git --no-pager diff
echo "To fix: run 'hack/set-version ${KOPS_RELEASE_VERSION}'"
exit 1
fi