Skip to content

pre-release for Go 1.14 #962

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
pierrre opened this issue Feb 6, 2020 · 15 comments
Closed

pre-release for Go 1.14 #962

pierrre opened this issue Feb 6, 2020 · 15 comments

Comments

@pierrre
Copy link
Contributor

pierrre commented Feb 6, 2020

Hello,
Is it possible to have a pre-release (maybe a beta) for Go 1.14 ?
It seems that the pre-compiled binaries are not compatible with Go 1.14rc1.

@ernado
Copy link
Member

ernado commented Feb 6, 2020

Hey, I'm planning an alpha release compiled with go1.14rc1 until Friday.

@ernado
Copy link
Member

ernado commented Feb 8, 2020

golangci-lint-SNAPSHOT-536a4f0e1234d8329d11cdd3c375a469fa920802-darwin-386.tar.gz
golangci-lint-SNAPSHOT-536a4f0e1234d8329d11cdd3c375a469fa920802-darwin-amd64.tar.gz
golangci-lint-SNAPSHOT-536a4f0e1234d8329d11cdd3c375a469fa920802-freebsd-386.tar.gz
golangci-lint-SNAPSHOT-536a4f0e1234d8329d11cdd3c375a469fa920802-freebsd-amd64.tar.gz
golangci-lint-SNAPSHOT-536a4f0e1234d8329d11cdd3c375a469fa920802-freebsd-armv6.tar.gz
golangci-lint-SNAPSHOT-536a4f0e1234d8329d11cdd3c375a469fa920802-freebsd-armv7.tar.gz
golangci-lint-SNAPSHOT-536a4f0e1234d8329d11cdd3c375a469fa920802-linux-386.tar.gz
golangci-lint-SNAPSHOT-536a4f0e1234d8329d11cdd3c375a469fa920802-linux-amd64.tar.gz
golangci-lint-SNAPSHOT-536a4f0e1234d8329d11cdd3c375a469fa920802-linux-arm64.tar.gz
golangci-lint-SNAPSHOT-536a4f0e1234d8329d11cdd3c375a469fa920802-linux-armv6.tar.gz
golangci-lint-SNAPSHOT-536a4f0e1234d8329d11cdd3c375a469fa920802-linux-mips64.tar.gz
golangci-lint-SNAPSHOT-536a4f0e1234d8329d11cdd3c375a469fa920802-linux-mips64le.tar.gz
golangci-lint-SNAPSHOT-536a4f0e1234d8329d11cdd3c375a469fa920802-linux-ppc64le.tar.gz
golangci-lint-SNAPSHOT-536a4f0e1234d8329d11cdd3c375a469fa920802-linux-s390x.tar.gz
golangci-lint-SNAPSHOT-536a4f0e1234d8329d11cdd3c375a469fa920802-windows-386.zip
golangci-lint-SNAPSHOT-536a4f0e1234d8329d11cdd3c375a469fa920802-windows-amd64.zip
golangci-lint-SNAPSHOT-536a4f0e1234d8329d11cdd3c375a469fa920802-linux-armv7.tar.gz

Seems it is non-trivial to do it in automated way via our CI/CD so I've did it manually.

@tpounds
Copy link
Contributor

tpounds commented Feb 8, 2020

@ernado, @pierrre I've updated the .travis.yml to build against Go 1.14rc1 in #964. However, https://github.com/golangci/golangci-lint/blob/master/.travis.yml#L34 needs to be updated to to 1.14+ before new a release will be built that supports the version. @pierrre Have you tried installing via go get now that #930 has been merged?

@pierrre
Copy link
Contributor Author

pierrre commented Feb 10, 2020

Thank you, but I have another very strange error:

ERRO Running error: failed to pre-run govet: failed to configure analyzers: settings key "printf" must be valid analyzer name, valid analyzers: [asmdecl assign atomic atomicalign bools buildtag cgocall composites copylocks deepequalerrors errorsas findcall httpresponse loopclosure lostcancel nilfunc nilness shadow shift sortslice stdmethods structtag tests unmarshal unreachable unsafeptr unusedresult]

