grim/convey

Add a .reviewboardrc file

2022-03-26, Gary Kramlich
8fea0c778f8e
Add a .reviewboardrc file
// Convey
// Copyright 2016-2018 Gary Kramlich <grim@reaperworld.com>
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with this program. If not, see <http://www.gnu.org/licenses/>.
package main
import (
"fmt"
"os"
"runtime/debug"
"github.com/alecthomas/kong"
"keep.imfreedom.org/grim/convey/consts"
"keep.imfreedom.org/grim/convey/globals"
"keep.imfreedom.org/grim/convey/runner"
)
type VersionCmd struct{}
func (c *VersionCmd) Run(g *globals.Globals) error {
fmt.Printf("convey %s\n", consts.Version)
if g.Verbose {
fmt.Printf("additional information...\n")
}
return nil
}
var cli struct {
globals.Globals
Run runner.RunnerCmd `kong:"cmd,help='Run plans'"`
Version VersionCmd `kong:"cmd,help='Show the version and exit'"`
}
func gomain() int {
ctx := kong.Parse(
&cli,
kong.Name("convey"),
kong.Description("Convey is a container pipeline runner."),
kong.UsageOnError(),
kong.ConfigureHelp(kong.HelpOptions{
Compact: true,
Summary: true,
}),
)
err := ctx.Run(&cli.Globals)
if err != nil {
fmt.Fprintf(os.Stderr, "error: %s\n", err)
return 1
}
return 0
}
func main() {
exitCode := 0
defer func() {
if r := recover(); r != nil {
fmt.Printf("panic: %s\n%s", r, debug.Stack())
}
os.Exit(exitCode)
}()
exitCode = gomain()
}