Inject version when building and report version to Gitea via log and header (#43)

close #42
1. Inject runner version when `make build`
After building, executing command line: `./act_runner -v` or `./act_runner --version`, the version of runner is printed.
![image](/attachments/e25efbd3-79b3-49a5-b93f-42646d42c707)

2. In `Actions` UI:
![image](/attachments/36c57470-2a1d-4796-9eb0-de3988ab88e1)

3. Set request header in http client interceptor.

Co-authored-by: sillyguodong <gedong_1994@163.com>
Reviewed-on: https://gitea.com/gitea/act_runner/pulls/43
Reviewed-by: delvh <dev.lh@web.de>
Reviewed-by: Jason Song <i@wolfogre.com>
Co-authored-by: sillyguodong <sillyguodong@noreply.gitea.io>
Co-committed-by: sillyguodong <sillyguodong@noreply.gitea.io>
This commit is contained in:
sillyguodong
2023-03-13 18:57:35 +08:00
committed by Jason Song
parent ebcf341de7
commit 0d71463662
9 changed files with 24 additions and 13 deletions

View File

@ -10,7 +10,8 @@ import (
"github.com/spf13/cobra"
)
const version = "0.1.5"
// the version of act_runner
var version = "develop"
type globalArgs struct {
EnvFile string
@ -23,7 +24,7 @@ func Execute(ctx context.Context) {
// ./act_runner
rootCmd := &cobra.Command{
Use: "act [event name to run]\nIf no event name passed, will default to \"on: push\"",
Use: "act_runner [event name to run]\nIf no event name passed, will default to \"on: push\"",
Short: "Run GitHub actions locally by specifying the event name (e.g. `push`) or an action name directly.",
Args: cobra.MaximumNArgs(1),
Version: version,

View File

@ -66,6 +66,7 @@ func runDaemon(ctx context.Context, envFile string) func(cmd *cobra.Command, arg
cfg.Client.Insecure,
cfg.Runner.UUID,
cfg.Runner.Token,
version,
)
runner := &runtime.Runner{
@ -74,6 +75,7 @@ func runDaemon(ctx context.Context, envFile string) func(cmd *cobra.Command, arg
ForgeInstance: cfg.Client.Address,
Environ: cfg.Runner.Environ,
Labels: cfg.Runner.Labels,
Version: version,
CacheHandler: handler,
}

View File

@ -274,7 +274,9 @@ func doRegister(cfg *config.Config, inputs *registerInputs) error {
cli := client.New(
inputs.InstanceAddr,
inputs.Insecure,
"", "",
"",
"",
version,
)
for {