Fixing github build

This commit is contained in:
Mike Farah 2022-01-27 15:54:26 +11:00
parent 01b4917f26
commit dedd1ca892
4 changed files with 12 additions and 4 deletions

View File

@ -1,7 +1,5 @@
#!/bin/bash
set -eo pipefail
setUp() {
rm test*.yml || true
cat >test.yml <<EOL

View File

@ -136,7 +136,7 @@ func evaluateAll(cmd *cobra.Command, args []string) (cmdError error) {
case 1:
if nullInput {
err = yqlib.NewStreamEvaluator().EvaluateNew(processExpression(args[0]), printer, "")
} else if pipingStdIn && args[0] != "-" {
} else if pipingStdIn && args[0] != "-" && !maybeFile(args[0]) {
// must have given a single expression and piping input from stdin
err = allAtOnceEvaluator.EvaluateFiles(processExpression(args[0]), []string{"-"}, printer, leadingContentPreProcessing, decoder)

View File

@ -155,7 +155,7 @@ func evaluateSequence(cmd *cobra.Command, args []string) (cmdError error) {
case 1:
if nullInput {
err = streamEvaluator.EvaluateNew(processExpression(args[0]), printer, "")
} else if pipingStdIn && args[0] != "-" {
} else if pipingStdIn && args[0] != "-" && !maybeFile(args[0]) {
// must have given a single expression and piping input from stdin
err = streamEvaluator.EvaluateFiles(processExpression(args[0]), []string{"-"}, printer, leadingContentPreProcessing, decoder)
} else {

View File

@ -91,3 +91,13 @@ func configureEncoder(format yqlib.PrinterOutputFormat) yqlib.Encoder {
}
panic("invalid encoder")
}
// this is a hack to enable backwards compatibility with githubactions (which pipe /dev/null into everything)
// and being able to call yq with the filename as a single parameter
//
// without this - yq detects there is stdin (thanks githubactions),
// then tries to parse the filename as an expression
func maybeFile(str string) bool {
_, err := os.Stat(str) // #nosec
return err == nil
}