diff --git a/src/engine/config.go b/src/engine/config.go index f6be03a2efef..cc52b8f367ea 100644 --- a/src/engine/config.go +++ b/src/engine/config.go @@ -133,12 +133,17 @@ func loadConfig(env platform.Environment) *Config { cfg.origin = configFile cfg.Format = strings.TrimPrefix(filepath.Ext(configFile), ".") cfg.env = env - if cfg.Format == "yml" { + + // support different extensions + switch cfg.Format { + case "yml": cfg.Format = YAML + case "jsonc": + cfg.Format = JSON } - config.AddDriver(yaml.Driver) - config.AddDriver(json.Driver) + config.AddDriver(yaml.Driver.WithAliases("yaml", "yml")) + config.AddDriver(json.Driver.WithAliases("json", "jsonc")) config.AddDriver(toml.Driver) if config.Default().IsEmpty() { diff --git a/src/platform/shell.go b/src/platform/shell.go index 599ade2d309d..627e9c93a073 100644 --- a/src/platform/shell.go +++ b/src/platform/shell.go @@ -632,9 +632,10 @@ func (env *Shell) Flags() *Flags { func (env *Shell) Shell() string { defer env.Trace(time.Now()) - if env.CmdFlags.Shell != "" { + if len(env.CmdFlags.Shell) != 0 { return env.CmdFlags.Shell } + env.Debug("no shell name provided in flags, trying to detect it") pid := os.Getppid() p, _ := process.NewProcess(int32(pid)) name, err := p.Name()