diff --git a/.github/workflows/CI&CD.yml b/.github/workflows/CI&CD.yml index 3f45d32..0877854 100644 --- a/.github/workflows/CI&CD.yml +++ b/.github/workflows/CI&CD.yml @@ -31,10 +31,10 @@ jobs: ~/.cache/go-build ~/.cache/golangci-lint .buildcache - key: v1-go-with-tools-${{ runner.os }}-${{ matrix.go }}-${{ hashFiles('tools.go') }}-${{ hashFiles('go.sum') }} + key: v1-go-with-tools-${{ runner.os }}-${{ env.GO_VERSION }}-${{ hashFiles('0-tools.go') }}-${{ hashFiles('go.sum') }} restore-keys: | - v1-go-with-tools-${{ runner.os }}-${{ matrix.go }}-${{ hashFiles('tools.go') }}- - v1-go-with-tools-${{ runner.os }}-${{ matrix.go }}- + v1-go-with-tools-${{ runner.os }}-${{ env.GO_VERSION }}-${{ hashFiles('0-tools.go') }}- + v1-go-with-tools-${{ runner.os }}-${{ env.GO_VERSION }}- - run: scripts/test @@ -74,10 +74,10 @@ jobs: ~/.cache/go-build ~/.cache/golangci-lint .buildcache - key: v1-go-with-tools-${{ runner.os }}-${{ matrix.go }}-${{ hashFiles('tools.go') }}-${{ hashFiles('go.sum') }} + key: v1-go-with-tools-${{ runner.os }}-${{ env.GO_VERSION }}-${{ hashFiles('0-tools.go') }}-${{ hashFiles('go.sum') }} restore-keys: | - v1-go-with-tools-${{ runner.os }}-${{ matrix.go }}-${{ hashFiles('tools.go') }}- - v1-go-with-tools-${{ runner.os }}-${{ matrix.go }}- + v1-go-with-tools-${{ runner.os }}-${{ env.GO_VERSION }}-${{ hashFiles('0-tools.go') }}- + v1-go-with-tools-${{ runner.os }}-${{ env.GO_VERSION }}- # Add support for more platforms with QEMU (optional) # https://github.com/docker/setup-qemu-action diff --git a/tools.go b/0-tools.go similarity index 92% rename from tools.go rename to 0-tools.go index f8a4d07..3cb8046 100644 --- a/tools.go +++ b/0-tools.go @@ -1,5 +1,7 @@ //go:build generate +// NOTE: Prefix 0- in this file's name ensures that `go generate ./...` processes it first. + //go:generate mkdir -p .buildcache/bin //go:generate -command GOINSTALL env "GOBIN=$PWD/.buildcache/bin" go install //go:generate -command INSTALL-HADOLINT sh -c ".buildcache/bin/hadolint --version 2>/dev/null | grep -wq \"$DOLLAR{DOLLAR}{1}\" || curl -sSfL https://github.com/hadolint/hadolint/releases/download/v\"$DOLLAR{DOLLAR}{1}\"/hadolint-\"$(uname)\"-x86_64 --output ./.buildcache/bin/hadolint && chmod +x .buildcache/bin/hadolint" -sh diff --git a/scripts/cover b/scripts/cover index 8e5cb4b..68de551 100755 --- a/scripts/cover +++ b/scripts/cover @@ -1,7 +1,7 @@ #!/bin/bash export PATH="$PWD/.buildcache/bin:$PATH" set -e -o pipefail -go generate tools.go +go generate 0-tools.go gotestsum -- \ -coverpkg="$(go list ./... | paste -s -d,)" \ diff --git a/scripts/release b/scripts/release index fac161d..5ef9701 100755 --- a/scripts/release +++ b/scripts/release @@ -1,7 +1,7 @@ #!/bin/bash export PATH="$PWD/.buildcache/bin:$PATH" set -x -e -o pipefail -go generate tools.go +go generate 0-tools.go DIST_DIR=bin TAG=$(git describe --match='v*' --exact-match --tags) diff --git a/scripts/test b/scripts/test index 4cbb134..3fefc21 100755 --- a/scripts/test +++ b/scripts/test @@ -1,7 +1,7 @@ #!/bin/bash export PATH="$PWD/.buildcache/bin:$PATH" set -x -e -o pipefail -go generate tools.go +go generate 0-tools.go hadolint Dockerfile