fix handle missing yaml.ScalarNode (#129)
This bug was reported on https://github.com/go-gitea/gitea/issues/33657
Rewrite of (see below) was missing in this commit 6cdf1e5788
```go
case string:
acts[act] = []string{b}
```
Reviewed-on: https://gitea.com/gitea/act/pulls/129
Reviewed-by: Lunny Xiao <xiaolunwen@gmail.com>
Co-authored-by: Guillaume S. <me@gsvd.dev>
Co-committed-by: Guillaume S. <me@gsvd.dev>
This commit is contained in:
@@ -405,6 +405,13 @@ func ParseRawOn(rawOn *yaml.Node) ([]*Event, error) {
|
|||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
acts[act] = t
|
acts[act] = t
|
||||||
|
case yaml.ScalarNode:
|
||||||
|
var t string
|
||||||
|
err := content.Decode(&t)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
acts[act] = []string{t}
|
||||||
case yaml.MappingNode:
|
case yaml.MappingNode:
|
||||||
if k != "workflow_dispatch" || act != "inputs" {
|
if k != "workflow_dispatch" || act != "inputs" {
|
||||||
return nil, fmt.Errorf("map should only for workflow_dispatch but %s: %#v", act, content)
|
return nil, fmt.Errorf("map should only for workflow_dispatch but %s: %#v", act, content)
|
||||||
|
|||||||
@@ -58,6 +58,19 @@ func TestParseRawOn(t *testing.T) {
|
|||||||
},
|
},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
input: "on:\n push:\n branches: main",
|
||||||
|
result: []*Event{
|
||||||
|
{
|
||||||
|
Name: "push",
|
||||||
|
acts: map[string][]string{
|
||||||
|
"branches": {
|
||||||
|
"main",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
{
|
{
|
||||||
input: "on:\n branch_protection_rule:\n types: [created, deleted]",
|
input: "on:\n branch_protection_rule:\n types: [created, deleted]",
|
||||||
result: []*Event{
|
result: []*Event{
|
||||||
|
|||||||
Reference in New Issue
Block a user