mirror of https://github.com/k3s-io/k3s
Add validation check to confirm correct golang version for Kubernetes
Also reorder validations to perform the short checks first so that
things fail faster if there's a problem.
Signed-off-by: Brad Davidson <brad.davidson@rancher.com>
(cherry picked from commit 8f41fe1a3f
)
pull/6150/head
parent
cf684c74a3
commit
ee859f7f5a
|
@ -2,6 +2,7 @@
|
||||||
set -e
|
set -e
|
||||||
|
|
||||||
cd $(dirname $0)/..
|
cd $(dirname $0)/..
|
||||||
|
. ./scripts/version.sh
|
||||||
|
|
||||||
echo Running: go mod tidy
|
echo Running: go mod tidy
|
||||||
go mod tidy
|
go mod tidy
|
||||||
|
@ -13,13 +14,16 @@ if [ -n "$SKIP_VALIDATE" ]; then
|
||||||
echo Skipping validation
|
echo Skipping validation
|
||||||
exit
|
exit
|
||||||
fi
|
fi
|
||||||
|
echo Running validation
|
||||||
|
|
||||||
if ! command -v golangci-lint; then
|
echo Running: go version
|
||||||
echo Skipping validation: no golangci-lint available
|
DEPENDENCIES_URL="https://raw.githubusercontent.com/kubernetes/kubernetes/${VERSION_K8S}/build/dependencies.yaml"
|
||||||
exit
|
GOLANG_VERSION=$(curl -sL "${DEPENDENCIES_URL}" | yq e '.dependencies[] | select(.name == "golang: upstream version").version' -)
|
||||||
|
if ! go version | grep -s "go version go${GOLANG_VERSION} "; then
|
||||||
|
echo "Unexpected $(go version) - Kubernetes ${VERSION_K8S} should be built with go version go${GOLANG_VERSION}"
|
||||||
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
echo Running validation
|
|
||||||
echo Running: go mod verify
|
echo Running: go mod verify
|
||||||
go mod verify
|
go mod verify
|
||||||
|
|
||||||
|
@ -27,14 +31,17 @@ if [ ! -e build/data ];then
|
||||||
mkdir -p build/data
|
mkdir -p build/data
|
||||||
fi
|
fi
|
||||||
|
|
||||||
echo Running: golangci-lint
|
|
||||||
golangci-lint run -v
|
|
||||||
|
|
||||||
. ./scripts/version.sh
|
|
||||||
|
|
||||||
if [ -n "$DIRTY" ]; then
|
if [ -n "$DIRTY" ]; then
|
||||||
echo Source dir is dirty
|
echo Source dir is dirty
|
||||||
git status --porcelain --untracked-files=no
|
git status --porcelain --untracked-files=no
|
||||||
git diff
|
git diff
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
if ! command -v golangci-lint; then
|
||||||
|
echo Skipping validation: no golangci-lint available
|
||||||
|
exit
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo Running: golangci-lint
|
||||||
|
golangci-lint run -v
|
||||||
|
|
Loading…
Reference in New Issue