{"repo":"bwplotka/bingo","free":true,"listed":false,"github":"https://github.com/bwplotka/bingo","clone":"git clone https://github.com/bwplotka/bingo.git","description":"Like `go get` but for Go tools! CI Automating versioning of Go binaries in a nested, isolated Go modules.","language":"Go","stars":393,"topics":["golang","go","gomodules","modules","versioning","packages","pin","thanos","reproducibility"],"license":"Apache-2.0","category":"workflow-automation","readme_excerpt":"bingo go get like, simple CLI that allows automated versioning of Go package level binaries (e.g required as dev tools by your project!) built on top of Go Modules, allowing reproducible dev environments. Features From our experience all repositories and projects require some tools and binaries to be present on the machine to be able to perform various development operations like building, formatting, releasing or static analysis. For smooth development all such tools should be pinned to a certain version and bounded to the code commits there were meant to be used against. Go modules does not aim to solve this problem, and even if they will do at some point it will not be on the package level, which makes it impossible to e.g pin minor version X.Y.0 of package module1/cmd/abc and version X.Z.0 of module1/cmd/def . At the end bingo , has following features: It allows maintaining separate, hidden, nested Go modules for Go buildable packages you need without obfuscating your own module or worrying with tool's cross dependencies ! Package level versioning, which allows versioning different (or the same!) package multiple times from a single module in different versions. Works also for non-Go projects. It only requires the tools to be written in Go. No need to install bingo in order to use pinned tools. This avoids the \"chicken & egg\" problem. You only need go build . Easy upgrade, downgrade, addition, and removal of the needed binary's version, with no risk of dependency conflict","default_branch":null,"files":null,"tree":[],"storefront":"/r/bwplotka","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/bwplotka/bingo/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}