github+Makefile: add new action make tidy-module-check

This commit adds `tidy-module` and `tidy-module-check` to make sure the
modules are always tidy.
This commit is contained in:
yyforyongyu 2023-09-06 02:17:00 +08:00
parent 8813bc7ba8
commit c568ba9fa2
No known key found for this signature in database
GPG Key ID: 9BCD95C4FF296868
3 changed files with 27 additions and 0 deletions

View File

@ -131,6 +131,9 @@ jobs:
- name: check code format
run: make fmt-check
- name: check go modules tidiness
run: make tidy-module-check
- name: lint
run: GOGC=50 make lint

View File

@ -246,6 +246,13 @@ lint: docker-tools
@$(call print, "Linting source.")
$(DOCKER_TOOLS) golangci-lint run -v $(LINT_WORKERS)
tidy-module:
echo "Running 'go mod tidy' for all modules"
scripts/tidy_modules.sh
tidy-module-check: tidy-module
if test -n "$$(git status --porcelain)"; then echo "modules not updated, please run `make tidy-module` again!"; git status; exit 1; fi
list:
@$(call print, "Listing commands.")
@$(MAKE) -qp | \

17
scripts/tidy_modules.sh Executable file
View File

@ -0,0 +1,17 @@
#!/bin/bash
SUBMODULES=$(find . -mindepth 2 -name "go.mod" | cut -d'/' -f2)
# Run 'go mod tidy' for root.
go mod tidy
# Run 'go mod tidy' for each module.
for submodule in $SUBMODULES
do
pushd $submodule
go mod tidy
popd
done