Add lint check to build.sh script (#1414)

* Add lint check to build.sh script

* Fix golangci-lint repo url
This commit is contained in:
David Simansky 2021-08-05 11:39:52 +02:00 committed by GitHub
parent 4c1f0758ae
commit 4e1297ac8f
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 11 additions and 17 deletions

View File

@ -14,6 +14,8 @@
# See the License for the specific language governing permissions and # See the License for the specific language governing permissions and
# limitations under the License. # limitations under the License.
source $(dirname $0)/../vendor/knative.dev/hack/library.sh
set -o pipefail set -o pipefail
source_dirs="cmd pkg test lib tools" source_dirs="cmd pkg test lib tools"
@ -98,6 +100,9 @@ codegen() {
# Format source code and cleanup imports # Format source code and cleanup imports
source_format source_format
# Lint source code
(( ! IS_PROW )) && source_lint
# Check for license headers # Check for license headers
check_license check_license
@ -110,23 +115,6 @@ go_fmt() {
find $(echo $source_dirs) -name "*.go" -print0 | xargs -0 gofmt -s -w find $(echo $source_dirs) -name "*.go" -print0 | xargs -0 gofmt -s -w
} }
# Run a go tool, get it first if necessary.
run_go_tool() {
local tool=$2
local install_failed=0
if [ -z "$(which ${tool})" ]; then
local temp_dir="$(mktemp -d)"
pushd "${temp_dir}" > /dev/null 2>&1
GOFLAGS="" go get "$1" || install_failed=1
popd > /dev/null 2>&1
rm -rf "${temp_dir}"
fi
(( install_failed )) && return ${install_failed}
shift 2
${tool} "$@"
}
source_format() { source_format() {
set +e set +e
run_go_tool golang.org/x/tools/cmd/goimports goimports -w $(echo $source_dirs) run_go_tool golang.org/x/tools/cmd/goimports goimports -w $(echo $source_dirs)
@ -134,6 +122,12 @@ source_format() {
set -e set -e
} }
source_lint() {
echo "🔍 Lint"
run_go_tool github.com/golangci/golangci-lint/cmd/golangci-lint golangci-lint run || \
{ echo "--- FAIL: golangci-lint failed please fix the reported errors"; return 1; }
}
go_build() { go_build() {
echo "🚧 Compile" echo "🚧 Compile"
go build -mod=vendor -ldflags "$(build_flags $(basedir))" -o kn ./cmd/... go build -mod=vendor -ldflags "$(build_flags $(basedir))" -o kn ./cmd/...