mirror of
https://code.forgejo.org/forgejo/runner.git
synced 2024-11-24 05:38:10 +03:00
Add support for workflow inputs
This is a somewhat "hacky" way; it copies the inputs from the "event" object's "inputs" field when the event is a "workflow_dispatch". But this way we do not need to change the protobuf powered runner protocol to also include the inputs. Espc. since they're also present inside the event anyway.
This commit is contained in:
parent
0bacffa87e
commit
f3861e60fc
1 changed files with 8 additions and 0 deletions
|
@ -187,6 +187,13 @@ func (r *Runner) run(ctx context.Context, task *runnerv1.Task, reporter *report.
|
|||
maxLifetime = time.Until(deadline)
|
||||
}
|
||||
|
||||
var inputs map[string]string
|
||||
if preset.EventName == "workflow_dispatch" {
|
||||
if inputsRaw, ok := preset.Event["inputs"]; ok {
|
||||
inputs, _ = inputsRaw.(map[string]string)
|
||||
}
|
||||
}
|
||||
|
||||
runnerConfig := &runner.Config{
|
||||
// On Linux, Workdir will be like "/<parent_directory>/<owner>/<repo>"
|
||||
// On Windows, Workdir will be like "\<parent_directory>\<owner>\<repo>"
|
||||
|
@ -218,6 +225,7 @@ func (r *Runner) run(ctx context.Context, task *runnerv1.Task, reporter *report.
|
|||
Vars: task.Vars,
|
||||
ValidVolumes: r.cfg.Container.ValidVolumes,
|
||||
InsecureSkipTLS: r.cfg.Runner.Insecure,
|
||||
Inputs: inputs,
|
||||
}
|
||||
|
||||
rr, err := runner.New(runnerConfig)
|
||||
|
|
Loading…
Reference in a new issue