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 https://gitea.com/gsvd/act/commit/6cdf1e5788dbfa8fe9787a07178c28b64837a61f
```go
case string:
    acts[act] = []string{b}
```

Reviewed-on: https://gitea.com/gitea/act/pulls/129
Reviewed-by: Lunny Xiao <[email protected]>
Co-authored-by: Guillaume S. <[email protected]>
Co-committed-by: Guillaume S. <[email protected]>
This commit is contained in:
Guillaume S.
2025-02-26 06:19:02 +00:00
committed by Lunny Xiao
parent ec091ad269
commit 5da4954b65
2 changed files with 20 additions and 0 deletions
+7
View File
@@ -405,6 +405,13 @@ func ParseRawOn(rawOn *yaml.Node) ([]*Event, error) {
return nil, err
}
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:
if k != "workflow_dispatch" || act != "inputs" {
return nil, fmt.Errorf("map should only for workflow_dispatch but %s: %#v", act, content)
+13
View File
@@ -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]",
result: []*Event{