2019-08-05 12:32:43 +02:00
|
|
|
#!/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=--deadline=20m}
|
|
|
|
|
|
|
|
[ -n "${TESTDEBUG}" ] && set -x
|
|
|
|
|
2019-08-07 02:12:46 +02:00
|
|
|
# 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
|
|
|
|
|
2019-08-05 12:32:43 +02:00
|
|
|
# TODO use --out-format=junit-xml and store artifacts
|
|
|
|
GOGC=20 golangci-lint run \
|
|
|
|
${GOLANGCI_LINT_OPTS} \
|
|
|
|
--print-resources-usage \
|
|
|
|
--build-tags="${DOCKER_BUILDTAGS}" \
|
|
|
|
--verbose \
|
|
|
|
--config ${SCRIPTDIR}/golangci-lint.yml
|