Add With
field to jobparser.Job
(#37)
Partially Fixes [gitea/act_runner#91 comment](https://gitea.com/gitea/act_runner/issues/91#issuecomment-734544)
nektos/act has added `With` to support reusable workflows (see [code](68c72b9a51/pkg/model/workflow.go (L160)
))
GitHub actions also support [`jobs.<job_id>.with`](https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#jobsjob_idwith)
Reviewed-on: https://gitea.com/gitea/act/pulls/37
Reviewed-by: Lunny Xiao <xiaolunwen@gmail.com>
Co-authored-by: Zettat123 <zettat123@gmail.com>
Co-committed-by: Zettat123 <zettat123@gmail.com>
This commit is contained in:
parent
5e76853b55
commit
cfedc518ca
4 changed files with 39 additions and 0 deletions
|
@ -32,6 +32,11 @@ func TestParse(t *testing.T) {
|
||||||
options: nil,
|
options: nil,
|
||||||
wantErr: false,
|
wantErr: false,
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
name: "has_with",
|
||||||
|
options: nil,
|
||||||
|
wantErr: false,
|
||||||
|
},
|
||||||
}
|
}
|
||||||
for _, tt := range tests {
|
for _, tt := range tests {
|
||||||
t.Run(tt.name, func(t *testing.T) {
|
t.Run(tt.name, func(t *testing.T) {
|
||||||
|
|
|
@ -87,6 +87,7 @@ type Job struct {
|
||||||
Defaults Defaults `yaml:"defaults,omitempty"`
|
Defaults Defaults `yaml:"defaults,omitempty"`
|
||||||
Outputs map[string]string `yaml:"outputs,omitempty"`
|
Outputs map[string]string `yaml:"outputs,omitempty"`
|
||||||
Uses string `yaml:"uses,omitempty"`
|
Uses string `yaml:"uses,omitempty"`
|
||||||
|
With map[string]interface{} `yaml:"with,omitempty"`
|
||||||
}
|
}
|
||||||
|
|
||||||
func (j *Job) Clone() *Job {
|
func (j *Job) Clone() *Job {
|
||||||
|
@ -107,6 +108,7 @@ func (j *Job) Clone() *Job {
|
||||||
Defaults: j.Defaults,
|
Defaults: j.Defaults,
|
||||||
Outputs: j.Outputs,
|
Outputs: j.Outputs,
|
||||||
Uses: j.Uses,
|
Uses: j.Uses,
|
||||||
|
With: j.With,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
15
pkg/jobparser/testdata/has_with.in.yaml
vendored
Normal file
15
pkg/jobparser/testdata/has_with.in.yaml
vendored
Normal file
|
@ -0,0 +1,15 @@
|
||||||
|
name: test
|
||||||
|
jobs:
|
||||||
|
job1:
|
||||||
|
name: job1
|
||||||
|
runs-on: linux
|
||||||
|
uses: .gitea/workflows/build.yml
|
||||||
|
with:
|
||||||
|
package: service
|
||||||
|
|
||||||
|
job2:
|
||||||
|
name: job2
|
||||||
|
runs-on: linux
|
||||||
|
uses: .gitea/workflows/build.yml
|
||||||
|
with:
|
||||||
|
package: module
|
17
pkg/jobparser/testdata/has_with.out.yaml
vendored
Normal file
17
pkg/jobparser/testdata/has_with.out.yaml
vendored
Normal file
|
@ -0,0 +1,17 @@
|
||||||
|
name: test
|
||||||
|
jobs:
|
||||||
|
job1:
|
||||||
|
name: job1
|
||||||
|
runs-on: linux
|
||||||
|
uses: .gitea/workflows/build.yml
|
||||||
|
with:
|
||||||
|
package: service
|
||||||
|
---
|
||||||
|
name: test
|
||||||
|
jobs:
|
||||||
|
job2:
|
||||||
|
name: job2
|
||||||
|
runs-on: linux
|
||||||
|
uses: .gitea/workflows/build.yml
|
||||||
|
with:
|
||||||
|
package: module
|
Loading…
Reference in a new issue