Skip to content

yuanyuanyuan/codex-father

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

GitHub Actions 工作流配置

本目录包含项目的CI/CD配置,支持主项目和MCP子包的独立发布流程。

📁 文件结构

.github/
├── workflows/              # GitHub Actions工作流
│   ├── ci.yml             # 主测试套件
│   ├── release.yml        # 主项目发布流程
│   ├── mcp-release.yml    # MCP子包手动发布流程
│   ├── annotate-tag.yml   # 标签注释工作流
│   ├── test-*.yml         # 各种测试工作流
│   └── checklist-*.yml    # 清单同步工作流
├── CI_RELEASE_GUIDE.md    # CI/CD发布详细指南
└── README.md              # 本文件

🚀 主要工作流

1. 测试工作流 (ci.yml)

  • 触发: Push到main/develop分支、Pull Request、每日定时
  • 功能: 完整的测试套件(单元测试、集成测试、E2E测试、性能测试、安全扫描)
  • Node版本: 18.x, 20.x
  • 操作系统: Ubuntu, Windows, macOS

2. 主项目发布 (release.yml)

  • 触发: Git标签推送(v*格式)或手动触发
  • 功能: 发布主项目 codex-father 到NPM和GitHub Release
  • 版本管理: 手动版本管理(基于Git标签)

3. MCP子包发布 (mcp-release.yml)

  • 触发: 仅手动触发
  • 功能: 发布MCP子包 @starkdev020/codex-father-mcp-server
  • 发布模式:
    • preflight: 预检查模式
    • dry-run: 预演模式
    • local: 本地发布模式
    • tag-only: 仅创建标签模式

4. 标签注释 (annotate-tag.yml)

  • 触发: 手动触发
  • 功能: 为现有Git标签添加发布说明注释
  • 支持: 主项目标签(v*)和MCP标签(mcp-v*)

📋 发布流程对比

特性 主项目发布 MCP子包发布
触发方式 Git标签推送/手动 仅手动
版本格式 vX.Y.Z mcp-vX.Y.Z
包名 codex-father @starkdev020/codex-father-mcp-server
自动化程度 高(标签触发) 低(手动控制)
发布控制 基于Git标签 基于工作流输入

🔧 环境变量

必需的Repository Secrets

  • NPM_TOKEN: NPM包发布认证令牌

权限要求

  • contents: write: 创建GitHub Release和Git操作
  • pull-requests: write: 更新PR状态(MCP发布)

📚 文档

🛠️ 本地开发

运行测试

npm test                    # 运行所有测试
npm run test:unit          # 单元测试
npm run test:integration   # 集成测试
npm run test:e2e          # E2E测试

发布前检查

npm run release:mcp:preflight    # MCP预检查
npm run release:mcp:dry-run 3.2.1  # MCP预演模式

🔄 迁移说明

本项目已从semantic-release自动化版本管理迁移到手动版本管理:

之前(semantic-release)

  • 自动版本号生成
  • 基于commit消息自动生成CHANGELOG
  • 自动发布到NPM和GitHub

现在(手动版本管理)

  • 手动指定版本号
  • 手动创建Git标签
  • 手动触发发布流程
  • 更精确的发布控制

主要变更

  1. 移除了semantic-release相关配置
  2. 新增独立的MCP发布工作流
  3. 更新了主项目发布流程以支持手动版本管理
  4. 增强了发布验证和错误处理

🚨 注意事项

  1. 版本号格式: 必须使用语义化版本格式 X.Y.Z
  2. 发布顺序: 先发布主项目,再发布MCP子包(如有依赖关系)
  3. 环境配置: 确保在GitHub仓库中正确配置 NPM_TOKEN
  4. 测试验证: 发布前建议先运行预检查和预演模式
  5. 文档更新: 发布后及时更新相关文档

📞 支持

如有问题或建议,请:

  1. 查看工作流执行日志
  2. 参考 CI发布指南
  3. 创建GitHub Issue或Discussion

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 5