Skip to content

Commit

Permalink
ci: lint all modules even if one module fails (#15819)
Browse files Browse the repository at this point in the history
  • Loading branch information
mark-rushakoff authored Apr 12, 2023
1 parent 001c11e commit 3cef1a8
Show file tree
Hide file tree
Showing 3 changed files with 20 additions and 13 deletions.
4 changes: 2 additions & 2 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -379,12 +379,12 @@ golangci_version=v1.51.2
lint:
@echo "--> Running linter"
@go install github.com/golangci/golangci-lint/cmd/golangci-lint@$(golangci_version)
@sh ./scripts/go-lint-all.sh --timeout=15m
@./scripts/go-lint-all.bash --timeout=15m

lint-fix:
@echo "--> Running linter"
@go install github.com/golangci/golangci-lint/cmd/golangci-lint@$(golangci_version)
@sh ./scripts/go-lint-all.sh --fix
@./scripts/go-lint-all.bash --fix

.PHONY: lint lint-fix

Expand Down
18 changes: 18 additions & 0 deletions scripts/go-lint-all.bash
Original file line number Diff line number Diff line change
@@ -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 changes: 0 additions & 11 deletions scripts/go-lint-all.sh

This file was deleted.

0 comments on commit 3cef1a8

Please sign in to comment.