buoy
Given a go.mod file and a version, what are the versions this dependency should use?
Installation
buoy
can be installed and upgraded by running:
go get github.com/n3wscott/buoy
Usage
Usage:
buoy [command]
Available Commands:
float Find latest versions of dependencies based on a release.
help Help about any command
Flags:
-h, --help help for buoy
Use "buoy [command] --help" for more information about a command.
Float
Usage:
buoy float go.mod [flags]
Flags:
-d, --domain string domain filter (default "knative.dev")
-h, --help help for float
-r, --release string release should be '<major>.<minor>' (i.e.: 1.23 or v1.23) [required]
Example:
$ buoy $HOME/go/src/knative.dev/eventing-github/go.mod v0.15
knative.dev/eventing@v0.15.4
knative.dev/pkg@release-0.15
knative.dev/serving@v0.15.3
knative.dev/test-infra@release-0.15
Or set the domain to and target release of that dependency:
$ buoy float go.mod --release 0.18 --domain k8s.io
k8s.io/api@v0.18.10
k8s.io/apiextensions-apiserver@v0.18.10
k8s.io/apimachinery@v0.18.10
k8s.io/client-go@v0.18.10
k8s.io/code-generator@v0.18.10
k8s.io/gengo@master
k8s.io/klog@master
Note: the following are equivalent releases:
Float Rules
Buoy will select a ref
for a found dependency, in this order:
- a release tag, ex:
v0.1.2
- a release branch, ex:
release-0.1
- the default branch
TODO:
- Support
go-import
with more than one import on a single page.
- Support release branch templates. For now, hardcoded to Knative style.