ci: lint all modules even if one module fails (#15819)

This commit is contained in:
Mark Rushakoff
2023-04-12 18:08:22 +00:00
committed by GitHub
parent 001c11e00d
commit 3cef1a8941
3 changed files with 20 additions and 13 deletions
+18
View File
@@ -0,0 +1,18 @@
#!/usr/bin/env bash
set -eu -o pipefail
REPO_ROOT="$( cd -- "$( dirname -- "${BASH_SOURCE[0]}" )/.." &> /dev/null && pwd )"
export REPO_ROOT
lint_module() {
local root="$1"
shift
cd "$(dirname "$root")" &&
echo "linting $(grep "^module" go.mod) [$(date -Iseconds -u)]" &&
golangci-lint run ./... -c "${REPO_ROOT}/.golangci.yml" "$@"
}
export -f lint_module
find "${REPO_ROOT}" -type f -name go.mod -print0 |
xargs -0 -I{} bash -c 'lint_module "$@"' _ {} "$@" # Prepend go.mod file before command-line args.
-11
View File
@@ -1,11 +0,0 @@
#!/usr/bin/env bash
set -eu
export pwd=$(pwd)
for modfile in $(find . -name go.mod); do
echo "linting $(dirname $modfile)"
DIR=$(dirname $modfile)
(cd $DIR; golangci-lint run ./... -c $pwd/.golangci.yml $@)
done