Skip to content

request: make source builds a first class approach to installation #1006

Closed
@kortschak

Description

@kortschak

The issue template is not appropriate for this issue, so I have removed it.

In the README's installation section there is a direction to not install golangci-lint from source. Given the support for reliable builds with Go modules, this seems like an extremely odd approach.

It would be good if there were added support for source install of golang-ci lint.

Addressing the directive's points in the README:

Please, do not install golangci-lint by go get:

  1. go.mod replacement directive doesn't apply. It means you will be using patched version of golangci-lint.
    There are no replace directives in that file, and if there were that would be breaking the rationale for the replace directive.
  2. it's much slower than binary installation
    Surely this is up to the user to decide, being a balance between speed of install and the capacity to audit code that is running on the user's machine. Personally, I do not install from binary on my hardware, though I do allow this for travis builds.
  3. its stability depends on your Go version (e.g. on this compiler Go <= 1.12 bug).
    This can be avoided by only supporting source installs for Go versions greater than 1.13. This could easily be stated as building from source is only supported for currently supported Go releases.
  4. it's not guaranteed to work: e.g. we've encountered a lot of issues with Go modules hashes.
    Has this been reported anywhere?
  5. it allows installation from master branch which can't be considered stable.
    If modules are used correctly, this is not the case.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions