github-actions-validator
Compare original and translation side by side
🇺🇸
Original
English🇨🇳
Translation
ChineseGitHub Actions Validator
GitHub Actions 验证工具
Overview
概述
Validate and test GitHub Actions workflows, custom actions, and public actions using industry-standard tools (actionlint and act). This skill provides comprehensive validation including syntax checking, static analysis, local workflow execution testing, and action verification with version-aware documentation lookup.
使用行业标准工具(actionlint和act)验证和测试GitHub Actions工作流、自定义Action以及公共Action。该工具提供全面的验证功能,包括语法检查、静态分析、本地工作流执行测试,以及支持版本感知的文档查询来验证Action。
When to Use This Skill
适用场景
Use this skill when:
- Validating workflow files: Checking for syntax errors and best practices
.github/workflows/*.yml - Testing workflows locally: Running workflows with before pushing to GitHub
act - Debugging workflow failures: Identifying issues in workflow configuration
- Validating custom actions: Checking composite, Docker, or JavaScript actions
- Verifying public actions: Validating usage of actions from GitHub Marketplace
- Pre-commit validation: Ensuring workflows are valid before committing
在以下场景中使用该工具:
- 验证工作流文件:检查文件的语法错误和最佳实践
.github/workflows/*.yml - 本地测试工作流:推送到GitHub之前,使用运行工作流
act - 调试工作流失败问题:识别工作流配置中的问题
- 验证自定义Action:检查复合Action、Docker Action或JavaScript Action
- 验证公共Action:验证GitHub Marketplace中Action的使用情况
- 提交前验证:确保提交前工作流是有效的
CRITICAL: Assistant Workflow (MUST FOLLOW)
重要提示:助手工作流(必须遵循)
Every validation MUST follow these steps. Skipping any step is non-compliant.
所有验证必须遵循以下步骤,跳过任何步骤均不符合规范。
Step 1: Run Validation Script
步骤1:运行验证脚本
bash
cd .claude/skills/github-actions-validator
bash scripts/validate_workflow.sh <workflow-file-or-directory>bash
cd .claude/skills/github-actions-validator
bash scripts/validate_workflow.sh <workflow-file-or-directory>Step 2: For EACH Error - Consult Reference File
步骤2:针对每个错误 - 查阅参考文件
When actionlint or act reports ANY error, you MUST:
- Read the appropriate reference file (see mapping below)
- Find the matching error pattern
- Extract the fix/solution
当actionlint或act报告任何错误时,你必须:
- 阅读对应的参考文件(见下方映射表)
- 找到匹配的错误模式
- 提取修复方案
Step 3: Quote the Fix to User
步骤3:向用户提供修复方案
For each error, provide:
- Error message (from script output)
- Explanation (from reference file)
- Fix code (quoted from reference file)
- Corrected code (applied to user's workflow)
针对每个错误,需提供:
- 错误信息(来自脚本输出)
- 错误说明(来自参考文件)
- 修复代码(引用自参考文件)
- 修正后的代码(应用到用户的工作流中)
Step 4: Verify Public Actions (if present)
步骤4:验证公共Action(如果存在)
For any public actions ():
uses: owner/action@version- First check for known actions and versions
references/action_versions.md - Use web search for unknown actions:
"[action-name] [version] github action documentation" - Verify required inputs match
- Check for deprecation warnings
对于任何公共Action(格式:):
uses: owner/action@version- 首先查看,查找已知Action及其版本
references/action_versions.md - 使用网络搜索查询未知Action:
"[action-name] [version] github action documentation" - 验证必填输入是否匹配
- 检查是否有弃用警告
Step 5: Provide Complete Summary
步骤5:提供完整总结
After all errors are addressed:
- List all fixes applied
- Note any warnings
- Recommend best practices from
references/
解决所有错误后:
- 列出所有已应用的修复
- 记录任何警告信息
- 推荐目录中的最佳实践
references/
Error Type to Reference File Mapping
错误类型与参考文件映射表
| Error Pattern in Output | Reference File to Read | Section to Quote |
|---|---|---|
| | Runner labels |
| | Schedule Errors |
| | Expression Errors |
| | Job Configuration Errors |
| | Action Errors |
| | Script Injection section |
| | Syntax Errors |
| | Troubleshooting |
| | Version table |
| | Relevant section |
| | Path Filter Errors |
| 输出中的错误模式 | 需阅读的参考文件 | 需引用的章节 |
|---|---|---|
| | Runner标签 |
| | 调度错误 |
| | 表达式错误 |
| | 任务配置错误 |
| | Action错误 |
| | 脚本注入章节 |
| | 语法错误 |
| | 故障排除 |
| | 版本表 |
| | 相关章节 |
| | 路径过滤错误 |
Example: Complete Error Handling Workflow
示例:完整错误处理流程
User's workflow has this error:
runs-on: ubuntu-lastestStep 1 - Script output:
label "ubuntu-lastest" is unknownStep 2 - Read or :
Find the "Invalid Runner Label" section.
references/runners.mdreferences/common_errors.mdStep 3 - Quote the fix to user:
Error:label "ubuntu-lastest" is unknownCause: Typo in runner label (from):references/common_errors.mdyaml# Bad runs-on: ubuntu-lastest # TypoFix (from):references/common_errors.mdyaml# Good runs-on: ubuntu-latestValid runner labels (from):references/runners.md
,ubuntu-latest,ubuntu-24.04ubuntu-22.04 ,windows-latest,windows-2025windows-2022 ,macos-latest,macos-15macos-14
Step 4 - Provide corrected code:
yaml
runs-on: ubuntu-latest用户的工作流存在以下错误:
runs-on: ubuntu-lastest步骤1 - 脚本输出:
label "ubuntu-lastest" is unknown步骤2 - 阅读或:
找到“无效Runner标签”章节。
references/runners.mdreferences/common_errors.md步骤3 - 向用户提供修复方案:
错误:label "ubuntu-lastest" is unknown原因: Runner标签存在拼写错误(来自):references/common_errors.mdyaml# 错误写法 runs-on: ubuntu-lastest # 拼写错误修复方案(来自):references/common_errors.mdyaml# 正确写法 runs-on: ubuntu-latest有效Runner标签(来自):references/runners.md
,ubuntu-latest,ubuntu-24.04ubuntu-22.04 ,windows-latest,windows-2025windows-2022 ,macos-latest,macos-15macos-14
步骤4 - 提供修正后的代码:
yaml
runs-on: ubuntu-latestQuick Start
快速开始
Initial Setup
初始设置
bash
cd .claude/skills/github-actions-validator
bash scripts/install_tools.shThis installs act (local workflow execution) and actionlint (static analysis) to .
scripts/.tools/bash
cd .claude/skills/github-actions-validator
bash scripts/install_tools.sh该脚本会将act(本地工作流执行工具)和actionlint(静态分析工具)安装到目录。
scripts/.tools/Basic Validation
基础验证
bash
undefinedbash
undefinedValidate a single workflow
验证单个工作流
bash scripts/validate_workflow.sh .github/workflows/ci.yml
bash scripts/validate_workflow.sh .github/workflows/ci.yml
Validate all workflows
验证所有工作流
bash scripts/validate_workflow.sh .github/workflows/
bash scripts/validate_workflow.sh .github/workflows/
Lint-only (fastest)
仅检查语法(最快)
bash scripts/validate_workflow.sh --lint-only .github/workflows/ci.yml
bash scripts/validate_workflow.sh --lint-only .github/workflows/ci.yml
Test-only with act (requires Docker)
仅使用act测试(需要Docker)
bash scripts/validate_workflow.sh --test-only .github/workflows/
undefinedbash scripts/validate_workflow.sh --test-only .github/workflows/
undefinedCore Validation Workflow
核心验证流程
1. Static Analysis with actionlint
1. 使用actionlint进行静态分析
Start with static analysis to catch syntax errors and common issues:
bash
bash scripts/validate_workflow.sh --lint-only .github/workflows/ci.ymlWhat actionlint checks: YAML syntax, schema compliance, expression syntax, runner labels, action inputs/outputs, job dependencies, CRON syntax, glob patterns, shell scripts, security vulnerabilities.
首先通过静态分析捕获语法错误和常见问题:
bash
bash scripts/validate_workflow.sh --lint-only .github/workflows/ci.ymlactionlint检查内容: YAML语法、 schema合规性、表达式语法、Runner标签、Action输入/输出、任务依赖、CRON语法、glob模式、Shell脚本、安全漏洞。
2. Local Testing with act
2. 使用act进行本地测试
After passing static analysis, test workflow execution:
bash
bash scripts/validate_workflow.sh --test-only .github/workflows/Note: act has limitations - see .
references/act_usage.md通过静态分析后,测试工作流执行情况:
bash
bash scripts/validate_workflow.sh --test-only .github/workflows/注意: act存在局限性 - 详见。
references/act_usage.md3. Full Validation
3. 完整验证
bash
bash scripts/validate_workflow.sh .github/workflows/ci.ymlbash
bash scripts/validate_workflow.sh .github/workflows/ci.ymlValidating Resource Types
验证资源类型
Workflows
工作流
bash
undefinedbash
undefinedSingle workflow
单个工作流
bash scripts/validate_workflow.sh .github/workflows/ci.yml
bash scripts/validate_workflow.sh .github/workflows/ci.yml
All workflows
所有工作流
bash scripts/validate_workflow.sh .github/workflows/
**Key validation points:** triggers, job configurations, runner labels, environment variables, secrets, conditionals, matrix strategies.bash scripts/validate_workflow.sh .github/workflows/
**关键验证点:** 触发器、任务配置、Runner标签、环境变量、密钥、条件判断、矩阵策略。Custom Local Actions
自定义本地Action
Create a test workflow that uses the custom action, then validate:
bash
bash scripts/validate_workflow.sh .github/workflows/test-custom-action.yml创建一个使用该自定义Action的测试工作流,然后进行验证:
bash
bash scripts/validate_workflow.sh .github/workflows/test-custom-action.ymlPublic Actions
公共Action
When workflows use public actions (e.g., ):
actions/checkout@v6- Use web search to find action documentation
- Verify required inputs and version
- Check for deprecation warnings
- Run validation script
Search format:
"[action-name] [version] github action documentation"当工作流使用公共Action(例如)时:
actions/checkout@v6- 使用网络搜索查找Action文档
- 验证必填输入和版本
- 检查是否有弃用警告
- 运行验证脚本
搜索格式:
"[action-name] [version] github action documentation"Reference File Consultation Guide
参考文件查阅指南
MANDATORY Reference Consultation
必须查阅的参考文件
| Situation | Reference File | Action |
|---|---|---|
| actionlint reports ANY error | | Find matching error, quote solution |
| act fails with Docker error | | Check Troubleshooting section |
| act fails but workflow works on GitHub | | Read Limitations section |
| User asks about actionlint config | | Provide examples |
| User asks about act options | | Read Advanced Options |
| Security vulnerability detected | | Quote fix |
| Validating action versions | | Check version table |
| Using modern features | | Check syntax examples |
| Runner questions/errors | | Check labels and availability |
| 场景 | 参考文件 | 操作 |
|---|---|---|
| actionlint报告任何错误 | | 查找匹配错误,引用解决方案 |
| act因Docker错误失败 | | 查看故障排除章节 |
| act失败但GitHub上工作流正常运行 | | 查看局限性章节 |
| 用户询问actionlint配置 | | 提供示例 |
| 用户询问act选项 | | 查看高级选项 |
| 检测到安全漏洞 | | 引用修复方案 |
| 验证Action版本 | | 查看版本表 |
| 使用现代功能 | | 查看语法示例 |
| Runner相关问题/错误 | | 查看标签和可用性 |
Script Output to Reference Mapping
脚本输出与参考文件映射
| Output Category | Reference File |
|---|---|
| |
| |
| |
| |
| |
| |
| |
| 输出类别 | 参考文件 |
|---|---|
| |
| |
| |
| |
| |
| |
| |
Reference Files Summary
参考文件摘要
| File | Content |
|---|---|
| Act tool usage, commands, options, limitations, troubleshooting |
| Actionlint validation categories, configuration, integration |
| Common errors catalog with fixes |
| Current action versions, deprecation timeline, SHA pinning |
| Reusable workflows, SBOM, OIDC, environments, containers |
| GitHub-hosted runners (ARM64, GPU, M2 Pro, deprecations) |
| 文件 | 内容 |
|---|---|
| Act工具使用方法、命令、选项、局限性、故障排除 |
| Actionlint验证类别、配置、集成 |
| 常见错误目录及修复方案 |
| 当前Action版本、弃用时间线、SHA固定 |
| 可复用工作流、SBOM、OIDC、环境、容器 |
| GitHub托管的Runner(ARM64、GPU、M2 Pro、弃用信息) |
Troubleshooting
故障排除
| Issue | Solution |
|---|---|
| "Tools not found" | Run |
| "Docker daemon not running" | Start Docker or use |
| "Permission denied" | Run |
| act fails but GitHub works | See |
| 问题 | 解决方案 |
|---|---|
| "Tools not found" | 运行 |
| "Docker daemon not running" | 启动Docker或使用 |
| "Permission denied" | 运行 |
| act失败但GitHub上正常 | 查看 |
Debug Mode
调试模式
bash
actionlint -verbose .github/workflows/ci.yml # Verbose actionlint
act -v # Verbose act
act -n # Dry-run (no execution)bash
actionlint -verbose .github/workflows/ci.yml # 详细输出actionlint信息
act -v # 详细输出act信息
act -n # 空运行(不执行)Best Practices
最佳实践
- Always validate locally first - Catch errors before pushing
- Use actionlint in CI/CD - Automate validation in pipelines
- Pin action versions - Use not
@v6for stability; SHA pinning for security@main - Keep tools updated - Regularly update actionlint and act
- Use web search for unknown actions - Verify usage with documentation
- Check version compatibility - See
references/action_versions.md - Enable shellcheck - Catch shell script issues early
- Review security warnings - Address script injection issues
- 始终先在本地验证 - 推送前捕获错误
- 在CI/CD中使用actionlint - 在流水线中自动执行验证
- 固定Action版本 - 使用而非
@v6以保证稳定性;使用SHA固定版本提升安全性@main - 保持工具更新 - 定期更新actionlint和act
- 对未知Action使用网络搜索 - 查阅文档验证使用方法
- 检查版本兼容性 - 详见
references/action_versions.md - 启用shellcheck - 及早发现Shell脚本问题
- 查看安全警告 - 解决脚本注入问题
Limitations
局限性
- act limitations: Not all GitHub Actions features work locally
- Docker requirement: act requires Docker to be running
- Network actions: Some GitHub API actions may fail locally
- Private actions: Cannot validate without access
- Runtime behavior: Static analysis cannot catch all issues
- File location: act can only validate workflows in directory; files outside (like
.github/workflows/) can only be validated with actionlintexamples/
- act局限性:并非所有GitHub Actions功能都能在本地运行
- Docker依赖:act需要Docker处于运行状态
- 网络Action:部分GitHub API Action可能在本地运行失败
- 私有Action:无访问权限时无法验证
- 运行时行为:静态分析无法捕获所有问题
- 文件位置:act仅能验证目录中的工作流;该目录外的文件(如
.github/workflows/)仅能通过actionlint验证examples/
Quick Examples
快速示例
Example 1: Pre-commit Validation
示例1:提交前验证
bash
cd .claude/skills/github-actions-validator
bash scripts/validate_workflow.sh .github/workflows/
git add .github/workflows/ && git commit -m "Update workflows"bash
cd .claude/skills/github-actions-validator
bash scripts/validate_workflow.sh .github/workflows/
git add .github/workflows/ && git commit -m "Update workflows"Example 2: Debug Failing Workflow
示例2:调试失败的工作流
bash
bash scripts/validate_workflow.sh --lint-only .github/workflows/failing.ymlbash
bash scripts/validate_workflow.sh --lint-only .github/workflows/failing.ymlFix issues
修复问题
bash scripts/validate_workflow.sh .github/workflows/failing.yml
undefinedbash scripts/validate_workflow.sh .github/workflows/failing.yml
undefinedComplete Worked Example: Multi-Error Workflow
完整示例:多错误工作流修复
This example demonstrates the full assistant workflow for handling multiple errors.
本示例展示处理多个错误的完整助手流程。
User's Problematic Workflow
用户的问题工作流
yaml
name: Broken CI
on:
schedule:
- cron: '0 0 * * 8' # ERROR 1
jobs:
build:
runs-on: ubuntu-lastest # ERROR 2
steps:
- uses: actions/checkout@v3 # ERROR 3 (outdated)
- run: echo ${{ github.event.issue.title }} # ERROR 4 (security)
deploy:
needs: biuld # ERROR 5 (typo)
runs-on: ubuntu-latest
steps:
- run: echo "Deploying"yaml
name: Broken CI
on:
schedule:
- cron: '0 0 * * 8' # 错误1
jobs:
build:
runs-on: ubuntu-lastest # 错误2
steps:
- uses: actions/checkout@v3 # 错误3(版本过时)
- run: echo ${{ github.event.issue.title }} # 错误4(安全问题)
deploy:
needs: biuld # 错误5(拼写错误)
runs-on: ubuntu-latest
steps:
- run: echo "Deploying"Step 1: Run Validation
步骤1:运行验证
bash
bash scripts/validate_workflow.sh --lint-only workflow.ymlOutput:
[ERROR] invalid CRON format "0 0 * * 8"
[ERROR] label "ubuntu-lastest" is unknown
[WARN] "github.event.issue.title" is potentially untrusted
[ERROR] job "deploy" needs job "biuld" which does not existbash
bash scripts/validate_workflow.sh --lint-only workflow.yml输出:
[ERROR] invalid CRON format "0 0 * * 8"
[ERROR] label "ubuntu-lastest" is unknown
[WARN] "github.event.issue.title" is potentially untrusted
[ERROR] job "deploy" needs job "biuld" which does not existStep 2-3: Consult References and Quote Fixes
步骤2-3:查阅参考文件并提供修复方案
Error 1: Invalid CRON Expression
From - Schedule Errors:
references/common_errors.mdCause: Day of week 8 doesn't exist (valid: 0-6, where 0 = Sunday)yaml# Bad schedule: - cron: '0 0 * * 8' # Day 8 doesn't exist # Good schedule: - cron: '0 0 * * 0' # SundayCRON format:minute hour day month weekday
- Weekday: 0-6 (0 = Sunday)
Fix: Change to (Sunday) or for Monday-Saturday.
801-6Error 2: Invalid Runner Label
From - Job Configuration Errors and :
references/common_errors.mdreferences/runners.mdCause: Typo in runner labelyaml# Bad runs-on: ubuntu-lastest # Typo # Good runs-on: ubuntu-latestValid labels (from):references/runners.md
(Ubuntu 24.04)ubuntu-latest ,ubuntu-24.04ubuntu-22.04 (macOS 15)macos-latest (Windows Server 2022)windows-latest
Fix: Change to .
ubuntu-lastestubuntu-latestError 3: Outdated Action Version
From :
references/action_versions.md
Action Current Version Minimum Supported actions/checkoutv6 v4 SHA Pinning Best Practice:yaml# Recommended: SHA pinning with version comment - uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # v6.0.0
Fix: Update from to (or SHA-pinned version).
@v3@v6Error 4: Security Vulnerability (Script Injection)
From - Expression Errors:
references/common_errors.mdWarning: Potential script injection via untrusted inputyaml# Bad - vulnerable to injection run: echo ${{ github.event.issue.title }} # Good - use environment variables env: TITLE: ${{ github.event.issue.title }} run: echo "$TITLE"Why: Untrusted input (issue titles, PR bodies, commit messages) can contain malicious commands. Using environment variables sanitizes the input.
Fix: Pass untrusted input through environment variable.
Error 5: Undefined Job Dependency
From - Job Configuration Errors:
references/common_errors.mdError: Job 'deploy' depends on job 'biuld' which does not existyaml# Bad jobs: build: runs-on: ubuntu-latest deploy: needs: biuld # Typo # Good jobs: build: runs-on: ubuntu-latest deploy: needs: build
Fix: Change to .
biuldbuild错误1:无效CRON表达式
来自 - 调度错误:
references/common_errors.md原因: 星期值8不存在(有效值:0-6,其中0=周日)yaml# 错误写法 schedule: - cron: '0 0 * * 8' # 星期8不存在 # 正确写法 schedule: - cron: '0 0 * * 0' # 周日CRON格式:minute hour day month weekday
- 星期:0-6(0=周日)
修复: 将改为(周日)或(周一至周六)。
801-6错误2:无效Runner标签
来自 - 任务配置错误和:
references/common_errors.mdreferences/runners.md原因: Runner标签存在拼写错误yaml# 错误写法 runs-on: ubuntu-lastest # 拼写错误 # 正确写法 runs-on: ubuntu-latest有效标签(来自):references/runners.md
(Ubuntu 24.04)ubuntu-latest ,ubuntu-24.04ubuntu-22.04 (macOS 15)macos-latest (Windows Server 2022)windows-latest
修复: 将改为。
ubuntu-lastestubuntu-latest错误3:过时的Action版本
来自:
references/action_versions.md
Action 当前版本 最低支持版本 actions/checkoutv6 v4 SHA固定最佳实践:yaml# 推荐写法:SHA固定并添加版本注释 - uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # v6.0.0
修复: 从更新为(或SHA固定版本)。
@v3@v6错误4:安全漏洞(脚本注入)
来自 - 表达式错误:
references/common_errors.md警告: 不可信输入可能导致脚本注入yaml# 错误写法 - 存在注入风险 run: echo ${{ github.event.issue.title }} # 正确写法 - 使用环境变量 env: TITLE: ${{ github.event.issue.title }} run: echo "$TITLE"原因: 不可信输入(如Issue标题、PR内容、提交信息)可能包含恶意命令。使用环境变量可以对输入进行清理。
修复: 通过环境变量传递不可信输入。
错误5:未定义的任务依赖
来自 - 任务配置错误:
references/common_errors.md错误: 任务'deploy'依赖的任务'biuld'不存在yaml# 错误写法 jobs: build: runs-on: ubuntu-latest deploy: needs: biuld # 拼写错误 # 正确写法 jobs: build: runs-on: ubuntu-latest deploy: needs: build
修复: 将改为。
biuldbuildStep 4: Provide Corrected Workflow
步骤4:提供修正后的工作流
yaml
name: Fixed CI
on:
schedule:
- cron: '0 0 * * 0' # Fixed: Sunday (0-6 valid)
jobs:
build:
runs-on: ubuntu-latest # Fixed: typo corrected
steps:
- uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # v6.0.0 - Fixed: updated version
- name: Process issue
env:
TITLE: ${{ github.event.issue.title }} # Fixed: use env var
run: echo "$TITLE"
deploy:
needs: build # Fixed: typo corrected
runs-on: ubuntu-latest
steps:
- run: echo "Deploying"yaml
name: Fixed CI
on:
schedule:
- cron: '0 0 * * 0' # 已修复:周日(有效值0-6)
jobs:
build:
runs-on: ubuntu-latest # 已修复:修正拼写错误
steps:
- uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # v6.0.0 - 已修复:更新版本
- name: 处理Issue
env:
TITLE: ${{ github.event.issue.title }} # 已修复:使用环境变量
run: echo "$TITLE"
deploy:
needs: build # 已修复:修正拼写错误
runs-on: ubuntu-latest
steps:
- run: echo "Deploying"Step 5: Summary
步骤5:总结
| Error | Type | Fix Applied |
|---|---|---|
CRON | Schedule | Changed to |
| Runner | Changed to |
| Outdated Action | Updated to |
Direct | Security | Wrapped in environment variable |
| Job Dependency | Changed to |
Recommendations:
- Run regularly
bash scripts/validate_workflow.sh --check-versions - Use SHA pinning for all actions in production workflows
- Always pass untrusted input through environment variables
| 错误 | 类型 | 应用的修复 |
|---|---|---|
CRON | 调度 | 改为 |
| Runner | 改为 |
| 过时Action | 更新为 |
直接在run中使用 | 安全 | 封装为环境变量 |
| 任务依赖 | 改为 |
建议:
- 定期运行
bash scripts/validate_workflow.sh --check-versions - 在生产工作流中对所有Action使用SHA固定版本
- 始终通过环境变量传递不可信输入
Summary
总结
- Setup: Install tools with
install_tools.sh - Validate: Run on workflow files
validate_workflow.sh - Fix: Address issues using reference documentation
- Test: Verify locally with act (when possible)
- Search: Use web search to verify unknown actions
- Commit: Push validated workflows with confidence
For detailed information, consult the appropriate reference file in .
references/- 设置:使用安装工具
install_tools.sh - 验证:对工作流文件运行
validate_workflow.sh - 修复:使用参考文档解决问题
- 测试:尽可能使用act在本地验证
- 搜索:使用网络搜索验证未知Action
- 提交:放心推送已验证的工作流
如需详细信息,请查阅目录中的对应参考文件。
references/