Skip to content

Commit

Permalink
ci: introduce golangci-lint
Browse files Browse the repository at this point in the history
  • Loading branch information
tessig authored and bastianccm committed Oct 10, 2022
1 parent a3c98a7 commit 213edd3
Show file tree
Hide file tree
Showing 2 changed files with 172 additions and 0 deletions.
26 changes: 26 additions & 0 deletions .github/workflows/golangci-lint.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
name: golangci-lint
on:
push:
tags:
- v*
branches:
- master
- main
pull_request:
permissions:
contents: read
pull-requests: read
jobs:
golangci:
name: lint
runs-on: ubuntu-latest
steps:
- uses: actions/setup-go@v3
with:
go-version: 1.*
- uses: actions/checkout@v3
- name: golangci-lint
uses: golangci/golangci-lint-action@v3
with:
version: v1.50
only-new-issues: true
146 changes: 146 additions & 0 deletions .golangci.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,146 @@
# Options for analysis running.
run:
concurrency: 4
timeout: 5m
tests: true
# vendor$, third_party$, testdata$, examples$, Godeps$, builtin$
skip-dirs-use-default: true
modules-download-mode: readonly
allow-parallel-runners: false
go: '1.19'

# output configuration options
output:
# Format: colored-line-number|line-number|json|tab|checkstyle|code-climate|junit-xml|github-actions
#
# Multiple can be specified by separating them by comma, output can be provided
# for each of them by separating format name and path by colon symbol.
# Output path can be either `stdout`, `stderr` or path to the file to write to.
# Example: "checkstyle:report.json,colored-line-number"
#
# Default: colored-line-number
format: tab
print-issued-lines: true
print-linter-name: true
uniq-by-line: true
sort-results: true

linters:
disable-all: true
enable:
- bidichk
- bodyclose
- containedctx
- contextcheck
- cyclop
- durationcheck
- errcheck
- errname
- errorlint
- exhaustive
- exportloopref
- forbidigo
- forcetypeassert
- gocognit
- goconst
- gocritic
- goerr113
- gofmt
- gomnd
- gomoddirectives
- gosec
- gosimple
- govet
- grouper
- ineffassign
- makezero
- misspell
- nakedret
- nestif
- nilerr
- nilnil
- noctx
- nolintlint
- nosprintfhostport
- paralleltest
- prealloc
- predeclared
- revive
- staticcheck
- tenv
- testpackage
- thelper
- tparallel
- typecheck
- unconvert
- unparam
- unused
- usestdlibvars
- varnamelen
- wrapcheck
- wsl

issues:
new: false
fix: false
new-from-rev: b5fdfaa2bd30e666511e4648f27d8a26fd8512cb
exclude-rules:
- path: _test\.go
linters:
- containedctx
- forcetypeassert
- goconst
- goerr113
- varnamelen
- wrapcheck

severity:
default-severity: blocker
rules: # code-climate format from gitlab supports: info, minor, major, critical, or blocker
- severity: critical
linters:
- gosec
- severity: major
linters:
- goerr113
- prealloc
- wrapcheck
- severity: minor
linters:
- cyclop
- decorder
- errname
- goconst
- gocognit
- predeclared
- testpackage
- tparallel
- usestdlibvars
- varnamelen
- severity: info
linters:
- paralleltest
- thelper
- wsl

linters-settings:
gomnd:
ignored-functions:
- context.WithTimeout
nolintlint:
require-specific: true
require-explanation: true
revive:
rules:
- name: var-naming
disabled: true
varnamelen:
max-distance: 10
ignore-type-assert-ok: true
ignore-map-index-ok: true
ignore-chan-recv-ok: true
ignore-names:
- err
- id
ignore-decls:
- i int

0 comments on commit 213edd3

Please sign in to comment.