github.com/hashicorp/packer@v1.14.3/.golangci.yml (about)

     1  # Copyright (c) HashiCorp, Inc.
     2  # SPDX-License-Identifier: BUSL-1.1
     3  
     4  issues:
     5    # List of regexps of issue texts to exclude, empty list by default.
     6    # But independently from this option we use default exclude patterns,
     7    # it can be disabled by `exclude-use-default: false`. To list all
     8    # excluded by default patterns execute `golangci-lint run --help`
     9  
    10    exclude-rules:
    11      # Exclude gosimple bool check
    12      - linters:
    13        - gosimple
    14        text: "S(1002|1008|1021)"
    15      # Exclude failing staticchecks for now
    16      - linters:
    17          - staticcheck
    18        text: "SA(1006|1019|4006|4010|4017|5007|6005|9004):"
    19      # Exclude lll issues for long lines with go:generate
    20      - linters:
    21          - lll
    22        source: "^//go:generate "
    23      - linters:
    24          - errcheck
    25        path: ".*_test.go"
    26  
    27    # Maximum issues count per one linter. Set to 0 to disable. Default is 50.
    28    max-issues-per-linter: 0
    29  
    30    # Maximum count of issues with the same text. Set to 0 to disable. Default is 3.
    31    max-same-issues: 0
    32  
    33  linters:
    34    disable-all: true
    35    enable:
    36      - errcheck
    37      - goimports
    38      - gosimple
    39      - govet
    40      - ineffassign
    41      - staticcheck
    42      - unconvert
    43      - unused
    44    fast: true
    45  
    46  # options for analysis running
    47  run:
    48    # default concurrency is a available CPU number
    49    concurrency: 4
    50  
    51    # timeout for analysis, e.g. 30s, 5m, default is 1m
    52    timeout: 10m
    53  
    54    # exit code when at least one issue was found, default is 1
    55    issues-exit-code: 1
    56  
    57    # include test files or not, default is true
    58    tests: true
    59  
    60    # list of build tags, all linters use it. Default is empty list.
    61    #build-tags:
    62    #  - mytag
    63  
    64    # which dirs to skip: issues from them won't be reported;
    65    # can use regexp here: generated.*, regexp is applied on full path;
    66    # default value is empty list, but default dirs are skipped independently
    67    # from this option's value (see skip-dirs-use-default).
    68    #skip-dirs:
    69    #  - src/external_libs
    70    #  - autogenerated_by_my_lib
    71  
    72    # default is true. Enables skipping of directories:
    73    #   vendor$, third_party$, testdata$, examples$, Godeps$, builtin$
    74    skip-dirs-use-default: true
    75  
    76    # which files to skip: they will be analyzed, but issues from them
    77    # won't be reported. Default value is empty list, but there is
    78    # no need to include all autogenerated files, we confidently recognize
    79    # autogenerated files. If it's not please let us know.
    80    skip-files:
    81      - ".*\\.hcl2spec\\.go$"
    82    #  - lib/bad.go
    83  
    84    # by default isn't set. If set we pass it to "go list -mod={option}". From "go help modules":
    85    # If invoked with -mod=readonly, the go command is disallowed from the implicit
    86    # automatic updating of go.mod described above. Instead, it fails when any changes
    87    # to go.mod are needed. This setting is most useful to check that go.mod does
    88    # not need updates, such as in a continuous integration and testing system.
    89    # If invoked with -mod=vendor, the go command assumes that the vendor
    90    # directory holds the correct copies of dependencies and ignores
    91    # the dependency descriptions in go.mod.
    92    modules-download-mode: readonly
    93  
    94  # output configuration options
    95  output:
    96    # colored-line-number|line-number|json|tab|checkstyle|code-climate, default is "colored-line-number"
    97    format: colored-line-number
    98  
    99    # print lines of code with issue, default is true
   100    print-issued-lines: true
   101  
   102    # print linter name in the end of issue text, default is true
   103    print-linter-name: true
   104  
   105    # make issues output unique by line, default is true
   106    uniq-by-line: true
   107  
   108  
   109  # all available settings of specific linters
   110  linters-settings:
   111   errcheck:
   112      # report about not checking of errors in type assetions: `a := b.(MyStruct)`;
   113      # default is false: such cases aren't reported by default.
   114      check-type-assertions: false
   115  
   116      # report about assignment of errors to blank identifier: `num, _ := strconv.Atoi(numStr)`;
   117      # default is false: such cases aren't reported by default.
   118      check-blank: false
   119  
   120      # [deprecated] comma-separated list of pairs of the form pkg:regex
   121      # the regex is used to ignore names within pkg. (default "fmt:.*").
   122      # see https://github.com/kisielk/errcheck#the-deprecated-method for details
   123      ignore: fmt:.*,io/ioutil:^Read.*,io:Close
   124  
   125      # path to a file containing a list of functions to exclude from checking
   126      # see https://github.com/kisielk/errcheck#excluding-functions for details
   127      #exclude: /path/to/file.txt