Proposal to include a tidy check (#27204)

* Initial tidy-check proposal

* Add tidy check to Drone & CircleCI definitions

Co-authored-by: Marcus Efraimsson <marcus.efraimsson@gmail.com>
Co-authored-by: Arve Knudsen <arve.knudsen@gmail.com>
This commit is contained in:
Joan López de la Franca Beltran
2020-09-21 10:00:44 +02:00
committed by GitHub
parent 60cf95fa21
commit b33dcf8213
5 changed files with 45 additions and 2 deletions

View File

@@ -250,6 +250,7 @@ def lint_backend_step(edition):
'golangci-lint run --config scripts/go/configs/.golangci.toml ./pkg/...',
'revive -formatter stylish -config scripts/go/configs/revive.toml ./pkg/...',
'./scripts/revive-strict',
'./scripts/tidy-check.sh',
],
}

35
scripts/tidy-check.sh Executable file
View File

@@ -0,0 +1,35 @@
#!/bin/bash
set -eo pipefail
# Verify that Go is properly installed and available
command -v go >/dev/null 2>&1 || { echo 'please install Go or use an image that has it'; exit 1; }
backup_go_mod_files()
{
mod=$(mktemp)
cp go.mod "$mod"
sum=$(mktemp)
cp go.sum "$sum"
}
restore_go_mod_files()
{
cp "$mod" go.mod
rm "$mod"
cp "$sum" go.sum
rm "$sum"
}
# Backup current go.mod and go.sum files
backup_go_mod_files
# Defer the go.mod and go.sum files backup recovery
trap restore_go_mod_files EXIT
# Tidy go.mod and go.sum files
go mod tidy
diff "$mod" go.mod || { echo "your go.mod is inconsistent"; exit 1; }
diff "$sum" go.sum || { echo "your go.sum is inconsistent"; exit 1; }