Skip to content

GitHub Action ParserGitHub Actions Go 库

轻松解析、验证和处理 GitHub Action YAML 文件

GitHub Action Parser

快速开始

安装库:

bash
go get github.com/scagogogo/github-action-parser

解析 action 文件:

go
package main

import (
    "fmt"
    "github.com/scagogogo/github-action-parser/pkg/parser"
)

func main() {
    action, err := parser.ParseFile("action.yml")
    if err != nil {
        panic(err)
    }
    
    fmt.Printf("Action: %s\n", action.Name)
    fmt.Printf("描述: %s\n", action.Description)
}

支持的 GitHub Action 功能

  • Action 元数据:名称、描述、作者信息
  • 输入参数:带验证要求和默认值
  • 输出参数:带描述和值
  • Docker Actions:基于容器的 actions
  • JavaScript Actions:Node.js 16/20 actions
  • 复合 Actions:多步骤复合 actions
  • 工作流作业:作业定义和依赖关系
  • 工作流触发器:基于事件的触发器
  • 可重用工作流:带参数的可调用工作流
  • 密钥处理:可重用工作流密钥处理

为什么选择 GitHub Action Parser?

  • 类型安全:为所有 GitHub Action 结构提供完整的 Go 类型定义
  • 功能全面:支持所有 GitHub Action 和 Workflow 功能
  • 经过验证:根据 GitHub 规范内置验证
  • 测试充分:98.9% 测试覆盖率,全面的测试套件
  • 易于使用:简单的 API,清晰的文档和示例
  • 高性能:针对高效解析大量文件进行优化

基于 MIT 许可证发布。