dive-zfs/cmd/ci.go
Alex Goodman e4ddfb411c
Expose CI validation options to the CLI (#212)
* expose ci config to cli switches; addresses #198

* added/updated tests for ci configuration
2019-07-26 10:27:00 -04:00

40 lines
694 B
Go

package cmd
import (
"bytes"
"fmt"
"io/ioutil"
"os"
"strconv"
"github.com/spf13/viper"
)
func configureCi() (bool, *viper.Viper, error) {
isCiFromEnv, _ := strconv.ParseBool(os.Getenv("CI"))
isCi = isCi || isCiFromEnv
if isCi {
ciConfig.SetConfigType("yaml")
if _, err := os.Stat(ciConfigFile); !os.IsNotExist(err) {
fmt.Printf(" Using CI config: %s\n", ciConfigFile)
fileBytes, err := ioutil.ReadFile(ciConfigFile)
if err != nil {
return isCi, nil, err
}
err = ciConfig.ReadConfig(bytes.NewBuffer(fileBytes))
if err != nil {
return isCi, nil, err
}
} else {
fmt.Println(" Using default CI config")
}
}
return isCi, ciConfig, nil
}