Gelio / go-global-update

A command to update globally installed go executables
MIT License
134 stars 4 forks source link

Option to rebuild when go version is upgraded #22

Closed thejan2009 closed 1 month ago

thejan2009 commented 1 month ago

Hey, this is a great tool and I use it often to keep some linters and text editor tooling up to date.

I'm wondering if it would be worth adding a flag to force rebuilding (all) installed binaries when the system go toolchain is updated. Because sometimes (security) issues in go stdlib or runtime are discovered and the only way to fix that is to rebuild a program using the latest toolchain.

Gelio commented 1 month ago

Hey there, thanks for your suggestion!

That seems like a useful feature to have. We could use a --force flag (with a -f short variant) to force rebuilding the packages.

The most important line to change is https://github.com/Gelio/go-global-update/blob/222911414320754c187dcc362fa4ef1ebc44292f/internal/updater/updater.go#L136

Probably we should also update the introspection summary with information that the binaries are going to be force-rebuilt

https://github.com/Gelio/go-global-update/blob/222911414320754c187dcc362fa4ef1ebc44292f/internal/updater/updater.go#L89-L117

I encourage anyone to contribute this via a PR. I will also add it to my to-do list and complete it when I have a moment

Gelio commented 1 month ago

I have added a new --force flag (alias: -f) that accomplishes what you ask for. It is released in https://github.com/Gelio/go-global-update/releases/tag/v0.2.4