hack/vendor.sh: run "go mod tidy" before vendoring

The hack/vendor.sh script is used to (re)vendor dependencies. However, it did
not run `go mod tidy` before doing so, wheras the vendor _validation_ script
did.

This could result in vendor validation failing if go mod tidy resulted in
changes (which could be in `vendor.sum`).

In "usual" situations, this could be easily done by the user (`go mod tidy`
before running `go mod vendor`), but due to our (curent) uses of `vendor.mod`,
and having to first set up a (dummy) `go.mod`, this is more complicated.

Instead, just make the script do this, so that `hack/vendor.sh` will always
produce the expected result.

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
This commit is contained in:
Sebastiaan van Stijn 2022-02-05 11:25:23 +01:00
parent f0e057f0e5
commit 325c3a457b
No known key found for this signature in database
GPG Key ID: 76698F39D527CE8C
2 changed files with 2 additions and 7 deletions

View File

@ -3,11 +3,6 @@
SCRIPTDIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
source "${SCRIPTDIR}/.validate"
go_mod_tidy(){
${SCRIPTDIR}/../go-mod-prepare.sh
GO111MODULE=auto go mod tidy -modfile 'vendor.mod' -compat 1.17
}
validate_vendor_diff(){
IFS=$'\n'
check_files=( 'vendor.sum' 'vendor.mod' 'vendor/' )
@ -54,6 +49,5 @@ validate_vendor_used() {
done
}
go_mod_tidy
validate_vendor_diff
validate_vendor_used

View File

@ -8,9 +8,10 @@ set -e
set -x
SCRIPTDIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
${SCRIPTDIR}/go-mod-prepare.sh
"${SCRIPTDIR}"/go-mod-prepare.sh
if [ $# -eq 0 ] || [ "$1" != "archive/tar" ]; then
GO111MODULE=auto go mod tidy -modfile 'vendor.mod' -compat 1.17
GO111MODULE=auto go mod vendor -modfile vendor.mod
fi