mirror of https://code.forgejo.org/forgejo/runner
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.pull/199/head
parent
0bacffa87e
commit
f3861e60fc
|
@ -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 New Issue