squadron/internal/template/git.go
Kevin Franklin Kim 4b88ffbd15
feat: bump linter
2025-10-10 11:54:31 +02:00

30 lines
611 B
Go

package template
import (
"bytes"
"context"
"os/exec"
)
func git(ctx context.Context) func(action string) (string, error) {
return func(action string) (string, error) {
cmd := exec.CommandContext(ctx, "git")
switch action {
case "commitsha":
cmd.Args = append(cmd.Args, "rev-list", "-1", "HEAD")
case "abbrevcommitsha":
cmd.Args = append(cmd.Args, "rev-list", "-1", "HEAD", "--abbrev-commit")
default:
cmd.Args = append(cmd.Args, "describe", "--tags", "--always")
}
res, err := cmd.Output()
if err != nil {
return "", err
}
return string(bytes.TrimSpace(res)), nil
}
}