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:
parent
3e1f255c1d
commit
14dac1d57a
1 changed files with 9 additions and 2 deletions
|
@ -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
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue