// Copyright (C) 2024 Umorpha Systems // SPDX-License-Identifier: AGPL-3.0-or-later package main import ( "fmt" "io" "os" "git.mothstuff.lol/lukeshu/eclipse/lib/gitcache" "sigs.k8s.io/yaml" ) type GitTrigger struct { RepoURL string `json:"repo_url"` Rev string `json:"rev"` } func Resolve(trigger GitTrigger) (string, error) { return new(gitcache.Cache).RevParse(os.Stderr, trigger.RepoURL, trigger.Rev) } 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) } }