2024-01-11 00:13:14 +00:00
|
|
|
// Copyright (C) 2024 Umorpha Systems
|
|
|
|
// SPDX-License-Identifier: AGPL-3.0-or-later
|
|
|
|
|
|
|
|
package main
|
|
|
|
|
|
|
|
import (
|
|
|
|
"fmt"
|
|
|
|
"io"
|
|
|
|
"os"
|
2024-01-11 17:59:26 +00:00
|
|
|
|
2024-01-11 20:45:23 +00:00
|
|
|
"git.mothstuff.lol/lukeshu/eclipse/lib/gitcache"
|
2024-01-11 00:13:14 +00:00
|
|
|
|
|
|
|
"sigs.k8s.io/yaml"
|
|
|
|
)
|
|
|
|
|
|
|
|
type GitTrigger struct {
|
|
|
|
RepoURL string `json:"repo_url"`
|
|
|
|
Rev string `json:"rev"`
|
|
|
|
}
|
|
|
|
|
|
|
|
func Resolve(trigger GitTrigger) (string, error) {
|
2024-01-11 20:45:23 +00:00
|
|
|
return new(gitcache.Cache).RevParse(trigger.RepoURL, trigger.Rev)
|
2024-01-11 00:13:14 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
func mainWithErr() error {
|
|
|
|
cfgBytes, err := io.ReadAll(os.Stdin)
|
|
|
|
if err != nil {
|
|
|
|
return err
|
|
|
|
}
|
|
|
|
var cfgObj GitTrigger
|
|
|
|
if err := yaml.UnmarshalStrict(cfgBytes, &cfgObj); err != nil {
|
|
|
|
return err
|
|
|
|
}
|
|
|
|
out, err := Resolve(cfgObj)
|
|
|
|
if err != nil {
|
|
|
|
return err
|
|
|
|
}
|
|
|
|
fmt.Println(out)
|
|
|
|
return nil
|
|
|
|
}
|
|
|
|
|
|
|
|
func main() {
|
|
|
|
if err := mainWithErr(); err != nil {
|
|
|
|
fmt.Fprintf(os.Stderr, "%s: error: %v\n", os.Args[0], err)
|
|
|
|
os.Exit(1)
|
|
|
|
}
|
|
|
|
}
|