mirror of
https://github.com/go-gitea/gitea.git
synced 2026-03-28 03:12:08 +00:00
This is a step towards potentially splitting command groups into their own folders to clean up `cmd/` as one folder for all cli commands. Returning fresh command instances will also aid in adding tests as you don't need to concern yourself with the whole command tree being one mutable variable. --------- Co-authored-by: wxiaoguang <wxiaoguang@gmail.com>
55 lines
1.2 KiB
Go
55 lines
1.2 KiB
Go
// Copyright 2023 The Gitea Authors. All rights reserved.
|
|
// SPDX-License-Identifier: MIT
|
|
|
|
package cmd
|
|
|
|
import (
|
|
"context"
|
|
"fmt"
|
|
|
|
"code.gitea.io/gitea/modules/private"
|
|
"code.gitea.io/gitea/modules/setting"
|
|
|
|
"github.com/urfave/cli/v3"
|
|
)
|
|
|
|
func newActionsCommand() *cli.Command {
|
|
return &cli.Command{
|
|
Name: "actions",
|
|
Usage: "Manage Gitea Actions",
|
|
Commands: []*cli.Command{
|
|
newActionsGenerateRunnerTokenCommand(),
|
|
},
|
|
}
|
|
}
|
|
|
|
func newActionsGenerateRunnerTokenCommand() *cli.Command {
|
|
return &cli.Command{
|
|
Name: "generate-runner-token",
|
|
Usage: "Generate a new token for a runner to use to register with the server",
|
|
Action: runGenerateActionsRunnerToken,
|
|
Aliases: []string{"grt"},
|
|
Flags: []cli.Flag{
|
|
&cli.StringFlag{
|
|
Name: "scope",
|
|
Aliases: []string{"s"},
|
|
Value: "",
|
|
Usage: "{owner}[/{repo}] - leave empty for a global runner",
|
|
},
|
|
},
|
|
}
|
|
}
|
|
|
|
func runGenerateActionsRunnerToken(ctx context.Context, c *cli.Command) error {
|
|
setting.MustInstalled()
|
|
|
|
scope := c.String("scope")
|
|
|
|
respText, extra := private.GenerateActionsRunnerToken(ctx, scope)
|
|
if extra.HasError() {
|
|
return handleCliResponseExtra(extra)
|
|
}
|
|
_, _ = fmt.Printf("%s\n", respText.Text)
|
|
return nil
|
|
}
|