mirror of
https://github.com/containers/skopeo.git
synced 2025-09-15 14:30:58 +00:00
Apparently, it was never documented to use (go vet $somefile.go) (but (go tool vet $somefile.go) was). go 1.10 seems to do more checks within packages, and $somefile.go is interpreted as a package with only that file (even if other files from that package are in the same directory), leading to spurious "undefined: $symbol" errors. So, just run (go vet) on ./... (explicitly excluding skopeo/vendor for the benefit of Go 1.8). We only have three subpackages, so the savings, if any, from running (go vet) only on the modified subpackages would be small. More importantly, on a toolchain update, ./... allows us to see the newly detected issues all at once, instead of randomly waiting for a commit that changes one of the affected files for the failure to show up.
17 lines
344 B
Bash
Executable File
17 lines
344 B
Bash
Executable File
#!/bin/bash
|
|
|
|
errors=$(go vet $(go list -e ./... | grep -v "$SKOPEO_PKG"/vendor))
|
|
|
|
if [ -z "$errors" ]; then
|
|
echo 'Congratulations! All Go source files have been vetted.'
|
|
else
|
|
{
|
|
echo "Errors from go vet:"
|
|
echo "$errors"
|
|
echo
|
|
echo 'Please fix the above errors. You can test via "go vet" and commit the result.'
|
|
echo
|
|
} >&2
|
|
false
|
|
fi
|