From 0671d1669490c18bdc7e28c24830a5bec3ce1648 Mon Sep 17 00:00:00 2001
From: Zettat123 <zettat123@noreply.gitea.io>
Date: Thu, 9 Mar 2023 22:51:58 +0800
Subject: [PATCH] Fix missing `ActionRunsUsingGo` (#20)

- Allow `using: "go"` when unmarshalling YAML.
- Add `ActionRunsUsingGo` to returned errors.

Co-authored-by: Zettat123 <zettat123@gmail.com>
Reviewed-on: https://gitea.com/gitea/act/pulls/20
Reviewed-by: Lunny Xiao <xiaolunwen@gmail.com>
Co-authored-by: Zettat123 <zettat123@noreply.gitea.io>
Co-committed-by: Zettat123 <zettat123@noreply.gitea.io>
---
 pkg/model/action.go  | 3 ++-
 pkg/runner/action.go | 1 +
 2 files changed, 3 insertions(+), 1 deletion(-)

diff --git a/pkg/model/action.go b/pkg/model/action.go
index c7d95b0..2afd9fa 100644
--- a/pkg/model/action.go
+++ b/pkg/model/action.go
@@ -20,7 +20,7 @@ func (a *ActionRunsUsing) UnmarshalYAML(unmarshal func(interface{}) error) error
 	// Force input to lowercase for case insensitive comparison
 	format := ActionRunsUsing(strings.ToLower(using))
 	switch format {
-	case ActionRunsUsingNode16, ActionRunsUsingNode12, ActionRunsUsingDocker, ActionRunsUsingComposite:
+	case ActionRunsUsingNode16, ActionRunsUsingNode12, ActionRunsUsingDocker, ActionRunsUsingComposite, ActionRunsUsingGo:
 		*a = format
 	default:
 		return fmt.Errorf(fmt.Sprintf("The runs.using key in action.yml must be one of: %v, got %s", []string{
@@ -28,6 +28,7 @@ func (a *ActionRunsUsing) UnmarshalYAML(unmarshal func(interface{}) error) error
 			ActionRunsUsingDocker,
 			ActionRunsUsingNode12,
 			ActionRunsUsingNode16,
+			ActionRunsUsingGo,
 		}, format))
 	}
 	return nil
diff --git a/pkg/runner/action.go b/pkg/runner/action.go
index 4f6f15a..79342cd 100644
--- a/pkg/runner/action.go
+++ b/pkg/runner/action.go
@@ -182,6 +182,7 @@ func runActionImpl(step actionStep, actionDir string, remoteAction *remoteAction
 				model.ActionRunsUsingNode12,
 				model.ActionRunsUsingNode16,
 				model.ActionRunsUsingComposite,
+				model.ActionRunsUsingGo,
 			}, action.Runs.Using))
 		}
 	}