From 9ad177c681584934ea2ec74e081d45f8fa6793d9 Mon Sep 17 00:00:00 2001 From: Michael Wilkerson Date: Fri, 9 Feb 2024 07:24:11 -0800 Subject: [PATCH] add linting back --- .github/workflows/pr.yml | 69 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 69 insertions(+) diff --git a/.github/workflows/pr.yml b/.github/workflows/pr.yml index c211718a2f..bcad3d355b 100644 --- a/.github/workflows/pr.yml +++ b/.github/workflows/pr.yml @@ -2,6 +2,12 @@ name: pr on: pull_request: + inputs: + golangci-lint-version: + description: "Golangci-lint version" + required: false + type: string + default: "v1.55.2" # these should be the only settings that you will ever need to change env: @@ -22,3 +28,66 @@ jobs: ref: main token: ${{ secrets.ELEVATED_GITHUB_TOKEN }} inputs: '{ "context":"${{ env.CONTEXT }}", "actor":"${{ github.actor }}", "repository":"${{ github.repository }}", "branch":"${{ env.BRANCH }}", "sha":"${{ env.SHA }}", "token":"${{ secrets.ELEVATED_GITHUB_TOKEN }}" }' + + get-go-version: + runs-on: ubuntu-latest + outputs: + go-version: ${{ steps.get-go-version.outputs.go-version }} + steps: + - name: Checkout code + uses: actions/checkout@c85c95e3d7251135ab7dc9ce3241c5835cc595a9 # v3.5.3 + + - name: Determine Go version + id: get-go-version + # We use .go-version as our source of truth for current Go + # version, because "goenv" can react to it automatically. + run: | + echo "Building with Go $(cat .go-version)" + echo "go-version=$(cat .go-version)" >> "${GITHUB_OUTPUT}" + + linting: + name: Go code linting + needs: + - get-go-version + runs-on: ubuntu-latest + steps: + - name: Checkout code + uses: actions/checkout@c85c95e3d7251135ab7dc9ce3241c5835cc595a9 # v3.5.3 + + - name: Setup go + uses: actions/setup-go@fac708d6674e30b6ba41289acaab6d4b75aa0753 # v4.0.1 + with: + go-version: ${{ needs.get-go-version.outputs.go-version }} + cache: false + + - name: Setup GOROOT # Need to set GOROOT because an older version of go-critic used GOROOT to find rules + run: echo "GOROOT=$(go env GOROOT)" >> "${GITHUB_ENV}" + + - name: golangci-lint-helm-gen + uses: golangci/golangci-lint-action@639cd343e1d3b897ff35927a75193d57cfcba299 # v3.6.0 + with: + version: ${{ inputs.golangci-lint-version }} + working-directory: hack/helm-reference-gen + skip-cache: true # We have seen sticky timeout bugs crop up with caching enabled, so disabling for now + args: "--no-config --disable-all --enable gofmt,govet" + + - name: golangci-lint-control-plane + uses: golangci/golangci-lint-action@639cd343e1d3b897ff35927a75193d57cfcba299 # v3.6.0 + with: + version: ${{ inputs.golangci-lint-version }} + working-directory: control-plane + skip-cache: true # We have seen sticky timeout bugs crop up with caching enabled, so disabling for now + + - name: golangci-lint-acceptance + uses: golangci/golangci-lint-action@639cd343e1d3b897ff35927a75193d57cfcba299 # v3.6.0 + with: + version: ${{ inputs.golangci-lint-version }} + working-directory: acceptance + skip-cache: true # We have seen sticky timeout bugs crop up with caching enabled, so disabling for now + + - name: golangci-lint-cli + uses: golangci/golangci-lint-action@639cd343e1d3b897ff35927a75193d57cfcba299 # v3.6.0 + with: + version: ${{ inputs.golangci-lint-version }} + working-directory: acceptance + skip-cache: true # We have seen sticky timeout bugs crop up with caching enabled, so disabling for now \ No newline at end of file