My config:

run:
  timeout: "10m"
linters:
  disable-all: true
  enable:
    - "bodyclose"
    - "deadcode"
    - "depguard"
    - "errcheck"
    - "gocritic"
    - "gocyclo"
    - "gofmt"
    - "goimports"
    - "golint"
    - "govet"
    - "ineffassign"
    - "megacheck"
    - "misspell"
    - "nakedret"
    - "structcheck"
    - "unconvert"
    - "unparam"
    - "varcheck"
linters-settings:
  depguard:
    list-type: blacklist
    include-go-root: true
    packages:
      - errors
      - reflect
      - unsafe
      - github.com/pkg/errors
  gocyclo:
    min-complexity: 10
  govet:
    enable-all: true
    settings:
      printf:
        funcs:
          - "(github.com/xxx/golang-libraries/errors).Newf"
          - "(github.com/xxx/golang-libraries/errors).WithMessagef"
          - "(github.com/xxx/golang-libraries/errors).Wrapf"
issues:
  exclude-use-default: false
  max-issues-per-linter: 0
  max-same-issues: 0

I think I've already mentioned this issue somewhere.
It's due to a recent change in x/tools (the config of the govet linter)

EDIT: sorry, I never reported this issue actually, it was on the internal slack of my company

@ernado
Copy link
Member

ernado commented Feb 10, 2020

@pierrre what version is causing that error?

@pierrre
Copy link
Contributor Author

pierrre commented Feb 10, 2020

v1.23.3 installed with go get
cd /tmp && GO111MODULE=on GOBIN=/home/pierre/go/pkg/golangci-lint/v1.23.3-mod go get -v github.com/golangci/golangci-lint/cmd/[email protected]

But I'm dumb: I understand now that #930 has not yet been released in a tag, correct ?

@ernado
Copy link
Member

ernado commented Feb 10, 2020

Oh, I forgot to mention that, sorry :(
You can try version from my comment or build it by yourself with goreleaser --snapshot command in project root.

@ernado
Copy link
Member

ernado commented Feb 10, 2020

I've also issued v1.23.4 that will be available in ~20min.

@ernado
Copy link
Member

ernado commented Feb 10, 2020

Meh, due to some issues with CI/CD the v1.23.6 is valid latest version.

@pierrre
Copy link
Contributor Author

pierrre commented Feb 11, 2020

The install with go get and v1.23.6 works perfectly fine for me now !
Thank you very much!

Do you plan to make this installation method supported again ?

@ernado
Copy link
Member

ernado commented Feb 11, 2020

The go get method should work until we have any critical replace directives and go tools are not updating in backwards incompatible manner (e.g. last our bug with x/tools).

Personally I will try to fix any go-get related bugs, so it is kinda supported, but binary releases are still recommended.

@pierrre
Copy link
Contributor Author

pierrre commented Feb 11, 2020

OK.

I will close this issue now, because my problem is fixed: I can use golangci-lint with Go 1.14rc1.

FYI, I'm using this command to install it:

cd /tmp && GO111MODULE=on GOBIN=/home/pierre/go/pkg/golangci-lint/v1.23.6-mod go get -v github.com/golangci/golangci-lint/cmd/[email protected]

@pierrre pierrre closed this as completed Feb 11, 2020
@pierrre
Copy link
Contributor Author

pierrre commented Feb 12, 2020

It's very strange:

  • my local Go version is 1.14rc1
  • I'm running golangci-lint v1.23.6 from the pre-compiled binaries you provide
  • it works without any error

So, it seems I don't need to use go get 🤔
The v1.23.6 compiled with Go 1.13 works with my local Go 1.14rc1
Am I misunderstanding something ?

@ernado
Copy link
Member

ernado commented Feb 12, 2020

Seems like there is no hard requirement to use go1.14 to support go1.14, that works for me too 👀

@ldez
Copy link
Member

ldez commented Feb 25, 2020

go1.14 is out 🎉

https://twitter.com/golang/status/1232421783548067840?s=21

@ernado ernado mentioned this issue Feb 26, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants