8000 Cannot easily disable `typecheck` · Issue #2912 · golangci/golangci-lint · GitHub
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content
Cannot easily disable typecheck #2912
Closed
@Callisto13

Description

@Callisto13

Welcome

  • Yes, I'm using a binary release within 2 latest major releases. Only such installations are supported.
  • Yes, I've searched similar issues on GitHub and didn't find any.
  • Yes, I've included all information below (version, config, etc).
  • Yes, I've tried with the standalone linter if available. (https://golangci-lint.run/usage/linters/)

Description of the problem

While waiting for full 1.18 support, I attempted to disable the typecheck linter which was giving me grief.

I added it to this section of my config:

linters:
  enable-all: true
  disable:
  - typecheck
  - etc...

But it had no effect.

According to the docs this should be possible.

In the end I did the following, which worked:

issues:
  exclude-rules:
  - path: /
    linters:
    - typecheck

Version of golangci-lint

$ golangci-lint --version
golangci-lint has version 1.46.2 built from a3336890 on 2022-05-17T11:31:29Z

Configuration file

$ cat .golangci.yml
run:
    go: "1.18"
    timeout: 10m
    tests: false
    allow-parallel-runners: true
    skip-dirs:
      - "./*/mock"

linters-settings:
  funlen:
    lines: 110
    statements: 60
  staticcheck:
    go: "1.18"
  stylecheck:
    go: "1.18"
  cyclop:
    max-complexity: 15
    skip-tests: true
  gosec:
    exclude-generated: true
  lll:
    line-length: 120
  misspell:
    locale: GB
  goimports:
    local-prefixes: github.com/weaveworks/flintlock
  govet:
    check-shadowing: true
  nolintlint:
    allow-leading-space: false
    allow-unused: false
    require-explanation: true
    require-specific: false
  varnamelen:
    ignore-names:
    - err
    - wg
    - fs
    - id
    - vm
    - ns
    - ip

issues:
  max-same-issues: 0
  max-issues-per-linter: 0
  exclude-rules:
  - text: "should not use dot imports|don't use an underscore in package name"
    linters:
    - golint
  - text: "local replacement are not allowed: github.com/weaveworks/flintlock/"
    linters:
    - gomoddirectives
  - text: "sig: func github.com/weaveworks/flintlock/"
    linters:
    - wrapcheck
  - source: "https://"
    linters:
    - lll
  - path: pkg/defaults/
    linters:
    - lll
  - path: _test\.go
    linters:
    - goerr113
    - gocyclo
    - errcheck
    - gosec
    - dupl
    - funlen
    - scopelint
    - testpackage
  - path: internal/version/
    linters:
    - gochecknoglobals
  - path: internal/command/
    linters:
    - exhaustivestruct
    - lll
    - wrapcheck
  - source: "// .* #\\d+"
    linters:
    - godox
  - path: test/e2e/
    linters:
    - goerr113
    - gomnd

linters:
  enable-all: true
  disable:
  - exhaustivestruct
  - golint
  - interfacer
  - ireturn
  - maligned
  - nilnil
  - scopelint
  - tagliatelle
  - gomoddirectives
  - typecheck

Go environment

$ go version && go env
go version go1.18.3 linux/amd64
GO111MODULE=""
GOARCH="amd64"
GOBIN=""
GOCACHE="/home/claudia/.cache/go-build"
GOENV="/home/claudia/.config/go/env"
GOEXE=""
GOEXPERIMENT=""
GOFLAGS=""
GOHOSTARCH="amd64"
GOHOSTOS="linux"
GOINSECURE=""
GOMODCACHE="/home/claudia/go/pkg/mod"
GONOPROXY=""
GONOSUMDB=""
GOOS="linux"
GOPATH="/home/claudia/go"
GOPRIVATE=""
GOPROXY="https://proxy.golang.org,direct"
GOROOT="/usr/local/go"
GOSUMDB="sum.golang.org"
GOTMPDIR=""
GOTOOLDIR="/usr/local/go/pkg/tool/linux_amd64"
GOVCS=""
GOVERSION="go1.18.3"
GCCGO="gccgo"
GOAMD64="v1"
AR="ar"
CC="gcc"
CXX="g++"
CGO_ENABLED="1"
GOMOD="/home/claudia/workspace/flintlock/go.mod"
GOWORK=""
CGO_CFLAGS="-g -O2"
CGO_CPPFLAGS=""
CGO_CXXFLAGS="-g -O2"
CGO_FFLAGS="-g -O2"
CGO_LDFLAGS="-g -O2"
PKG_CONFIG="pkg-config"
GOGCCFLAGS="-fPIC -m64 -pthread -fmessage-length=0 -fdebug-prefix-map=/tmp/go-build1873054285=/tmp/go-build -gno-record-gcc-switches"

Verbose output of running

$ golangci-lint cache clean
$ golangci-lint run -v
INFO [config_reader] Config search paths: [./ /home/claudia/workspace/flintlock /home/claudia/workspace /home/claudia /home /]
INFO [config_reader] Used config file .golangci.yml
INFO [lintersdb] Active 73 linters: [asciicheck bidichk bodyclose contextcheck cyclop deadcode depguard dogsled dupl durationcheck errcheck errname errorlint exhaustive exportloopref forbidigo forcetypeassert funlen gci gochecknoglobals gochecknoinits gocognit goconst gocritic gocyclo godot godox goerr113 gofmt gofumpt goheader goimports gomnd gomodguard goprintffuncname gosec gosimple govet ifshort importas ineffassign lll makezero misspell nakedret nestif nilerr nlreturn noctx nolintlint paralleltest prealloc predeclared promlinter revive rowserrcheck sqlclosecheck staticcheck structcheck stylecheck tenv testpackage thelper tparallel unconvert unparam unused varcheck varnamelen wastedassign whitespace wrapcheck wsl]
INFO [loader] Go packages loading at mode 575 (deps|exports_file|imports|compiled_files|files|name|types_sizes) took 271.667642ms
INFO [runner/filename_unadjuster] Pre-built 0 adjustments in 5.868339ms
INFO [linters context] importas settings found, but no aliases listed. List aliases under alias: key.
INFO [linters context/goanalysis] analyzers took 2.284062685s with top 10 stages: the_only_name: 72.982384ms, gocritic: 34.429007ms, godox: 28.403245ms, ineffassign: 23.718449ms, directives: 20.996316ms, buildtag: 20.314691ms, testpackage: 20.134428ms, errorlint: 20.052842ms, dupl: 19.97993ms, ST1012: 17.987856ms
INFO [runner] Issues before processing: 11228, after processing: 51
INFO [runner] Processors filtering stat (out/in): max_per_file_from_linter: 51/51, filename_unadjuster: 11228/11228, path_prettifier: 11228/11228, diff: 51/51, sort_results: 51/51, autogenerated_exclude: 11228/11228, identifier_marker: 11228/11228, max_same_issues: 51/51, max_from_linter: 51/51, source_code: 51/51, path_shortener: 51/51, severity-rules: 51/51, skip_files: 11228/11228, skip_dirs: 11228/11228, nolint: 11220/11220, uniq_by_line: 51/11220, path_prefixer: 51/51, cgo: 11228/11228, exclude: 11228/11228, exclude-rules: 11220/11228
INFO [runner] processing took 420.037627ms with stages: exclude-rules: 286.927974ms, identifier_marker: 120.318589ms, nolint: 4.713532ms, path_prettifier: 3.85884ms, skip_dirs: 1.113003ms, cgo: 811.036µs, uniq_by_line: 762.391µs, autogenerated_exclude: 714.042µs, filename_unadjuster: 660.512µs, source_code: 141.818µs, path_shortener: 9.496µs, max_per_file_from_linter: 3.414µs, max_same_issues: 1.146µs, skip_files: 414ns, diff: 344ns, sort_results: 305ns, severity-rules: 253ns, max_from_linter: 234ns, exclude: 205ns, path_prefixer: 79ns
INFO [runner] linters took 4.236279675s with stages: goanalysis_metalinter: 3.816156997s
INFO File cache stats: 14 entries of total size 57.8KiB
INFO Memory: 47 samples, avg is 336.5MB, max is 409.5MB
INFO Execution took 4.518303126s
hack/tools/bin/golangci-lint run -v --fast=false 
core/models/vmid.go:4:2: could not import encoding (-: could not load export data: cannot import "encoding" (unstable iexport format versi
8DAF
on 2, just rebuild compiler and std library), export data is newer version - update tool) (typecheck)
	"encoding"
	^
internal/command/flags/urfave.go:9:29: undeclared name: `cli` (typecheck)
type WithFlagsFunc func() []cli.Flag
                            ^
internal/command/flags/urfave.go:11:43: undeclared name: `cli` (typecheck)
func CLIFlags(options ...WithFlagsFunc) []cli.Flag {
                                          ^
internal/command/flags/urfave.go:62:37: undeclared name: `cli` (typecheck)
func ParseFlags(cfg *config.Config) cli.BeforeFunc {
                                    ^
internal/command/flags/urfave.go:12:13: undeclared name: `cli` (typecheck)
	flags := []cli.Flag{}
	           ^
internal/command/flags/urfave.go:22:18: undeclared name: `cli` (typecheck)
	return func() []cli.Flag {
	                ^
internal/command/flags/urfave.go:23:12: undeclared name: `cli` (typecheck)
		return []cli.Flag{
		         ^
internal/command/flags/urfave.go:24:5: undeclared name: `cli` (typecheck)
			&cli.StringFlag{
			 ^
internal/command/flags/urfave.go:29:5: undeclared name: `cli` (typecheck)
			&cli.StringFlag{
			 ^
internal/command/flags/urfave.go:39:18: undeclared name: `cli` (typecheck)
	return func() []cli.Flag {
	                ^
internal/command/flags/urfave.go:40:12: undeclared name: `cli` (typecheck)
		return []cli.Flag{
		         ^
internal/command/flags/urfave.go:41:5: undeclared name: `cli` (typecheck)
			&cli.StringFlag{
			 ^
internal/command/flags/urfave.go:51:18: undeclared name: `cli` (typecheck)
	return func() []cli.Flag {
	                ^
internal/command/flags/urfave.go:52:12: undeclared name: `cli` (typecheck)
		return []cli.Flag{
		         ^
internal/command/flags/urfave.go:53:5: undeclared name: `cli` (typecheck)
			&cli.StringFlag{
			 ^
internal/command/flags/urfave.go:63:19: undeclared name: `cli` (typecheck)
	return func(ctx *cli.Context) error {
	                 ^
internal/command/flags/urfave.go:4:2: "github.com/urfave/cli/v2" imported but not used (typecheck)
	"github.com/urfave/cli/v2"
	^
core/application/commands.go:10:2: could not import github.com/weaveworks-liquidmetal/flintlock/client/cloudinit (-: could not load export data: cannot import "github.com/weaveworks-liquidmetal/flintlock/client/cloudinit" (unstable iexport format version 2, just rebuild compiler and std library), export data is newer version - update tool) (typecheck)
	"github.com/weaveworks-liquidmetal/flintlock/client/cloudinit"
	^
core/application/commands.go:11:2: could not import github.com/weaveworks-liquidmetal/flintlock/client/cloudinit/instance (-: could not load export data: cannot import "github.com/weaveworks-liquidmetal/flintlock/client/cloudinit/instance" (unstable iexport format version 2, just rebuild compiler and std library), export data is newer version - update tool) (typecheck)
	"github.com/weaveworks-liquidmetal/flintlock/client/cloudinit/instance"
	^
infrastructure/containerd/client_interface.go:57:16: undeclared name: `tasks` (typecheck)
	TaskService() tasks.TasksClient
	              ^
infrastructure/containerd/repo.go:268:73: undeclared name: `digest` (typecheck)
func (r *containerdRepo) getWithDigest(ctx context.Context, metadigest *digest.Digest) (*models.MicroVM, error) {
                                                                        ^
infrastructure/containerd/repo.go:288:5: undeclared name: `digest` (typecheck)
) (*digest.Digest, error) {
    ^
infrastructure/containerd/repo.go:337:96: undeclared name: `digest` (typecheck)
func (r *containerdRepo) findAllDigestForSpec(ctx context.Context, name, namespace string) ([]*digest.Digest, error) {
                                                                                               ^
infrastructure/containerd/repo.go:146:25: undeclared name: `digest` (typecheck)
	digests := map[string]*digest.Digest{}
	                       ^
infrastructure/containerd/repo.go:289:14: undeclared name: `digest` (typecheck)
	var digest *digest.Digest
	            ^
infrastructure/containerd/repo.go:343:16: undeclared name: `digest` (typecheck)
	digests := []*digest.Digest{}
	              ^
infrastructure/containerd/client_interface.go:7:2: "github.com/containerd/containerd/api/services/tasks/v1" imported but not used (typecheck)
	"github.com/containerd/containerd/api/services/tasks/v1"
	^
infrastructure/containerd/repo.go:15:2: "github.com/opencontainers/go-digest" imported but not used (typecheck)
	"github.com/opencontainers/go-digest"
	^
infrastructure/controllers/microvm_controller.go:11:2: "github.com/weaveworks-liquidmetal/flintlock/api/events" imported but not used (typecheck)
	"github.com/weaveworks-liquidmetal/flintlock/api/events"
	^
infrastructure/firecracker/config.go:8:12: could not import github.com/weaveworks-liquidmetal/flintlock/client/cloudinit/network (-: could not load export data: cannot import "github.com/weaveworks-liquidmetal/flintlock/client/cloudinit/network" (unstable iexport format version 2, just rebuild compiler and std library), export data is newer version - update tool) (typecheck)
	cinetwork "github.com/weaveworks-liquidmetal/flintlock/client/cloudinit/network"
	          ^
infrastructure/firecracker/config.go:211:11: undeclared name: `firecracker` (typecheck)
			DHCP4: firecracker.Bool(true),
			       ^
infrastructure/firecracker/config.go:212:11: undeclared name: `firecracker` (typecheck)
			DHCP6: firecracker.Bool(true),
			       ^
infrastructure/firecracker/config.go:230:13: undeclared name: `yaml` (typecheck)
	nd, err := yaml.Marshal(network)
	           ^
infrastructure/firecracker/config.go:270:14: undeclared name: `firecracker` (typecheck)
	eth.DHCP4 = firecracker.Bool(false)
	            ^
infrastructure/firecracker/config.go:271:14: undeclared name: `firecracker` (typecheck)
	eth.DHCP6 = firecracker.Bool(false)
	            ^
infrastructure/firecracker/create.go:54:9: undeclared name: `firecracker` (typecheck)
	cmd := firecracker.VMCommandBuilder{}.
	       ^
infrastructure/firecracker/config.go:7:2: "github.com/firecracker-microvm/firecracker-go-sdk" imported but not used (typecheck)
	"github.com/firecracker-microvm/firecracker-go-sdk"
	^
infrastructure/firecracker/config.go:12:2: "gopkg.in/yaml.v3" imported but not used (typecheck)
	"gopkg.in/yaml.v3"
	^
infrastructure/firecracker/create.go:10:2: "github.com/firecracker-microvm/firecracker-go-sdk" imported but not used (typecheck)
	"github.com/firecracker-microvm/firecracker-go-sdk"
	^
infrastructure/grpc/convert.go:7:2: could not import github.com/weaveworks-liquidmetal/flintlock/client/cloudinit/instance (-: could not load export data: cannot import "github.com/weaveworks-liquidmetal/flintlock/client/cloudinit/instance" (unstable iexport format version 2, just rebuild compiler and std library), export data is newer version - update tool) (typecheck)
	"github.com/weaveworks-liquidmetal/flintlock/client/cloudinit/instance"
	^
infrastructure/grpc/server.go:56:16: undeclared name: `validator` (typecheck)
	var valErrors validator.ValidationErrors
	              ^
infrastructure/grpc/server.go:8:2: "github.com/go-playground/validator/v10" imported but not used (typecheck)
	"github.com/go-playground/validator/v10"
	^
internal/command/metrics/main.go:9:29: undeclared name: `cli` (typecheck)
func NewApp(out io.Writer) *cli.App {
                            ^
internal/command/metrics/main.go:23:20: undeclared name: `cli` (typecheck)
func commands() []*cli.Command {
                   ^
internal/command/metrics/serve.go:20:22: undeclared name: `cli` (typecheck)
func serveCommand() *cli.Command {
                     ^
internal/command/metrics/main.go:10:9: undeclared name: `cli` (typecheck)
	app := cli.NewApp()
	       ^
internal/command/metrics/main.go:24:12: undeclared name: `cli` (typecheck)
	return []*cli.Command{
	          ^
internal/command/metrics/serve.go:23:10: undeclared name: `cli` (typecheck)
	return &cli.Command{
	        ^
internal/command/metrics/serve.go:33:19: undeclared name: `cli` (typecheck)
		Action: func(c *cli.Context) error {
		                ^
internal/command/metrics/main.go:6:2: "github.com/urfave/cli/v2" imported but not used (typecheck)
	"github.com/urfave/cli/v2"
	^
internal/command/metrics/serve.go:10:2: "github.com/urfave/cli/v2" imported but not used (typecheck)
	"github.com/urfave/cli/v2"
	^

Code example or link to a public repository

https://github.com/weaveworks-liquidmetal/flintlock

Metadata

Metadata

Assignees

No one assigned

    Labels

    duplicateThis issue or pull request already existsquestionFurther information is requested

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions

      0