name: golang-ci

run:
  timeout: 10m
  go: '1.18'
  
linters-settings:
  revive:
    # see https://github.com/mgechev/revive#available-rules for details.
    ignore-generated-header: true
    severity: warning
    confidence: 0.8
    rules:
      - name: blank-imports
      - name: context-as-argument
      - name: context-keys-type
      - name: dot-imports
      - name: error-return
      - name: error-strings
      - name: error-naming
      - name: exported
      - name: if-return
      - name: increment-decrement
      - name: var-naming
      - name: var-declaration
      - name: package-comments
      - name: range
      - name: receiver-naming
      - name: time-naming
      - name: unexported-return
      - name: indent-error-flow
      - name: errorf
      - name: empty-block
      - name: superfluous-else
      - name: unused-parameter
      - name: unreachable-code
      - name: redefines-builtin-id
  staticcheck:
    # https://staticcheck.io/docs/options#checks
    checks: ["all", "-SA1019"]
  # errcheck:
    #exclude: /path/to/file.txt

linters:
  disable-all: true
  enable:
    - goimports
    - revive
    - govet
    - misspell
    - errcheck
    - staticcheck
    - prealloc
    - ineffassign
