act/cmd/input.go

50 lines
931 B
Go
Raw Normal View History

2020-02-04 18:38:41 -06:00
package cmd
import (
"log"
"path/filepath"
)
// Input contains the input for the root command
type Input struct {
workdir string
2020-02-04 18:38:41 -06:00
workflowsPath string
eventPath string
reuseContainers bool
2020-02-24 19:48:21 -06:00
bindWorkdir bool
secrets []string
platforms []string
2020-02-04 18:38:41 -06:00
dryrun bool
forcePull bool
noOutput bool
2020-02-04 18:38:41 -06:00
}
func (i *Input) resolve(path string) string {
basedir, err := filepath.Abs(i.workdir)
2020-02-04 18:38:41 -06:00
if err != nil {
log.Fatal(err)
}
if path == "" {
return path
}
if !filepath.IsAbs(path) {
path = filepath.Join(basedir, path)
}
return path
}
// Workdir returns path to workdir
func (i *Input) Workdir() string {
return i.resolve(".")
}
2020-02-04 18:38:41 -06:00
// WorkflowsPath returns path to workflows
func (i *Input) WorkflowsPath() string {
return i.resolve(i.workflowsPath)
}
// EventPath returns the path to events file
func (i *Input) EventPath() string {
return i.resolve(i.eventPath)
}