-
Notifications
You must be signed in to change notification settings - Fork 3
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
ci/cd: Integrate golangci-lint into the project
Add `.golangci.yaml` configuration file for golangci-lint.
- Loading branch information
Showing
50 changed files
with
843 additions
and
847 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,34 @@ | ||
name: golangci-lint | ||
|
||
on: | ||
push: | ||
branches: [main] | ||
pull_request: | ||
branches: | ||
- main | ||
- "release/*.*.*" | ||
paths: | ||
- "go.mod" | ||
- "go.sum" | ||
- "**.go" | ||
|
||
jobs: | ||
go-static-checks: | ||
runs-on: ubuntu-latest | ||
steps: | ||
- uses: actions/checkout@v4 | ||
- uses: actions/setup-go@v5 | ||
with: | ||
go-version: 1.23 | ||
check-latest: true | ||
cache: true | ||
- name: Verify go.mod is tidy | ||
run: | | ||
go mod tidy -go=1.23 | ||
git diff --exit-code | ||
- name: golangci-lint | ||
uses: golangci/golangci-lint-action@v6 | ||
with: | ||
version: v1.61.0 | ||
args: --verbose --timeout=3m | ||
skip-cache: true |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,86 @@ | ||
run: | ||
timeout: 10m | ||
linters: | ||
enable: | ||
- errcheck | ||
- goimports | ||
- revive | ||
- govet | ||
- staticcheck | ||
- misspell | ||
- gocritic | ||
- sqlclosecheck | ||
- rowserrcheck | ||
- nilerr | ||
- godot | ||
- mirror | ||
- bodyclose | ||
|
||
issues: | ||
include: | ||
# https://golangci-lint.run/usage/configuration/#command-line-options | ||
exclude: | ||
- Rollback | ||
- fmt.Printf | ||
|
||
linters-settings: | ||
goimports: | ||
# Put imports beginning with prefix after 3rd-party packages. | ||
local-prefixes: github.com/NJUPT-SAST/sast-link-backend | ||
revive: | ||
# Default to run all linters so that new rules in the future could automatically be added to the static check. | ||
enable-all-rules: true | ||
rules: | ||
# The following rules are too strict and make coding harder. We do not enable them for now. | ||
- name: file-header | ||
disabled: true | ||
- name: line-length-limit | ||
disabled: true | ||
- name: function-length | ||
disabled: true | ||
- name: max-public-structs | ||
disabled: true | ||
- name: function-result-limit | ||
disabled: true | ||
- name: banned-characters | ||
disabled: true | ||
- name: argument-limit | ||
disabled: true | ||
- name: cognitive-complexity | ||
disabled: true | ||
- name: cyclomatic | ||
disabled: true | ||
- name: confusing-results | ||
disabled: true | ||
- name: add-constant | ||
disabled: true | ||
- name: flag-parameter | ||
disabled: true | ||
- name: nested-structs | ||
disabled: true | ||
- name: import-shadowing | ||
disabled: true | ||
- name: early-return | ||
disabled: true | ||
- name: use-any | ||
disabled: true | ||
- name: exported | ||
disabled: true | ||
- name: unhandled-error | ||
disabled: true | ||
- name: if-return | ||
disabled: true | ||
- name: max-control-nesting | ||
disabled: true | ||
gocritic: | ||
disabled-checks: | ||
- ifElseChain | ||
govet: | ||
settings: | ||
printf: # The name of the analyzer, run `go tool vet help` to see the list of all analyzers | ||
funcs: # Run `go tool vet help printf` to see the full configuration of `printf`. | ||
- common.Errorf | ||
enable-all: true | ||
disable: | ||
- fieldalignment | ||
- shadow |
Oops, something went wrong.