Skip to content

Releases: bwplotka/bingo

v0.3.1

02 Feb 21:41
cbca02b
Compare
Choose a tag to compare
  • Fixed support for tools with names that have capital letters.

v0.3.0

13 Jan 21:37
6215c99
Compare
Choose a tag to compare

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

27 Dec 12:16
036cc06
Compare
Choose a tag to compare
  • Improved env variables
  • Removed -i option from build which was not needed.
  • Avoid vendor mode when installing via Makefile

v0.2.3

26 Jun 18:14
ff616a6
Compare
Choose a tag to compare

Fixed

  • Fixed Go version checker.
  • Fixed case with installing latest binary version, when binary was not installed before.

v0.2.2

10 Jun 10:19
Compare
Choose a tag to compare

Fixed

  • #25 Fixed support of bingo get for arrays.
  • Fixed versioning binaries with +incompatible version (wrong templating used).
  • Fixed support bingo list for arrays.
  • Added rename / clone logic
  • Always print to stdout no matter of verbose level.

v0.2.1

04 Jun 14:22
dd430b5
Compare
Choose a tag to compare

###Fixed

  • Fixed extra whitespace in variables.env.

v0.2.0

04 Jun 13:40
58d9239
Compare
Choose a tag to compare

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 generate include to avoid many corner cases. It's now documented how to add include in the documentation.

v0.1.1

03 Jun 16:36
5ce7ef3
Compare
Choose a tag to compare

v0.1.1 - 2020.06.03

Fixed

`Error: get command failed: 0: getting : go get -d: go: cannot find main module, but -modfile was set.
	-modfile cannot be used to set the module root directory.

v0.1.0

30 May 21:45
9ce5a71
Compare
Choose a tag to compare

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

10 May 11:54
ea8cf86
Compare
Choose a tag to compare
v0.1.0-rc.4 Pre-release
Pre-release
Small fixes for resilency. (#8)

Signed-off-by: Bartlomiej Plotka <[email protected]>