go-tools icon indicating copy to clipboard operation
go-tools copied to clipboard

Create release built with 1.25

Open krezac opened this issue 4 months ago • 12 comments

Hi, staticcheck built with 1.24 doesn't work well with go 1.25 project

file requires newer Go version go1.25 (application built with go1.24) (compile) 13:47:30 -: module requires at least go1.25, but Staticcheck was built with go1.24.1 (compile)

It of course works well with "go install" locally but it's no solution for CI.

Thanks

krezac avatar Aug 19 '25 05:08 krezac

You're encouraged to build Staticcheck yourself in your CI environment.

It of course works well with "go install" locally but it's no solution for CI.

Why not?

dominikh avatar Aug 19 '25 19:08 dominikh

@dominikh I've tried - unfortunately changing the tools we use from packages to go install changes the build time of base image from 6 minutes to over an hour and it reaches the limit... Yes, adding more "juice" to the CI would make it better, but ... you know ... corporate ...

krezac avatar Aug 20 '25 06:08 krezac

Hi, this is a big issue for us too. We pull the latest release (via CI pipeline) from github assets and it's no longer even compatible with Go v1.24. We have delayed upgrading to Go v.1.25 because of OP's issue above.

  (0, 0)  compile  module requires at least go1.24.6, but Staticcheck was built with go1.24.0

Is it possible for you to create a new release compatible with newer versions of Go please? 🙏 Thanks.

nomad-software avatar Oct 13 '25 13:10 nomad-software

It is unlikely that future releases will contain binary assets, in part because of issues like these. I'd prefer someone else to be responsible for distribution (e.g. Linux distributions), falling back to building the tool from source in CI.

dominikh avatar Oct 13 '25 21:10 dominikh

@dominikh: It is unlikely that future releases will contain binary assets, in part because of issues like these.

Will you continue to provide new tagged versions or is the approach you're considering to be installing from the latest commit from the master branch?

atc0005 avatar Oct 14 '25 14:10 atc0005

We'll need tagged releases because master is considered beta.

You can also run the master branch instead of a release. Note that while the master branch is usually stable, it may still contain new checks or backwards incompatible changes that break your build. By using the master branch you agree to become a beta tester.

From: https://github.com/dominikh/go-tools?tab=readme-ov-file#master

@dominikh please reconsider providing binary assets. 🙏

nomad-software avatar Oct 14 '25 14:10 nomad-software

There will continue to be tagged releases, and I'm hoping to make a new release soon.

dominikh avatar Oct 14 '25 15:10 dominikh

For what it's worth, we would also like a go install-able release compatible with 1.25.

What would be involved in stewarding such a thing?

RulerOfTheQueendom avatar Nov 07 '25 18:11 RulerOfTheQueendom

@3052

its literally go build if you cant build it you might want to ask yourself some tough questions

From the documentation here: https://github.com/dominikh/go-tools?tab=readme-ov-file#master

You can also run the master branch instead of a release. Note that while the master branch is usually stable, it may still contain new checks or backwards incompatible changes that break your build. By using the master branch you agree to become a beta tester.

Using master is not really acceptable for production pipelines.

nomad-software avatar Nov 15 '25 09:11 nomad-software

Using master is not really acceptable for production pipelines.

are people really this dumb? jesus

https://github.com/dominikh/go-tools/archive/refs/tags/2025.1.1.zip

3052 avatar Nov 15 '25 09:11 3052

are people really this dumb? jesus

This is unacceptable behavior. Please refrain from insulting people.

dominikh avatar Nov 15 '25 13:11 dominikh

For what it's worth, we would also like a go install-able release compatible with 1.25.

What would be involved in stewarding such a thing?

@RulerOfTheQueendom Running go install honnef.co/go/tools/cmd/staticcheck@latest with Go 1.25 should suffice.

dominikh avatar Nov 15 '25 13:11 dominikh