mirror of
https://github.com/superseriousbusiness/gotosocial.git
synced 2025-10-28 21:32:24 -05:00
[chore] upgrade golangci-lint to v2.1.6 and migrate config (#4265)
Signed-off-by: nicole mikołajczyk <git@mkljczk.pl> # Description Contribution guidelines link to the golangci-lint documentation for the up-to-date version rather than [the legacy v1 doc](https://golangci.github.io/legacy-v1-doc/), which uses a different configuration schema. I migrated the config using the `golangci-lint migrate` command, moved the comments, adjusted staticcheck config and ensured the rules still work. ## Checklist - [x] I/we have read the [GoToSocial contribution guidelines](https://codeberg.org/superseriousbusiness/gotosocial/src/branch/main/CONTRIBUTING.md). - [ ] I/we have discussed the proposed changes already, either in an issue on the repository, or in the Matrix chat. - [x] I/we have not leveraged AI to create the proposed changes. - [ ] I/we have performed a self-review of added code. - [x] I/we have written code that is legible and maintainable by others. - [ ] I/we have commented the added code, particularly in hard-to-understand areas. - [ ] I/we have made any necessary changes to documentation. - [ ] I/we have added tests that cover new code. - [ ] I/we have run tests and they pass locally with the changes. - [ ] I/we have run `go fmt ./...` and `golangci-lint run`. Reviewed-on: https://codeberg.org/superseriousbusiness/gotosocial/pulls/4265 Co-authored-by: nicole mikołajczyk <git@mkljczk.pl> Co-committed-by: nicole mikołajczyk <git@mkljczk.pl>
This commit is contained in:
parent
fc074d2357
commit
5717ce6f3c
2 changed files with 75 additions and 74 deletions
147
.golangci.yml
147
.golangci.yml
|
|
@ -4,91 +4,92 @@
|
||||||
#
|
#
|
||||||
# For GoToSocial we mostly take the default linters, but we add a few to catch style issues as well.
|
# For GoToSocial we mostly take the default linters, but we add a few to catch style issues as well.
|
||||||
|
|
||||||
|
version: "2"
|
||||||
# options for analysis running
|
# options for analysis running
|
||||||
run:
|
run:
|
||||||
# include test files or not, default is true
|
# include test files or not, default is true
|
||||||
tests: false
|
tests: false
|
||||||
# timeout for analysis, e.g. 30s, 5m, default is 1m
|
|
||||||
timeout: 5m
|
|
||||||
|
|
||||||
linters:
|
linters:
|
||||||
# enable some extra linters, see here for the list: https://golangci-lint.run/usage/linters/
|
# enable some extra linters, see here for the list: https://golangci-lint.run/usage/linters/
|
||||||
enable:
|
enable:
|
||||||
- gocritic
|
- gocritic
|
||||||
- gofmt
|
|
||||||
- goheader
|
- goheader
|
||||||
- gosec
|
- gosec
|
||||||
- nilerr
|
- nilerr
|
||||||
- revive
|
- revive
|
||||||
|
# https://golangci-lint.run/usage/linters/#linters-configuration
|
||||||
|
settings:
|
||||||
|
# https://golangci-lint.run/usage/linters/#goheader
|
||||||
|
goheader:
|
||||||
|
template: |-
|
||||||
|
GoToSocial
|
||||||
|
Copyright (C) GoToSocial Authors admin@gotosocial.org
|
||||||
|
SPDX-License-Identifier: AGPL-3.0-or-later
|
||||||
|
|
||||||
# https://golangci-lint.run/usage/linters/#linters-configuration
|
This program is free software: you can redistribute it and/or modify
|
||||||
linters-settings:
|
it under the terms of the GNU Affero General Public License as published by
|
||||||
# https://golangci-lint.run/usage/linters/#goheader
|
the Free Software Foundation, either version 3 of the License, or
|
||||||
goheader:
|
(at your option) any later version.
|
||||||
template: |-
|
|
||||||
GoToSocial
|
|
||||||
Copyright (C) GoToSocial Authors admin@gotosocial.org
|
|
||||||
SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
|
|
||||||
This program is free software: you can redistribute it and/or modify
|
This program is distributed in the hope that it will be useful,
|
||||||
it under the terms of the GNU Affero General Public License as published by
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
the Free Software Foundation, either version 3 of the License, or
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
(at your option) any later version.
|
GNU Affero General Public License for more details.
|
||||||
|
|
||||||
This program is distributed in the hope that it will be useful,
|
You should have received a copy of the GNU Affero General Public License
|
||||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
# https://golangci-lint.run/usage/linters/#govet
|
||||||
GNU Affero General Public License for more details.
|
govet:
|
||||||
|
disable:
|
||||||
You should have received a copy of the GNU Affero General Public License
|
- composites
|
||||||
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
# https://golangci-lint.run/usage/linters/#revive
|
||||||
# https://golangci-lint.run/usage/linters/#govet
|
revive:
|
||||||
govet:
|
rules:
|
||||||
disable:
|
# Enable most default rules.
|
||||||
- composites
|
# See: https://github.com/mgechev/revive/blob/master/defaults.toml
|
||||||
# https://golangci-lint.run/usage/linters/#revive
|
- name: blank-imports
|
||||||
revive:
|
- name: context-as-argument
|
||||||
rules:
|
- name: context-keys-type
|
||||||
# Enable most default rules.
|
- name: dot-imports
|
||||||
# See: https://github.com/mgechev/revive/blob/master/defaults.toml
|
- name: error-naming
|
||||||
- name: blank-imports
|
- name: error-return
|
||||||
- name: context-as-argument
|
- name: error-strings
|
||||||
- name: context-keys-type
|
- name: exported
|
||||||
- name: dot-imports
|
- name: if-return
|
||||||
- name: error-naming
|
- name: increment-decrement
|
||||||
- name: error-return
|
- name: var-naming
|
||||||
- name: error-strings
|
- name: var-declaration
|
||||||
- name: exported
|
- name: package-comments
|
||||||
- name: if-return
|
- name: range
|
||||||
- name: increment-decrement
|
- name: receiver-naming
|
||||||
- name: var-naming
|
- name: time-naming
|
||||||
- name: var-declaration
|
- name: unexported-return
|
||||||
- name: package-comments
|
- name: indent-error-flow
|
||||||
- name: range
|
- name: errorf
|
||||||
- name: receiver-naming
|
- name: empty-block
|
||||||
- name: time-naming
|
- name: superfluous-else
|
||||||
- name: unexported-return
|
- name: unreachable-code
|
||||||
- name: indent-error-flow
|
# Disable below rules.
|
||||||
- name: errorf
|
- name: redefines-builtin-id
|
||||||
- name: empty-block
|
disabled: true
|
||||||
- name: superfluous-else
|
- name: unused-parameter
|
||||||
- name: unreachable-code
|
disabled: true
|
||||||
# Disable below rules.
|
# https://golangci-lint.run/usage/linters/#staticcheck
|
||||||
- name: redefines-builtin-id
|
staticcheck:
|
||||||
disabled: true # This one is just annoying.
|
# Enable all checks, but disable SA1012: nil context passing.
|
||||||
- name: unused-parameter
|
# See: https://staticcheck.io/docs/configuration/options/#checks
|
||||||
disabled: true # We often pass parameters to fulfil interfaces.
|
checks:
|
||||||
# https://golangci-lint.run/usage/linters/#staticcheck
|
- SA*
|
||||||
staticcheck:
|
- -SA1012
|
||||||
# Enable all checks, but disable SA1012: nil context passing.
|
exclusions:
|
||||||
# See: https://staticcheck.io/docs/configuration/options/#checks
|
generated: lax
|
||||||
checks: ["all", "-SA1012"]
|
presets:
|
||||||
|
- comments
|
||||||
issues:
|
- common-false-positives
|
||||||
exclude-rules:
|
- legacy
|
||||||
# Exclude VSCode custom folding region comments in files that use them.
|
- std-error-handling
|
||||||
# Already fixed in go-critic and can be removed next time go-critic is updated.
|
formatters:
|
||||||
- linters:
|
enable:
|
||||||
- gocritic
|
- gofmt
|
||||||
path: internal/db/filter.go
|
exclusions:
|
||||||
text: 'commentFormatting: put a space between `//` and comment text'
|
generated: lax
|
||||||
|
|
|
||||||
|
|
@ -22,7 +22,7 @@ steps:
|
||||||
|
|
||||||
# We use golangci-lint for linting.
|
# We use golangci-lint for linting.
|
||||||
# See: https://golangci-lint.run/
|
# See: https://golangci-lint.run/
|
||||||
image: golangci/golangci-lint:v1.64.8
|
image: golangci/golangci-lint:v2.1.6
|
||||||
pull: true
|
pull: true
|
||||||
|
|
||||||
# https://woodpecker-ci.org/docs/administration/configuration/backends/docker#run-user
|
# https://woodpecker-ci.org/docs/administration/configuration/backends/docker#run-user
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue