test-github-cicd

🎉 状态徽章和自动Release功能说明

✅ 已完成的配置

1. README状态徽章

../README.md 顶部添加了以下徽章:

2. 自动Release功能

当代码推送到 main 分支时,CI/CD工作流会:

  1. ✅ 在3个平台(Linux、macOS、Windows)上构建和测试
  2. 📦 下载所有平台的构建产物
  3. 🗜️ 打包成适合分发的格式:
    • Linux: calculator-linux-x64.tar.gz
    • macOS: calculator-macos-x64.tar.gz
    • Windows: calculator-windows-x64.zip
  4. 🏷️ 生成版本号(格式:vYYYY.MM.DD-commithash
  5. 📝 自动生成Release说明(包含最近10次提交)
  6. 🚀 创建GitHub Release并上传所有文件

📋 如何查看结果

方法1: 查看README徽章

访问仓库主页:https://github.com/tyk-lab/test-github-cicd

你会看到顶部的状态徽章实时显示构建状态。

方法2: 查看Actions运行

  1. 访问:https://github.com/tyk-lab/test-github-cicd/actions
  2. 点击最新的工作流运行
  3. 查看各个任务的执行情况
  4. 在 “release” 任务中可以看到Release创建过程

方法3: 查看Releases

  1. 访问:https://github.com/tyk-lab/test-github-cicd/releases
  2. 或者点击仓库右侧的 “Releases” 链接
  3. 下载你需要的平台版本

🎯 Release版本号规则

自动版本(推送到main分支)

格式:vYYYY.MM.DD-commithash

手动版本(推送tag)

如果你想发布特定版本号:

# 创建tag
git tag v1.0.0

# 推送tag
git push origin v1.0.0

这样Release会使用你指定的版本号 v1.0.0

📦 用户如何使用

用户可以从Releases页面下载预编译的二进制文件,无需自己编译:

Linux用户

# 下载
wget https://github.com/tyk-lab/test-github-cicd/releases/latest/download/calculator-linux-x64.tar.gz

# 解压
tar -xzf calculator-linux-x64.tar.gz

# 运行
./calculator_app

macOS用户

# 下载
curl -L -O https://github.com/tyk-lab/test-github-cicd/releases/latest/download/calculator-macos-x64.tar.gz

# 解压
tar -xzf calculator-macos-x64.tar.gz

# 运行
./calculator_app

Windows用户

  1. 访问 Releases 页面
  2. 下载 calculator-windows-x64.zip
  3. 解压文件
  4. 双击运行 calculator_app.exe

🔄 工作流程图

推送代码到main
    ↓
触发CI/CD工作流
    ↓
┌─────────────────────────────────────┐
│  并行构建 (3个平台)                  │
│  ├─ Ubuntu  ✅ 构建 → 测试           │
│  ├─ macOS   ✅ 构建 → 测试           │
│  └─ Windows ✅ 构建 → 测试           │
└─────────────────────────────────────┘
    ↓
代码质量检查 ✅
    ↓
所有任务成功
    ↓
┌─────────────────────────────────────┐
│  Release任务                         │
│  ├─ 下载所有构建产物                 │
│  ├─ 打包成分发格式                   │
│  ├─ 生成版本号和说明                 │
│  └─ 创建GitHub Release               │
└─────────────────────────────────────┘
    ↓
✅ Release发布完成
    ↓
用户可以下载使用

🎨 README徽章实时更新

徽章会实时反映仓库状态:

每次推送后,徽章会自动更新!

🚀 测试建议

试试以下操作来体验完整流程:

  1. 修改代码
    # 修改 src/calculator.cpp,添加一个新功能
    # 提交并推送
    git add .
    git commit -m "feat: 添加新功能"
    git push
    
  2. 制造一个失败
    # 在 tests/test_calculator.cpp 中故意写错一个测试
    # 推送后查看徽章变红
    
  3. 创建正式版本
    git tag v1.0.0
    git push origin v1.0.0
    # 会创建一个v1.0.0的Release
    

📚 扩展功能建议

可以进一步添加:

  1. 更多徽章
    • 代码覆盖率徽章
    • 下载次数统计
    • 代码质量评分
  2. 更完善的Release说明
    • 自动生成变更日志
    • 分类显示新功能、bug修复等
    • 添加截图或演示
  3. 多种分发方式
    • 发布到包管理器(如 Homebrew)
    • 提供Docker镜像
    • 提供安装脚本

当前状态: