diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 3a939f19d..0a1413f74 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -223,24 +223,42 @@ jobs: runs-on: ubuntu-latest steps: + - name: Get runner parameters + id: get-runner-parameters + shell: bash + run: | + echo "year-week=$(/bin/date -u "+%Y%V")" >> $GITHUB_OUTPUT + echo "runner-os-version=$ImageOS" >> $GITHUB_OUTPUT + - name: Checkout uses: actions/checkout@v4 - name: Install Go + id: setup-go uses: actions/setup-go@v5 with: go-version: '>=1.22.0-rc.1' check-latest: true cache: false + - name: Cache + uses: actions/cache@v4 + with: + path: | + ~/go/pkg/mod + ~/.cache/go-build + ~/.cache/golangci-lint + key: golangci-lint-${{ steps.get-runner-parameters.outputs.runner-os-version }}-go${{ steps.setup-go.outputs.go-version }}-${{ steps.get-runner-parameters.outputs.year-week }}-${{ hashFiles('go.sum') }} + restore-keys: golangci-lint-${{ steps.get-runner-parameters.outputs.runner-os-version }}-go${{ steps.setup-go.outputs.go-version }}-${{ steps.get-runner-parameters.outputs.year-week }}- + - name: Code quality test (Linux) - uses: golangci/golangci-lint-action@v4 + uses: golangci/golangci-lint-action@v6 with: version: latest - skip-cache: false # Caching enabled (which is default) on this first lint step only, it handles complete cache of build, go modules and golangci-lint analysis which was necessary to get all lint steps to properly take advantage of it + skip-cache: true - name: Code quality test (Windows) - uses: golangci/golangci-lint-action@v4 + uses: golangci/golangci-lint-action@v6 env: GOOS: "windows" with: @@ -248,7 +266,7 @@ jobs: skip-cache: true - name: Code quality test (macOS) - uses: golangci/golangci-lint-action@v4 + uses: golangci/golangci-lint-action@v6 env: GOOS: "darwin" with: @@ -256,7 +274,7 @@ jobs: skip-cache: true - name: Code quality test (FreeBSD) - uses: golangci/golangci-lint-action@v4 + uses: golangci/golangci-lint-action@v6 env: GOOS: "freebsd" with: @@ -264,7 +282,7 @@ jobs: skip-cache: true - name: Code quality test (OpenBSD) - uses: golangci/golangci-lint-action@v4 + uses: golangci/golangci-lint-action@v6 env: GOOS: "openbsd" with: