// Copyright 2025 The Gitea Authors. All rights reserved. // SPDX-License-Identifier: MIT package actions import ( stdctx "context" "fmt" "code.gitea.io/tea/cmd/flags" "code.gitea.io/tea/modules/api" "code.gitea.io/tea/modules/context" "code.gitea.io/tea/modules/print" "github.com/urfave/cli/v3" ) // CmdActionsRuns represents the actions runs command var CmdActionsRuns = cli.Command{ Name: "runs", Aliases: []string{"run"}, Usage: "List workflow runs", Description: "List workflow runs for a repository", Action: RunActionRuns, Flags: append([]cli.Flag{ &flags.PaginationPageFlag, &flags.PaginationLimitFlag, }, flags.AllDefaultFlags...), } // RunActionRuns lists workflow runs func RunActionRuns(ctx stdctx.Context, cmd *cli.Command) error { c := context.InitCommand(cmd) c.Ensure(context.CtxRequirement{RemoteRepo: true}) client := api.NewClient(c.Login) path := fmt.Sprintf("/repos/%s/%s/actions/runs?page=%d&limit=%d", c.Owner, c.Repo, flags.GetListOptions().Page, flags.GetListOptions().PageSize) var runs api.ActionRunList if _, err := client.Get(ctx, path, &runs); err != nil { return err } print.ActionRunsList(runs.WorkflowRuns, c.Output) return nil }