1
0
Fork 0
mirror of https://code.forgejo.org/forgejo/runner.git synced 2025-08-11 17:50:58 +00:00

properly parse arguments to Docker container steps (#539)

This commit is contained in:
Kamil Domański 2021-02-23 18:47:06 +01:00 committed by GitHub
parent 3e1f255c1d
commit 14dac1d57a

View file

@ -11,6 +11,7 @@ import (
"strings" "strings"
log "github.com/sirupsen/logrus" log "github.com/sirupsen/logrus"
"github.com/kballard/go-shellquote"
"github.com/nektos/act/pkg/common" "github.com/nektos/act/pkg/common"
"github.com/nektos/act/pkg/container" "github.com/nektos/act/pkg/container"
@ -241,7 +242,10 @@ func (sc *StepContext) runUsesContainer() common.Executor {
step := sc.Step step := sc.Step
return func(ctx context.Context) error { return func(ctx context.Context) error {
image := strings.TrimPrefix(step.Uses, "docker://") image := strings.TrimPrefix(step.Uses, "docker://")
cmd := strings.Fields(sc.RunContext.NewExpressionEvaluator().Interpolate(step.With["args"])) cmd, err := shellquote.Split(sc.RunContext.NewExpressionEvaluator().Interpolate(step.With["args"]))
if err != nil {
return err
}
entrypoint := strings.Fields(step.With["entrypoint"]) entrypoint := strings.Fields(step.With["entrypoint"])
stepContainer := sc.newStepContainer(ctx, image, cmd, entrypoint) stepContainer := sc.newStepContainer(ctx, image, cmd, entrypoint)
@ -355,7 +359,10 @@ func (sc *StepContext) runAction(actionDir string, actionPath string) common.Exe
}) })
} }
cmd := strings.Fields(step.With["args"]) cmd, err := shellquote.Split(step.With["args"])
if err != nil {
return err
}
if len(cmd) == 0 { if len(cmd) == 0 {
cmd = action.Runs.Args cmd = action.Runs.Args
} }