From 6bf30f3cd73d02b052bec35d5ce110061f3b6de2 Mon Sep 17 00:00:00 2001 From: per1234 Date: Tue, 15 Oct 2024 07:28:31 -0700 Subject: [PATCH] Use golangci-lint instead of golint golint has been deprecated. --- .github/workflows/check-go-task.yml | 45 ++++------------------------- .golangci.yml | 7 +++++ Taskfile.yml | 24 +++------------ 3 files changed, 17 insertions(+), 59 deletions(-) create mode 100644 .golangci.yml diff --git a/.github/workflows/check-go-task.yml b/.github/workflows/check-go-task.yml index f47fd3ed..735d8e5a 100644 --- a/.github/workflows/check-go-task.yml +++ b/.github/workflows/check-go-task.yml @@ -12,6 +12,7 @@ on: paths: - ".github/workflows/check-go-task.ya?ml" - "Taskfile.ya?ml" + - ".golangci.ya?ml" - "**/go.mod" - "**/go.sum" - "**.go" @@ -19,6 +20,7 @@ on: paths: - ".github/workflows/check-go-task.ya?ml" - "Taskfile.ya?ml" + - ".golangci.ya?ml" - "**/go.mod" - "**/go.sum" - "**.go" @@ -53,43 +55,6 @@ jobs: echo "result=$RESULT" >> $GITHUB_OUTPUT - check-errors: - name: check-errors (${{ matrix.module.path }}) - needs: run-determination - if: needs.run-determination.outputs.result == 'true' - runs-on: ubuntu-latest - permissions: - contents: read - - strategy: - fail-fast: false - - matrix: - module: - - path: ./ - - path: docsgen - - path: ruledocsgen - - steps: - - name: Checkout repository - uses: actions/checkout@v4 - - - name: Install Go - uses: actions/setup-go@v5 - with: - go-version: ${{ env.GO_VERSION }} - - - name: Install Task - uses: arduino/setup-task@v2 - with: - repo-token: ${{ secrets.GITHUB_TOKEN }} - version: 3.x - - - name: Check for errors - env: - GO_MODULE_PATH: ${{ matrix.module.path }} - run: task go:vet - check-outdated: name: check-outdated (${{ matrix.module.path }}) needs: run-determination @@ -162,8 +127,10 @@ jobs: repo-token: ${{ secrets.GITHUB_TOKEN }} version: 3.x - - name: Install golint - run: go install golang.org/x/lint/golint@latest + - name: Install golangci-lint + uses: golangci/golangci-lint-action@v3 + with: + version: v1.54 - name: Check style env: diff --git a/.golangci.yml b/.golangci.yml new file mode 100644 index 00000000..e51fc523 --- /dev/null +++ b/.golangci.yml @@ -0,0 +1,7 @@ +# Source: https://github.com/arduino/tooling-project-assets/blob/main/workflow-templates/assets/go/.golangci.yml +# See: https://golangci-lint.run/usage/configuration/ +issues: + exclude-use-default: false +linters: + enable: + - revive diff --git a/Taskfile.yml b/Taskfile.yml index 40f1c1ef..26503c5c 100644 --- a/Taskfile.yml +++ b/Taskfile.yml @@ -56,13 +56,6 @@ tasks: vars: GO_MODULE_PATH: ./ruledocsgen - task: go:test-integration - - task: go:vet - - task: go:vet - vars: - GO_MODULE_PATH: ./docsgen - - task: go:vet - vars: - GO_MODULE_PATH: ./ruledocsgen - task: go:lint - task: go:lint vars: @@ -250,14 +243,12 @@ tasks: dir: "{{default .DEFAULT_GO_MODULE_PATH .GO_MODULE_PATH}}" cmds: - | - if ! which golint &>/dev/null; then - echo "golint not installed or not in PATH. Please install: https://github.com/golang/lint#installation" + if ! which golangci-lint &>/dev/null; then + echo "golangci-lint not installed or not in PATH." + echo "Please install: https://golangci-lint.run/usage/install/#local-installation" exit 1 fi - - | - golint \ - {{default "-min_confidence 0.8 -set_exit_status" .GO_LINT_FLAGS}} \ - {{default .DEFAULT_GO_PACKAGES .GO_PACKAGES}} + - golangci-lint run go:rule-docs: desc: Generate rules documentation @@ -308,13 +299,6 @@ tasks: cmds: - go mod tidy -compat={{.GO_VERSION}} - # Source: https://github.com/arduino/tooling-project-assets/blob/main/workflow-templates/assets/check-go-task/Taskfile.yml - go:vet: - desc: Check for errors in Go code - dir: "{{default .DEFAULT_GO_MODULE_PATH .GO_MODULE_PATH}}" - cmds: - - go vet {{default .DEFAULT_GO_PACKAGES .GO_PACKAGES}} - # Source: https://github.com/arduino/tooling-project-assets/blob/main/workflow-templates/assets/check-markdown-task/Taskfile.yml markdown:check-links: desc: Check for broken links