From d4918b83c6f0fe0c6578d53a1c22d02a37c0d8b9 Mon Sep 17 00:00:00 2001 From: Andrew Morgan <1342360+anoadragon453@users.noreply.github.com> Date: Fri, 12 Jul 2019 14:23:27 +0100 Subject: [PATCH] Backup and restore go.mod & go.sum during linting (#735) Every time before sending a PR I like to run ./scripts/build-test-lint.sh to make sure the CI won't complain about anything. The problem is that this script attempts to install golangci-lint, which causes modifications to go.mod/go.sum. This PR backs up and restores those files before and after linting. Ideally instead of this hacky backing up/restoring we'd use go gets -mod=readonly option, but that still modifies go.sum. This will be fixed in go 1.13 apparently. golang/go#30667 --- scripts/find-lint.sh | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/scripts/find-lint.sh b/scripts/find-lint.sh index 6511272b2..25b311f94 100755 --- a/scripts/find-lint.sh +++ b/scripts/find-lint.sh @@ -22,7 +22,15 @@ then args="--fast" fi echo "Installing golangci-lint..." + +# Make a backup of go.{mod,sum} first +# TODO: Once go 1.13 is out, use go get's -mod=readonly option +# https://github.com/golang/go/issues/30667 +cp go.mod go.mod.bak && cp go.sum go.sum.bak go get github.com/golangci/golangci-lint/cmd/golangci-lint echo "Looking for lint..." golangci-lint run $args + +# Restore go.{mod,sum} +mv go.mod.bak go.mod && mv go.sum.bak go.sum