mcpField
E
expo-cicd-workflows-v55

expo-cicd-workflows-v55

github.com/blockmatic云与 DevOps1221 次安装4 周前更新
代码仓库

关于 expo-cicd-workflows-v55

EAS Workflows Skill 帮助开发者编写和修改 EAS CI/CD 工作流 YAML 文件。它要求先查阅最新 Schema 和文档,再用 EAS CLI 验证更改。

主要功能

  1. 01生成和编辑工作流 YAML
  2. 02获取最新工作流 Schema
  3. 03检查作业依赖与表达式
  4. 04使用 EAS CLI 验证文件

适用场景

  1. 01为 Expo 项目创建工作流
  2. 02修改作业参数或触发条件
  3. 03检查工作流表达式和依赖
  4. 04验证已更改的工作流文件

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/blockmatic/basilic-skills --skill expo-cicd-workflows-v55

安装后在 Claude Code 中输入/expo-cicd-workflows-v55确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

agents/
openai.yaml
scripts/
fetch.js
package.json

详细介绍

EAS 工作流技能

EAS 服务会产生费用。 EAS Workflows 在 Expo Application Services 上运行,这是一款有免费套餐限制的付费产品。每个工作流任务都会消耗套餐中的构建/计算分钟数;构建或提交的任务还需要付费的 Apple Developer 和 Google Play 账号。触发运行前,请查看 https://expo.dev/pricing。

帮助开发者编写和编辑 EAS CI/CD 工作流 YAML 文件。

参考文档

在生成或编辑工作流文件前,或回答语法问题时,请先获取以下资源。首先解析此技能的目录,然后使用其 scripts/ 目录中的获取脚本。该脚本使用 Node.js 实现,并通过 ETag 缓存响应以提高效率:

# Fetch resources
node <skill-dir>/scripts/fetch.js <url>
  1. JSON Schema — https://api.expo.dev/v2/workflows/schema

    • 必须获取此 schema
    • 工作流 YAML 结构的权威来源;EAS CLI 仍是最终验证的权威工具
    • 所有任务类型及其必需/可选参数
    • 触发器类型和配置
    • 运行器类型、虚拟机映像和所有枚举值
  2. 语法文档 — https://raw.githubusercontent.com/expo/expo/refs/heads/main/docs/pages/eas/workflows/syntax.mdx

    • 工作流 YAML 语法概览
    • 示例和英文说明
    • 表达式语法和上下文
  3. 预打包任务 — https://raw.githubusercontent.com/expo/expo/refs/heads/main/docs/pages/eas/workflows/pre-packaged-jobs.mdx

    • 受支持的预打包任务类型文档
    • 特定任务的参数和输出

不要依赖记忆中的取值;随着新功能的添加,这些资源会不断更新。

工作流文件位置

工作流文件位于 .eas/workflows/*.yml(或 .yaml)中。每个文件不得超过 16 KiB。

顶层结构

工作流文件包含以下顶层键:

  • name — 工作流的显示名称
  • on — 启动工作流的触发器(至少需要一个)
  • jobs — 任务定义(必需)
  • defaults — 所有任务共享的默认值
  • concurrency — 控制并行运行的工作流

请查阅 schema,了解各部分的完整规范。

表达式

使用 ${{ }} 语法获取动态值。schema 定义了可用的上下文:

  • github.* — GitHub 仓库和事件信息
  • inputs.* — workflow_dispatch 输入的值
  • needs.* — 依赖任务的输出和状态
  • jobs.* — 任务输出(替代语法)
  • steps.* — 自定义任务中的步骤输出
  • workflow.* — 工作流元数据

生成工作流

生成或编辑工作流时:

  1. 获取 schema,以了解当前的任务类型、参数和允许值
  2. 验证每种任务类型都包含必需字段
  3. 验证 needs 和 after 中引用的任务存在于工作流中
  4. 检查表达式是否引用了有效的上下文和输出
  5. 确保 if 条件符合 schema 的长度限制

验证

生成或编辑工作流文件后,请在 Expo 项目根目录下使用 EAS CLI 进行验证:

npx -y eas-cli@latest workflow:validate .eas/workflows/<workflow.yml> --non-interactive

对每个已更改的工作流文件分别运行此命令。此操作需要已登录的 EAS CLI 会话,并且项目已关联 Expo 项目。与仅基于 schema 的验证不同,此命令还会根据项目的 eas.json 检查构建配置文件引用,并执行 EAS 服务端验证。修复所有报告的错误,并重新运行命令,直到其输出 Workflow configuration YAML is valid.。不要用本地 YAML 或 JSON Schema 验证器替代此命令。

回答问题

用户询问可用选项(任务类型、触发器、运行器类型等)时,请获取 schema 并据此作答,而不是依赖可能已过时的信息。

提交反馈

如果你在此技能中发现错误、误导性信息或过时信息,请报告,以便 Expo 改进:

npx --yes submit-expo-feedback@latest --category skills --subject "eas-workflows" "<actionable feedback>"

仅在有具体且可执行的内容需要报告时提交。请尽可能提供相关背景信息。 如果 AI Agent 反复失败,或用户不得不接手 Expo 任务,请加载 expo-skill-feedback 技能,并按照其 eval-candidate 流程操作,而不要重复使用上面的命令。

评论

支持 Markdown