#github-actions #github #action

gha-runner

在本地或自定义后端运行Github Actions工作流程

2个不稳定版本

0.2.0 2024年5月6日
0.1.0 2021年11月24日

#137 in 测试

Download history 131/week @ 2024-05-03 12/week @ 2024-05-10 28/week @ 2024-05-17 8/week @ 2024-05-24 1/week @ 2024-06-07 1/week @ 2024-06-14 1/week @ 2024-06-28 4/week @ 2024-07-05

83 每月下载量

自定义许可

98KB
2.5K SLoC

gha-runner 运行Github Actions工作流程。您可以在本地运行工作流程,也可以通过自定义后端扩展 gha-runner 以在其他地方运行工作流程(例如,Pernosco 使用 gha-runnerECS 中运行Github Actions工作流程)。您还可以自定义工作流程的执行,例如使用各种工具包装工作流程步骤的执行。

入门

git clone https://github.com/Pernosco/gha-runner
cd gha-runner
cargo build --examples
target/debug/examples/gha_local --image-path ghcr.io/catthehacker/ubuntu:act Pernosco github-actions-test 6475d0f048a72996e3bd559cdd3763f53fe3d072 .github/workflows/build.yml "Build+test (stable, ubuntu-18.04)"

第一次运行此程序时,将下载1GB的Docker镜像 ghcr.io/catthehacker/ubuntu:act-18.04;在慢速连接上可能需要一些时间。

状态

支持非常简单的工作流程。许多Github Actions功能尚未支持,例如:

  • 使用自己的容器执行的操作步骤
  • 大部分的 表达式语法
  • 预/后操作
  • 运行自己的Docker命令的工作流程

欢迎PR!

工作流程的度量

为了展示此功能,gha_local 示例有一个 --strace 选项,它会在 strace 下运行操作步骤。

target/debug/examples/gha_local --strace /tmp/strace.out --image-path ghcr.io/catthehacker/ubuntu:js Pernosco github-actions-test 6475d0f048a72996e3bd559cdd3763f53fe3d072 .github/workflows/build.yml "Build+test (stable, ubuntu-18.04)"

依赖关系

~19–32MB
~546K SLoC