Releases: bwplotka/bingo
v0.3.1
v0.3.0
Huge release! Overhaul of really anything within the same API ❤️
How to upgrade or install?
Same as before:
go get -u github.com/bwplotka/bingo
or (better) bingo get -l github.com/bwplotka/[email protected]
Highlights
New feature added transparently: bingo get
now works super smooth even with huge projects with many replace
statements in their go.mod
.
Have you ever dreamed to pin command from bigger project like... thanos
? I was. Can you even install it using Go tooling? Let's try:
go get github.com/thanos-io/thanos/cmd/[email protected]
# Output: go: cannot use path@version syntax in GOPATH mode
Ups you cannot use this in non-Go project at all... (: Let's create setup go mod and retry:
go mod init _
# Output: go: creating new go.mod: module
go get github.com/thanos-io/thanos/cmd/[email protected]
# go get github.com/thanos-io/thanos/cmd/[email protected]
# go: downloading github.com/thanos-io/thanos v0.17.2
# go: found github.com/thanos-io/thanos/cmd/thanos in github.com/thanos-io/thanos v0.17.2
# go get: github.com/thanos-io/[email protected] requires
# github.com/cortexproject/[email protected] requires
# github.com/thanos-io/[email protected] requires
# github.com/cortexproject/[email protected] requires
# github.com/thanos-io/[email protected] requires
# github.com/cortexproject/[email protected] requires
# github.com/thanos-io/[email protected] requires
# github.com/cortexproject/[email protected] requires
# github.com/thanos-io/[email protected] requires
# github.com/cortexproject/[email protected] requires
# github.com/prometheus/[email protected] requires
# github.com/prometheus/[email protected] requires
# k8s.io/[email protected]+incompatible: reading https://proxy.golang.org/k8s.io/client-go/@v/v12.0.0+incompatible.mod: 410 Gone
# server response: not found: k8s.io/[email protected]+incompatible: invalid version: +incompatible suffix not allowed: module contains a go.mod file, so semantic import versioning is required
The reasoning is complex but TL;DR: Go Modules are just sometimes hard to be properly used for some projects. This is why bigger projects like Kubernetes
, Prometheus
or Thanos
has to use replace
statement. To make this go get
work we would need to manually craft replace
statements in our own go mod
file. But what if we don't want to do that or don't know how or simply we want to install pinned version of Thanos locally without having Go project? Just use bingo:
bingo get github.com/thanos-io/thanos/cmd/[email protected]
${GOBIN}/thanos-v0.17.2 --help
CHANGELOG
Added
-l
flag which also creates a soft link to the currently pinned tool under non versioned binary name.- Support easier path changing upgrades of tools with the same name.
- Automatic download of
replace
entries for the pinned version of the tool. This is very often required by big projects to fight with deps hell (Go Modules are hard). Add// bingo:no_replace_fetch
comment anywhere in tool mod file if you want to not autogenerate
replace commands.
Fixed
- Simplified and fixed -u cases.
- Fixed various invalid cases for -r and -n options.
- Extended capabilities of verbose mode.
v0.2.4
v0.2.3
v0.2.2
v0.2.1
v0.2.0
Changed
- Added
.variables.env
file to bingo moddir for easy export of all environment variables to the current shell. Removed-m
and-makefile
flags.
Bingo now always creates makefile and env file and never generateinclude
to avoid many corner cases. It's now documented how to addinclude
in the documentation.
v0.1.1
v0.1.0
Initial release.
Why 0.1.0? Well, because we plan to release 1.0 once we introduce this tool to Thanos and go-grpc-middleware as the final test (:
After having this usage stable for a bit, and we are sure flags will not change, we can claim 1.0.
See full CHANGELOG here: https://github.com/bwplotka/bingo/blob/master/CHANGELOG.md
v0.1.0-rc.4
Small fixes for resilency. (#8) Signed-off-by: Bartlomiej Plotka <[email protected]>