|
|
|
#!/bin/bash
|
|
|
|
set -e
|
|
|
|
|
|
|
|
if [ -n "$SKIP_VALIDATE" ]; then
|
|
|
|
echo Skipping validation
|
|
|
|
exit
|
|
|
|
fi
|
|
|
|
|
|
|
|
cd $(dirname $0)/..
|
|
|
|
|
|
|
|
echo Running: install script signature checks
|
|
|
|
sha256sum -c install.sh.sha256sum
|
|
|
|
|
|
|
|
echo Running: go mod tidy
|
|
|
|
go mod tidy
|
|
|
|
|
|
|
|
echo Running: go generate
|
|
|
|
GOOS=linux CC=gcc CXX=g++ go generate
|
|
|
|
|
|
|
|
echo Running validation
|
|
|
|
|
|
|
|
. ./scripts/version.sh
|
|
|
|
|
|
|
|
if [ -n "$DIRTY" ]; then
|
|
|
|
echo Source dir is dirty
|
|
|
|
git status --porcelain --untracked-files=no
|
|
|
|
git diff
|
|
|
|
exit 1
|
|
|
|
fi
|
|
|
|
|
|
|
|
echo Running: go version
|
|
|
|
if ! go version | grep -s "go version ${VERSION_GOLANG} "; then
|
|
|
|
echo "Unexpected $(go version) - Kubernetes ${VERSION_K8S} should be built with go version ${VERSION_GOLANG}"
|
|
|
|
exit 1
|
|
|
|
fi
|
|
|
|
|
|
|
|
echo Running: go mod verify
|
|
|
|
go mod verify
|
|
|
|
|
|
|
|
if [ ! -e build/data ];then
|
|
|
|
mkdir -p build/data
|
|
|
|
fi
|
|
|
|
|
|
|
|
if ! command -v golangci-lint; then
|
|
|
|
echo Skipping validation: no golangci-lint available
|
|
|
|
exit
|
|
|
|
fi
|
|
|
|
|
|
|
|
#echo Running: golangci-lint
|
|
|
|
## https://github.com/golangci/golangci-lint/issues/2788
|
|
|
|
#CGO_ENABLED=0 golangci-lint run -v
|