New tool to bump current_versions.sh automatically
This commit contains a new utility that helps to automate a version bump for sandbox. You can run this command to get the vibe of what it does. ``` $ go run cmd/bump-version/main.go -help ``` In order to try it out you can run this command form sandbox root. By default it won't overwrite anything. It will print to stdout a new version of the current_versions.sh file where all the images are calculate cloning the various repositories ``` $ go run cmd/bump-version/main.go ``` If you want to overwrite the current_versions file you can use the flag `-overwrite`. More will come but for now, that's the PoC. Ideally this can be hooked to CI/CD and run periodically, opening a PR that can be evaluated and merged. Signed-off-by: Gianluca Arbezzano <gianarb92@gmail.com>
This commit is contained in:
30
cmd/bump-version/git/git.go
Normal file
30
cmd/bump-version/git/git.go
Normal file
@ -0,0 +1,30 @@
|
||||
package git
|
||||
|
||||
import (
|
||||
g "github.com/go-git/go-git/v5"
|
||||
"github.com/go-git/go-git/v5/storage/memory"
|
||||
)
|
||||
|
||||
type Repository struct {
|
||||
repo *g.Repository
|
||||
}
|
||||
|
||||
func Clone(remote string) (*Repository, error) {
|
||||
repo := &Repository{}
|
||||
r, err := g.Clone(memory.NewStorage(), nil, &g.CloneOptions{
|
||||
URL: remote,
|
||||
})
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
repo.repo = r
|
||||
return repo, nil
|
||||
}
|
||||
|
||||
func (r *Repository) GetHeadHash() (string, error) {
|
||||
ref, err := r.repo.Head()
|
||||
if err != nil {
|
||||
return "", err
|
||||
}
|
||||
return ref.Hash().String(), nil
|
||||
}
|
Reference in New Issue
Block a user