Update README.md #23
  
    
      This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
      Learn more about bidirectional Unicode characters
    
  
  
    
  | name: Build and Release | |
| on: | |
| push: | |
| branches: [ main ] | |
| paths-ignore: | |
| - 'README.md' | |
| - 'README_EN.md' | |
| - 'CLAUDE.md' | |
| - '.all-contributorsrc' | |
| - '.gitignore' | |
| - '.claude/**' | |
| - '.cursor/**' | |
| - '.github/**' | |
| - '.vscode/**' | |
| - 'assets/**' | |
| - 'configs/**' | |
| - 'cookies/**' | |
| - 'deploy/**' | |
| - 'docs/**' | |
| - 'donate/**' | |
| - 'examples/**' | |
| workflow_dispatch: | |
| permissions: | |
| contents: write | |
| jobs: | |
| build: | |
| runs-on: ubuntu-latest | |
| # 只在推送到 main 时运行,或手动触发 | |
| if: (github.event_name == 'push' && github.ref == 'refs/heads/main') || (github.event_name == 'workflow_dispatch') | |
| steps: | |
| - uses: actions/checkout@v4 | |
| with: | |
| fetch-depth: 0 | |
| - name: Set up Go | |
| uses: actions/setup-go@v4 | |
| with: | |
| go-version: '1.24' | |
| - name: Generate release name | |
| id: version | |
| run: | | |
| TIMESTAMP=$(date +%Y.%m.%d.%H%M) | |
| COMMIT_SHA=$(git rev-parse --short HEAD) | |
| VERSION="v${TIMESTAMP}-${COMMIT_SHA}" | |
| echo "version=${VERSION}" >> $GITHUB_OUTPUT | |
| echo "Generated version: ${VERSION}" | |
| - name: Build for multiple platforms | |
| run: | | |
| # 主程序构建 | |
| # 禁用 CGO 以生成静态链接的二进制文件,避免 GLIBC 依赖问题 | |
| # macOS ARM64 (Apple Silicon) | |
| CGO_ENABLED=0 GOOS=darwin GOARCH=arm64 go build -o xiaohongshu-mcp-darwin-arm64 . | |
| CGO_ENABLED=0 GOOS=darwin GOARCH=arm64 go build -o xiaohongshu-login-darwin-arm64 ./cmd/login | |
| # macOS Intel | |
| CGO_ENABLED=0 GOOS=darwin GOARCH=amd64 go build -o xiaohongshu-mcp-darwin-amd64 . | |
| CGO_ENABLED=0 GOOS=darwin GOARCH=amd64 go build -o xiaohongshu-login-darwin-amd64 ./cmd/login | |
| # Windows x64 | |
| CGO_ENABLED=0 GOOS=windows GOARCH=amd64 go build -o xiaohongshu-mcp-windows-amd64.exe . | |
| CGO_ENABLED=0 GOOS=windows GOARCH=amd64 go build -o xiaohongshu-login-windows-amd64.exe ./cmd/login | |
| # Linux x64 | |
| CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -o xiaohongshu-mcp-linux-amd64 . | |
| CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -o xiaohongshu-login-linux-amd64 ./cmd/login | |
| - name: Package binaries | |
| run: | | |
| # 创建压缩包 | |
| # macOS ARM64 | |
| tar czf xiaohongshu-mcp-darwin-arm64.tar.gz xiaohongshu-mcp-darwin-arm64 xiaohongshu-login-darwin-arm64 | |
| # macOS Intel | |
| tar czf xiaohongshu-mcp-darwin-amd64.tar.gz xiaohongshu-mcp-darwin-amd64 xiaohongshu-login-darwin-amd64 | |
| # Windows x64 | |
| zip xiaohongshu-mcp-windows-amd64.zip xiaohongshu-mcp-windows-amd64.exe xiaohongshu-login-windows-amd64.exe | |
| # Linux x64 | |
| tar czf xiaohongshu-mcp-linux-amd64.tar.gz xiaohongshu-mcp-linux-amd64 xiaohongshu-login-linux-amd64 | |
| - name: Clean up old releases | |
| run: | | |
| # 获取所有自动构建的 releases (v开头的时间戳格式) | |
| RELEASES=$(gh release list --limit 100 | grep -E '^v[0-9]{4}\.[0-9]{2}\.[0-9]{2}\.[0-9]{4}-' | awk '{print $3}' | tail -n +11) | |
| # 删除超过 10 个的旧 releases 和对应的 tags | |
| for release in $RELEASES; do | |
| echo "Deleting old release: $release" | |
| gh release delete "$release" --yes --cleanup-tag | |
| done | |
| env: | |
| GH_TOKEN: ${{ github.token }} | |
| continue-on-error: true | |
| - name: Create Release | |
| uses: softprops/action-gh-release@v1 | |
| with: | |
| tag_name: ${{ steps.version.outputs.version }} | |
| name: Release ${{ steps.version.outputs.version }} | |
| draft: false | |
| prerelease: false | |
| body: | | |
| ## 🔧 自动构建版本 | |
| **注意:这是自动构建的预发布版本,用于测试。正式版本请等待手动发布。** | |
| ### 📦 下载说明 | |
| 选择适合您系统的压缩包下载: | |
| - **macOS Apple Silicon (M1/M2/M3)**: `xiaohongshu-mcp-darwin-arm64.tar.gz` | |
| - **macOS Intel**: `xiaohongshu-mcp-darwin-amd64.tar.gz` | |
| - **Windows x64**: `xiaohongshu-mcp-windows-amd64.zip` | |
| - **Linux x64**: `xiaohongshu-mcp-linux-amd64.tar.gz` | |
| 每个压缩包包含: | |
| - `xiaohongshu-mcp-*`: MCP 服务主程序 | |
| - `xiaohongshu-login-*`: 登录工具 | |
| ### 🔧 使用方法 | |
| ```bash | |
| # 1. 解压文件(macOS/Linux) | |
| tar xzf xiaohongshu-mcp-darwin-arm64.tar.gz | |
| # 或 Windows | |
| # 解压 xiaohongshu-mcp-windows-amd64.zip | |
| # 2. 运行登录工具 | |
| ./xiaohongshu-login-darwin-arm64 | |
| # 3. 启动 MCP 服务 | |
| ./xiaohongshu-mcp-darwin-arm64 | |
| ``` | |
| ### 📊 构建信息 | |
| - **Commit**: ${{ github.sha }} | |
| - **Branch**: main | |
| - **Build Time**: ${{ steps.version.outputs.version }} | |
| files: | | |
| xiaohongshu-mcp-darwin-arm64.tar.gz | |
| xiaohongshu-mcp-darwin-amd64.tar.gz | |
| xiaohongshu-mcp-windows-amd64.zip | |
| xiaohongshu-mcp-linux-amd64.tar.gz |