moby/hack/validate/golangci-lint
Akihiro Suda 3cf82748dd run shfmt
git grep --name-only '^#!' | egrep -v '(vendor|\.go|Jenkinsfile)' | xargs shfmt -w -bn -ci -sr

Signed-off-by: Akihiro Suda <akihiro.suda.cz@hco.ntt.co.jp>
2020-03-03 12:27:49 +09:00

29 lines
934 B
Bash
Executable file

#!/usr/bin/env bash
set -e -o pipefail
SCRIPTDIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
# CI platforms differ, so per-platform GOLANGCI_LINT_OPTS can be set
# from a platform-specific Dockerfile, otherwise let's just set
# (somewhat pessimistic) default of 10 minutes.
: "${GOLANGCI_LINT_OPTS=--timeout=10m}"
[ -n "${TESTDEBUG}" ] && set -x
# TODO find a way to share this code with hack/make.sh
if ${PKG_CONFIG} 'libsystemd >= 209' 2> /dev/null; then
DOCKER_BUILDTAGS+=" journald"
elif ${PKG_CONFIG} 'libsystemd-journal' 2> /dev/null; then
DOCKER_BUILDTAGS+=" journald journald_compat"
fi
echo -e "\n\033[0;36mINFO\033[0m Start validation with golang-ci-lint"
# TODO use --out-format=junit-xml and store artifacts
# shellcheck disable=SC2086
GOGC=75 golangci-lint run \
${GOLANGCI_LINT_OPTS} \
--print-resources-usage \
--build-tags="${DOCKER_BUILDTAGS}" \
--verbose \
--config "${SCRIPTDIR}/golangci-lint.yml"