summaryrefslogtreecommitdiff
path: root/hack/validate/golangci-lint
blob: ab01dcb026dd517d14b9b08e1687af2c5a647943 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
#!/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' 2> /dev/null; then
	DOCKER_BUILDTAGS+=" journald"
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"