#github-actions #workflow #run #command-line #command-line-tool #details #utility

app github-action-runner

使用 Rust 编写的与 GitHub Actions 一起工作的命令行工具

14 个稳定版本

1.0.62 2024 年 5 月 5 日
1.0.61 2024 年 1 月 19 日
1.0.58 2023 年 12 月 11 日
1.0.54 2023 年 12 月 9 日
1.0.51 2023 年 12 月 7 日

#142测试

Download history 150/week @ 2024-05-04 3/week @ 2024-05-11 3/week @ 2024-05-18 1/week @ 2024-05-25 3/week @ 2024-06-08 1/week @ 2024-06-15 150/week @ 2024-07-27

150 每月下载量

MIT 许可证

1.5MB
475

Crates.io GitHub issues GitHub license

GitHub Actions Runner

img

描述

gar (GitHub Actions Runner) 是一个使用 Rust 编写的与 GitHub Actions 一起工作的命令行工具。它允许您直接从命令行运行 GitHub Actions 工作流。

安装

您可以从 GitHub 上的 发布页面 下载预编译的二进制文件。选择与您的操作系统和架构匹配的版本。

如果您想从源代码编译该项目,请按照以下步骤操作

git clone https://github.com/s00d/github-action-runner.git
cd gar
cargo build --release

这将创建一个位于 target/release 目录中的可执行文件 gar

crates.io

在安装 github-action-runner 包之前,您需要安装 Rust。Rust 是构建此包的编程语言。以下是安装 Rust 的步骤

  1. 打开终端或命令提示符。

  2. 访问 https://www.rust-lang.net.cn/ 上的官方 Rust 网站。

  3. 按照网站上的说明为您的操作系统下载和安装 Rust。

  4. 安装完成后,通过在终端中运行以下命令来验证 Rust 是否正确安装

rustc --version

您可以使用 cargo 工具安装 github-action-runner 包。请确保您已安装 Rust 编译器和 cargo 工具。

  1. 打开终端或命令提示符。

  2. 运行以下命令安装包

cargo install github-action-runner

用法

准备

在使用 gar 工具之前,您需要获取一个 GitHub 令牌。这可以在 GitHub 账户设置中完成。令牌应具有以下权限:

  • 读取 codemetadata
  • 读取和写入 actionsadministrationworkflows

将令牌保存在项目根目录下的 .github_token 文件中,或将它设置为环境变量 GAR_TOKEN

工具首先会查找 GAR_TOKEN 环境变量。如果没有找到,它将接着查找 .github_token 文件。如果都没有找到,它将提示您手动输入令牌。

运行工作流程

要运行工作流程,只需执行 gar 文件。工具会根据本地 Git 仓库中的 origin 远程仓库自动确定所有者和仓库名称。然后,它会提示您从仓库中可用的列表中选择要运行的工作流程。

全局使用

要使 gar 可在全球范围内使用,您可以将其移动到 PATH 目录中。

Linux

sudo mv gar /usr/local/bin/
chmod +x /usr/local/bin/gar

macOS

sudo mv gar /usr/local/bin/
chmod +x /usr/local/bin/gar
xattr -cr /usr/local/bin/gar

Windows

  1. 在控制面板中打开 "系统"。
  2. 点击 "高级系统设置"。
  3. “高级”选项卡 > “环境变量”。
  4. 在“系统变量”部分,选择“Path” > “编辑”。
  5. “新建” > 输入 gar 可执行文件所在目录的路径。
  6. 现在您可以从命令行任何地方运行 gar。

现在您可以从命令行任何地方运行 gar

参数

参数 短名称 描述 默认值
--ref -r 将要运行动作的仓库分支的名称。 当前 Git 分支的名称
--owner -o 动作所在的仓库的所有者。 当前 Git 仓库的所有者
--repo -p 动作所在的仓库名称。 当前 Git 仓库的名称
--token -t 用于身份验证的令牌。如果未提供,将使用 GAR_TOKEN 环境变量。
--inputs -i 触发动作的事件的名称。 空字符串

请注意,所有参数都是可选的,如果没有提供,将使用默认值。

gar --ref <branch-name>
gar --owner <owner-name> --repo <repository-name>
gar --token <personal-access-token>
gar --inputs <input-name1>=<value1>,<input-name2>=<value2>

命令:History

gar history 命令提供了所选工作流程运行的历史记录。以下是如何使用它的示例:

$ gar history

运行此命令时,它将首先提示您从仓库中选择一个工作流程。选择工作流程后,它将获取并以表格格式显示所选工作流程的最后 10 次运行。

以下是输出可能的样子:

ID         Branch   Status   Conclusion   Created At              Updated At              Url
123456789  main     completed success      2023-04-12T23:05:34Z   2023-04-12T23:06:00Z   https://github.com/owner/repo/actions/runs/123456789
987654321  feature  completed failure      2023-04-12T22:05:34Z   2023-04-12T22:06:00Z   https://github.com/owner/repo/actions/runs/987654321
...

表中的每一行代表工作流程的单次运行。列提供以下信息:

  • ID:运行的唯一标识符。
  • Branch:触发运行的分支。
  • Status:运行的状况(例如,completedin_progressqueued)。
  • 结论:如果运行已完成,则表示运行结果(例如,成功失败)。如果运行尚未完成,则此字段将显示 N/A
  • 创建于:运行创建的时间。
  • 更新于:上次更新运行的时间。
  • URL:您可以在GitHub上查看运行的URL。

命令: details

details 命令显示GitHub Actions工作流运行的详细信息。

语法

gar details

描述

details 命令允许您查看GitHub Actions工作流运行的详细信息,包括运行ID、名称、显示标题、URL、状态、结论、分支、创建时间戳和更新时间戳等信息。此外,它还会检索并显示与运行相关的日志。

此命令提供了特定工作流运行的全面概述,使您能够分析其执行并解决可能发生的任何问题。

示例

gar details

帮助

有关可用的命令和选项的更多信息,您可以参阅包文档或在终端中运行github-action-runner --help。

操作示例

https://github.com/s00d/github-action-runner/blob/main/.github/workflows/runner.yml

Linux依赖

gcc-multilib g++-multilib pkg-config libssl-dev libasound2-dev

许可证

gar 根据MIT许可证分发。有关详细信息,请参阅 LICENSE 文件。

依赖关系

~25–64MB
~1M SLoC