mirror of
https://github.com/moby/moby.git
synced 2026-01-11 10:41:43 +00:00
Minor enhancement / follow-up to c8aaeea285c63f9add09e01bd8260d1bce61a97d; make sure we never attempt to find `go.mod` files in other locations. Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
34 lines
1.1 KiB
Bash
Executable File
34 lines
1.1 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
set -e -o pipefail
|
|
|
|
REPODIR="$(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
|
|
|
|
# Note: exclude github.com/docker/docker/man as it contains no Go code.
|
|
mods=($(find "${REPODIR}" -name "go.mod" -type f -exec dirname {} \; | grep -v "/man" | sort -u))
|
|
for mod in "${mods[@]}"; do
|
|
pushd "${mod}" > /dev/null
|
|
echo -e "\n\033[0;36mINFO\033[0m Start validation for module '${mod}' 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 "${REPODIR}/.golangci.yml"
|
|
popd > /dev/null
|
|
done
|