Skip to content

When building a custom linter, the resulting custom-gcl cannot find canonicalheader #5340

Closed
@gmlewis

Description

@gmlewis

Welcome

  • Yes, I'm using a binary release within 2 latest releases. Only such installations are supported.
  • Yes, I've searched similar issues on GitHub and didn't find any.
  • Yes, I've read the typecheck section of the FAQ.
  • Yes, I've tried with the standalone linter if available (e.g., gocritic, go vet, etc.).
  • I agree to follow this project's Code of Conduct

Description of the problem

Using this PR: google/go-github#3447
I create a custom linter locally by running:

$ go version
go version go1.23.5 darwin/arm64

$ go install github.com/golangci/golangci-lint/cmd/golangci-lint@latest

$ golangci-lint --version
golangci-lint has version v1.63.4 built with go1.23.5 from (unknown, modified: ?, mod sum: "h1:bJQFQ3hSfUto597dkL7ipDzOxsGEpiWdLiZ359OWOBI=") on (unknown)

$ golangci-lint -v custom
INFO Cloning golangci-lint repository
INFO Adding plugin imports
INFO generated imports info /var/folders/yx/06mn6xqd12d98bcbspd4h69w0000gn/T/custom-gcl3726798118/golangci-lint/cmd/golangci-lint/plugins.go:
package main

import (
        _ "github.com/google/go-github/v68/tools/sliceofpointers"
)

INFO Adding replace directives
INFO run: go mod edit -replace github.com/google/go-github/v68/tools/sliceofpointers=/Users/glenn/go/src/github.com/google/go-github/tools/sliceofpointers
INFO Running go mod tidy
INFO Building golangci-lint binary
INFO Moving golangci-lint binary

$ ls -l custom-gcl && file custom-gcl
-rwxr-xr-x@ 1 glenn  staff  32275474 Jan 21 14:58 custom-gcl
custom-gcl: Mach-O 64-bit executable arm64

$ ./custom-gcl -v linters
INFO [config_reader] Config search paths: [./ /Users/glenn/go/src/github.com/google/go-github /Users/glenn/go/src/github.com/google /Users/glenn/go/src/github.com /Users/glenn/go/src /Users/glenn/go /Users/glenn /Users /]
INFO [config_reader] Used config file .golangci.yml
WARN [config_reader] The configuration option `run.skip-dirs-use-default` is deprecated, please use `issues.exclude-dirs-use-default`.
INFO Loaded : sliceofpointers
Error: unknown linters: 'canonicalheader', run 'golangci-lint help linters' to see the list of supported linters
Failed executing command with error: unknown linters: 'canonicalheader', run 'golangci-lint help linters' to see the list of supported linters

Version of golangci-lint

$ golangci-lint --version
golangci-lint has version v1.63.4 built with go1.23.5 from (unknown, modified: ?, mod sum: "h1:bJQFQ3hSfUto597dkL7ipDzOxsGEpiWdLiZ359OWOBI=") on (unknown)

Configuration

n/a

Go environment

$ go version && go env
go version go1.23.5 darwin/arm64

Verbose output of running

$ golangci-lint cache clean
$ golangci-lint run -v
INFO golangci-lint has version v1.63.4 built with go1.23.5 from (unknown, modified: ?, mod sum: "h1:bJQFQ3hSfUto597dkL7ipDzOxsGEpiWdLiZ359OWOBI=") on (unknown)
INFO [config_reader] Config search paths: [./ /Users/glenn/go/src/github.com/google/go-github /Users/glenn/go/src/github.com/google /Users/glenn/go/src/github.com /Users/glenn/go/src /Users/glenn/go /Users/glenn /Users /]
INFO [config_reader] Used config file .golangci.yml
INFO Loaded : sliceofpointers
Error: build linters: plugin(sliceofpointers): plugin "sliceofpointers" not found
Failed executing command with error: build linters: plugin(sliceofpointers): plugin "sliceofpointers" not found

A minimal reproducible example or link to a public repository

google/go-github#3447

Validation

  • Yes, I've included all information above (version, config, etc.).

Supporter

Metadata

Metadata

Assignees

No one assigned

    Labels

    questionFurther information is requested

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions