d6a057c89d
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>
31 lines
531 B
Go
31 lines
531 B
Go
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
|
|
}
|