fix #89 - support .actrc file
This commit is contained in:
parent
5b90c8a44d
commit
76a8bfc4fc
3 changed files with 36 additions and 1 deletions
1
.actrc
Normal file
1
.actrc
Normal file
|
@ -0,0 +1 @@
|
|||
-P ubuntu-latest=nektos/act-environments-ubuntu:18.04
|
2
Makefile
2
Makefile
|
@ -12,7 +12,7 @@ build:
|
|||
go build -ldflags "-X main.version=$(VERSION)" -o dist/local/act main.go
|
||||
|
||||
test:
|
||||
$(ACT) -P ubuntu-latest=nektos/act-environments-ubuntu:18.04
|
||||
$(ACT)
|
||||
|
||||
install: build
|
||||
@cp dist/local/act /usr/local/bin/act
|
||||
|
|
34
cmd/root.go
34
cmd/root.go
|
@ -1,9 +1,12 @@
|
|||
package cmd
|
||||
|
||||
import (
|
||||
"bufio"
|
||||
"context"
|
||||
"fmt"
|
||||
"os"
|
||||
"path/filepath"
|
||||
"strings"
|
||||
|
||||
"github.com/nektos/act/pkg/common"
|
||||
|
||||
|
@ -41,12 +44,43 @@ func Execute(ctx context.Context, version string) {
|
|||
rootCmd.PersistentFlags().BoolP("verbose", "v", false, "verbose output")
|
||||
rootCmd.PersistentFlags().BoolVarP(&input.noOutput, "quiet", "q", false, "disable logging of output from steps")
|
||||
rootCmd.PersistentFlags().BoolVarP(&input.dryrun, "dryrun", "n", false, "dryrun mode")
|
||||
rootCmd.SetArgs(args())
|
||||
if err := rootCmd.Execute(); err != nil {
|
||||
os.Exit(1)
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
func args() []string {
|
||||
args := make([]string, 0)
|
||||
for _, dir := range []string{
|
||||
os.Getenv("HOME"),
|
||||
".",
|
||||
} {
|
||||
args = append(args, readArgsFile(fmt.Sprintf("%s/.actrc", dir))...)
|
||||
}
|
||||
args = append(args, os.Args[1:]...)
|
||||
return args
|
||||
}
|
||||
|
||||
func readArgsFile(file string) []string {
|
||||
args := make([]string, 0)
|
||||
f, err := os.Open(file)
|
||||
if err != nil {
|
||||
return args
|
||||
}
|
||||
defer f.Close()
|
||||
scanner := bufio.NewScanner(f)
|
||||
for scanner.Scan() {
|
||||
arg := scanner.Text()
|
||||
if strings.HasPrefix(arg, "-") {
|
||||
args = append(args, strings.Fields(arg)...)
|
||||
}
|
||||
}
|
||||
return args
|
||||
|
||||
}
|
||||
|
||||
func setupLogging(cmd *cobra.Command, args []string) {
|
||||
verbose, _ := cmd.Flags().GetBool("verbose")
|
||||
if verbose {
|
||||
|
|
Loading…
Reference in a new issue