| #!/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" |