diff --git a/.github/workflows/ci-go.yml b/.github/workflows/ci-go.yml index f79b05caedf..e5a54c0cc88 100644 --- a/.github/workflows/ci-go.yml +++ b/.github/workflows/ci-go.yml @@ -37,8 +37,7 @@ jobs: - name: Checkout repository uses: actions/checkout@v4 - run: | - go mod vendor - go mod tidy -compat=1.20 + make go-verify hack/ci-utils/isClean.sh generate-check: diff --git a/Makefile b/Makefile index 5b84e976afc..9966a8a1ebb 100644 --- a/Makefile +++ b/Makefile @@ -18,6 +18,9 @@ GATEKEEPER_VERSION = v3.10.0 GATEKEEPER_IMAGE ?= ${RP_IMAGE_ACR}.azurecr.io/gatekeeper:$(GATEKEEPER_VERSION) GOTESTSUM = gotest.tools/gotestsum@v1.11.0 +# Golang version go mod tidy compatibility +GOLANG_VERSION ?= 1.20 + ifneq ($(shell uname -s),Darwin) export CGO_CFLAGS=-Dgpgme_off_t=off_t endif @@ -266,9 +269,22 @@ admin.kubeconfig: aks.kubeconfig: hack/get-admin-aks-kubeconfig.sh +.PHONY: go-tidy +go-tidy: # Run go mod tidy - add missing and remove unused modules. + go mod tidy -compat=${GOLANG_VERSION} + +.PHONY: go-vendor +go-vendor: # Run go mod vendor - make vendored copy of dependencies. + go mod vendor + +.PHONY: go-verify +go-verify: go-tidy go-vendor # Run go mod verify - verify dependencies have expected content + go mod verify + vendor: # See comments in the script for background on why we need it hack/update-go-module-dependencies.sh + $(MAKE) go-verify install-go-tools: go install ${GOTESTSUM} diff --git a/docs/updating-dependencies.md b/docs/updating-dependencies.md index 83a574481b9..27f2bd25d4a 100644 --- a/docs/updating-dependencies.md +++ b/docs/updating-dependencies.md @@ -21,8 +21,7 @@ The reason for calling script instead of directly calling: ```bash go get -u ./... -go mod tidy -compat=1.20 -go mod vendor +make go-verify ``` is that packages modified in this script do not fully support modules and @@ -43,8 +42,7 @@ the PR, one can simply call go get @ OR go get -u @ -go mod tidy -compat=1.20 -go mod vendor +make go-verify ``` --- diff --git a/hack/update-go-module-dependencies.sh b/hack/update-go-module-dependencies.sh index 454a676e82b..96dd95b2d53 100755 --- a/hack/update-go-module-dependencies.sh +++ b/hack/update-go-module-dependencies.sh @@ -40,6 +40,3 @@ for x in vendor/github.com/openshift/*; do done go get -u ./... - -go mod tidy -compat=1.20 -go mod vendor