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
|
go build -ldflags "-X main.version=$(VERSION)" -o dist/local/act main.go
|
||||||
|
|
||||||
test:
|
test:
|
||||||
$(ACT) -P ubuntu-latest=nektos/act-environments-ubuntu:18.04
|
$(ACT)
|
||||||
|
|
||||||
install: build
|
install: build
|
||||||
@cp dist/local/act /usr/local/bin/act
|
@cp dist/local/act /usr/local/bin/act
|
||||||
|
|
34
cmd/root.go
34
cmd/root.go
|
@ -1,9 +1,12 @@
|
||||||
package cmd
|
package cmd
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
"bufio"
|
||||||
"context"
|
"context"
|
||||||
|
"fmt"
|
||||||
"os"
|
"os"
|
||||||
"path/filepath"
|
"path/filepath"
|
||||||
|
"strings"
|
||||||
|
|
||||||
"github.com/nektos/act/pkg/common"
|
"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().BoolP("verbose", "v", false, "verbose output")
|
||||||
rootCmd.PersistentFlags().BoolVarP(&input.noOutput, "quiet", "q", false, "disable logging of output from steps")
|
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.PersistentFlags().BoolVarP(&input.dryrun, "dryrun", "n", false, "dryrun mode")
|
||||||
|
rootCmd.SetArgs(args())
|
||||||
if err := rootCmd.Execute(); err != nil {
|
if err := rootCmd.Execute(); err != nil {
|
||||||
os.Exit(1)
|
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) {
|
func setupLogging(cmd *cobra.Command, args []string) {
|
||||||
verbose, _ := cmd.Flags().GetBool("verbose")
|
verbose, _ := cmd.Flags().GetBool("verbose")
|
||||||
if verbose {
|
if verbose {
|
||||||
|
|
Loading…
Reference in a new issue