Tinkerbell.Sandbox/cmd/bump-version/image/image.go
Gianluca Arbezzano d6a057c89d 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>
2021-02-12 14:47:46 +01:00

25 lines
541 B
Go

package image
import "fmt"
var ErrCommitTooShort = fmt.Errorf("commit to short, it needs at least 8 characters")
type Image struct {
name string
}
// TagFromSha returns an image tag from a commit sha following the
// convention we have in Tinkerbell
// Commit: a7e947efc194fb0375f88cccc67f2fde5e0c85c1
// -> Tag: sha-a7e947ef
func TagFromSha(commit string) (string, error) {
if len(commit) < 8 {
return "", ErrCommitTooShort
}
return "sha-" + commit[0:8], nil
}
func NewImage(name string) *Image {
return &Image{name: name}
}