用途:帮助开发者编写和编辑 Expo 项目的 EAS CI/CD 工作流 YAML 文件,适用于用户询问 Expo 或 EAS 环境下的 CI/CD 与工作流相关问题。
主要能力:生成或修改工作流文件前,先抓取参考资料再操作。参考资料包括 JSON Schema(https://api.expo.dev/v2/workflows/schema,用于校验,包含任务类型及其必填/可选参数、触发类型与配置、运行器类型、VM 镜像和枚举)、语法文档(https://raw.githubusercontent.com/expo/expo/refs/heads/main/docs/pages/eas/workflows/syntax.mdx)和预打包任务文档(https://raw.githubusercontent.com/expo/expo/refs/heads/main/docs/pages/eas/workflows/pre-packaged-jobs.mdx)。抓取使用本技能 scripts/ 目录下的 Node.js 脚本并按 ETag 缓存: node {baseDir}/scripts/fetch.js <url>
工作流文件位于 .eas/workflows/.yml(或 .yaml)。顶层键包括 name(显示名)、on(触发,至少一个)、jobs(必填)、defaults(共享默认值)、concurrency(控制并行运行)。表达式使用 ${{ }} 语法,可用上下文包括 github.、inputs.、needs.、jobs.、steps.、workflow.*。
使用方式:生成或编辑时先抓取 schema,确认各任务类型必填字段、needs 与 after 引用存在、表达式引用有效上下文与输出、if 条件符合 schema 长度约束。生成后校验: [ -d "{baseDir}/scripts/node_modules" ] || npm install --prefix {baseDir}/scripts node {baseDir}/scripts/validate.js <workflow.yml> [workflow2.yml ...] 校验器会抓取最新 schema 并检查 YAML 结构,需修复所有报错。回答可用选项(任务类型、触发、运行器类型等)时,应从 schema 推导,而非依赖记忆。
限制:资料未提供具体收费、价格、支持平台或效果信息。不要依赖记忆中的值,相关资源会随新功能变化,应实时抓取。