feat(workflows): inject step inputs into env; update returns workflow

This commit is contained in:
2026-07-20 14:37:36 +01:00
parent 05cd8e154b
commit f141767fc2
2 changed files with 20 additions and 1 deletions
@@ -86,6 +86,16 @@ func resolveSteps(wf *models.Workflow) ([]models.ResolvedStep, error) {
if err != nil {
return nil, err
}
inputs := map[string]string{}
for _, p := range lib.DeclaredInputs {
if ref.Inputs != nil {
if v, ok := ref.Inputs[p.Name]; ok {
inputs[p.Name] = v
continue
}
}
inputs[p.Name] = p.Default
}
rs := models.ResolvedStep{
Order: ref.Order,
Name: lib.Name,
@@ -94,6 +104,7 @@ func resolveSteps(wf *models.Workflow) ([]models.ResolvedStep, error) {
SecretRefs: lib.SecretRefs,
OnFailure: ref.OnFailure,
MaxRetries: ref.MaxRetries,
Inputs: inputs,
}
if ref.Overrides != nil {
if ref.Overrides.Script != nil {
@@ -174,6 +185,9 @@ func runServer(runID string, srvIdx int, steps []models.ResolvedStep, serverID s
allSecrets[k] = v
}
cmdEnv := map[string]string{}
for k, v := range step.Inputs {
cmdEnv[k] = v
}
for k, v := range runEnv {
cmdEnv[k] = v
}