mirror of
https://gitea.com/gitea/runner.git
synced 2026-11-06 07:10:28 +00:00
Add needs job output (#629)
* Add outputs field to job model * Add output interpolation for jobs * Add otto config reference for interpolated job output values into 'needs' context * Add output interpolation call after job has completed. * gofmt * Remove whitespace * goimports Co-authored-by: Casey Lee <[email protected]>
This commit is contained in:
1 parent
1cf422e411
commit
dcbd5837af
5 files changed
+76
-1
No files matched your search
@@ -229,6 +229,7 @@ func (rc *RunContext) newVM() *otto.Otto {
|
||||
rc.vmStrategy(),
|
||||
rc.vmMatrix(),
|
||||
rc.vmEnv(),
|
||||
rc.vmNeeds(),
|
||||
}
|
||||
vm := otto.New()
|
||||
for _, configer := range configers {
|
||||
@@ -415,6 +416,23 @@ func (sc *StepContext) vmInputs() func(*otto.Otto) {
|
||||
}
|
||||
}
|
||||
|
||||
func (rc *RunContext) vmNeeds() func(*otto.Otto) {
|
||||
jobs := rc.Run.Workflow.Jobs
|
||||
jobNeeds := rc.Run.Job().Needs()
|
||||
|
||||
using := make(map[string]map[string]map[string]string)
|
||||
for _, needs := range jobNeeds {
|
||||
using[needs] = map[string]map[string]string{
|
||||
"outputs": jobs[needs].Outputs,
|
||||
}
|
||||
}
|
||||
|
||||
return func(vm *otto.Otto) {
|
||||
log.Debugf("context needs => %v", using)
|
||||
_ = vm.Set("needs", using)
|
||||
}
|
||||
}
|
||||
|
||||
func (rc *RunContext) vmJob() func(*otto.Otto) {
|
||||
job := rc.getJobContext()
|
||||
|
||||
|
||||
Reference in new issue
Block a user