main: add support for github actions

Fixes #48

now with logic to detect GITHUB_SHA env variable, let's do a run without
the `-range` flag so that path lights up.

Signed-off-by: Vincent Batts <vbatts@hashbangbash.com>
This commit is contained in:
Vincent Batts 2021-05-13 07:58:24 -04:00
parent 5fd8690c87
commit 59392066c4
No known key found for this signature in database
GPG Key ID: 524F155275DF0C3E
2 changed files with 6 additions and 0 deletions

View File

@ -34,4 +34,5 @@ jobs:
go vet -x ./...
go build -v .
go test -v ./...
./git-validation -run DCO,short-subject,dangling-whitespace -v
./git-validation -run DCO,short-subject,dangling-whitespace -v -range ${GITHUB_SHA}..HEAD

View File

@ -22,6 +22,7 @@ var (
flDebug = flag.Bool("D", false, "debug output")
flQuiet = flag.Bool("q", false, "less output")
flDir = flag.String("d", ".", "git directory to validate from")
flNoGithub = flag.Bool("no-github", false, "disables Github Actions environment checks (when env GITHUB_ACTIONS=true is set)")
flNoTravis = flag.Bool("no-travis", false, "disables travis environment checks (when env TRAVIS=true is set)")
flTravisPROnly = flag.Bool("travis-pr-only", true, "when on travis, only run validations if the CI-Build is checking pull-request build")
)
@ -73,6 +74,10 @@ func main() {
commitRange = os.Getenv("TRAVIS_COMMIT")
}
}
// https://docs.github.com/en/actions/reference/environment-variables
if strings.ToLower(os.Getenv("GITHUB_ACTIONS")) == "true" && !*flNoGithub {
commitRange = fmt.Sprintf("%s..%s", os.Getenv("GITHUB_SHA"), "HEAD")
}
}
runner, err := validate.NewRunner(*flDir, rules, commitRange, *flVerbose)