name: Publish Native Packages on: push: tags: - 'v*' workflow_dispatch: inputs: version: description: 'Version to publish (e.g., 0.1.0)' required: true default: '0.1.0' jobs: publish-packages: runs-on: ubuntu-latest permissions: contents: write steps: - name: Checkout repository uses: actions/checkout@v4 - name: Extract version id: version run: echo "VERSION=${GITHUB_REF#refs/tags/v}" >> $GITHUB_OUTPUT - name: Create release notes run: | cat > release_notes.md << EOF # AITBC Native Packages v${{ steps.version.outputs.VERSION || '0.1.0' }} ## 📦 Available Native Packages ### 🐧 Linux Packages (Debian/Ubuntu) **Format**: .deb packages **Installation**: \`\`\`bash # Download and install CLI wget https://github.com/${{ github.repository }}/releases/download/v${{ steps.version.outputs.VERSION || '0.1.0' }}/aitbc-cli_0.1.0_all.deb sudo dpkg -i aitbc-cli_0.1.0_all.deb # Download and install all services wget https://github.com/${{ github.repository }}/releases/download/v${{ steps.version.outputs.VERSION || '0.1.0' }}/aitbc-all-services_0.1.0_all.deb sudo dpkg -i aitbc-all-services_0.1.0_all.deb \`\`\` **Available Packages**: - \`aitbc-cli_0.1.0_all.deb\` - Command Line Interface (~132KB) - \`aitbc-node-service_0.1.0_all.deb\` - Blockchain Node (~8KB) - \`aitbc-coordinator-service_0.1.0_all.deb\` - Coordinator API (~8KB) - \`aitbc-miner-service_0.1.0_all.deb\` - GPU Miner (~8KB) - \`aitbc-marketplace-service_0.1.0_all.deb\` - GPU Marketplace (~8KB) - \`aitbc-explorer-service_0.1.0_all.deb\` - Block Explorer (~8KB) - \`aitbc-wallet-service_0.1.0_all.deb\` - Wallet Service (~8KB) - \`aitbc-multimodal-service_0.1.0_all.deb\` - Multimodal AI (~8KB) - \`aitbc-all-services_0.1.0_all.deb\` - Complete Stack (~8KB) ### 🍎 macOS Packages (Apple Silicon) **Format**: .pkg packages **Installation**: \`\`\`bash # Download and install CLI curl -L https://github.com/${{ github.repository }}/releases/download/v${{ steps.version.outputs.VERSION || '0.1.0' }}/aitbc-cli-0.1.0-apple-silicon.pkg -o aitbc-cli.pkg sudo installer -pkg aitbc-cli.pkg -target / # Or use universal installer curl -L https://github.com/${{ github.repository }}/releases/download/v${{ steps.version.outputs.VERSION || '0.1.0' }}/install-macos-complete.sh | bash \`\`\` **Available Packages**: - \`aitbc-cli-0.1.0-apple-silicon.pkg\` - Command Line Interface (~4.6KB) - \`aitbc-node-service-0.1.0-apple-silicon.pkg\` - Blockchain Node (~2.5KB) - \`aitbc-coordinator-service-0.1.0-apple-silicon.pkg\` - Coordinator API (~2.5KB) - \`aitbc-miner-service-0.1.0-apple-silicon.pkg\` - GPU Miner (~2.4KB) - \`aitbc-marketplace-service-0.1.0-apple-silicon.pkg\` - GPU Marketplace (~2.4KB) - \`aitbc-explorer-service-0.1.0-apple-silicon.pkg\` - Block Explorer (~2.4KB) - \`aitbc-wallet-service-0.1.0-apple-silicon.pkg\` - Wallet Service (~2.4KB) - \`aitbc-multimodal-service-0.1.0-apple-silicon.pkg\` - Multimodal AI (~2.4KB) - \`aitbc-all-services-0.1.0-apple-silicon.pkg\` - Complete Stack (~2.4KB) ## 🔧 Universal Installer \`\`\`bash # Linux curl -fsSL https://raw.githubusercontent.com/${{ github.repository }}/main/packages/github/install.sh | bash # macOS curl -fsSL https://raw.githubusercontent.com/${{ github.repository }}/main/packages/github/install-macos.sh | bash \`\`\` ## ✅ Verification All packages include SHA256 checksums for verification. ## 📚 Documentation - [Installation Guide](https://raw.githubusercontent.com/${{ github.repository }}/main/packages/github/README.md) - [Package Checksums](https://raw.githubusercontent.com/${{ github.repository }}/main/packages/github/packages/debian-packages/checksums.txt) --- **Platform Support**: Linux (amd64/arm64), macOS (Apple Silicon) **Package Formats**: .deb (Debian), .pkg (macOS) **Installation Methods**: Direct download, universal installers EOF - name: Create GitHub Release if: startsWith(github.ref, 'refs/tags/') uses: softprops/action-gh-release@v2 with: name: "AITBC Native Packages v${{ steps.version.outputs.VERSION || '0.1.0' }}" body_path: release_notes.md draft: false prerelease: false generate_release_notes: true files: | packages/github/packages/debian-packages/*.deb packages/github/packages/debian-packages/checksums.txt packages/github/packages/macos-packages/*.pkg packages/github/packages/macos-packages/*.sh packages/github/packages/macos-packages/checksums.txt env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - name: Update package documentation run: | cat > packages/github/NATIVE_PACKAGES_STATUS.md << EOF # AITBC Native Packages Status ## 📦 Published Packages **Version**: v${{ steps.version.outputs.VERSION || '0.1.0' }} **Release Date**: $(date -u +"%Y-%m-%d %H:%M:%S UTC") **Release URL**: https://github.com/${{ github.repository }}/releases/tag/v${{ steps.version.outputs.VERSION || '0.1.0' }} ### 🐧 Linux Packages (Debian/Ubuntu) | Package | Size | Description | Download | |---------|------|-------------|----------| | aitbc-cli_0.1.0_all.deb | 132KB | Command Line Interface | [Download](https://github.com/${{ github.repository }}/releases/download/v${{ steps.version.outputs.VERSION || '0.1.0' }}/aitbc-cli_0.1.0_all.deb) | | aitbc-node-service_0.1.0_all.deb | 8KB | Blockchain Node | [Download](https://github.com/${{ github.repository }}/releases/download/v${{ steps.version.outputs.VERSION || '0.1.0' }}/aitbc-node-service_0.1.0_all.deb) | | aitbc-coordinator-service_0.1.0_all.deb | 8KB | Coordinator API | [Download](https://github.com/${{ github.repository }}/releases/download/v${{ steps.version.outputs.VERSION || '0.1.0' }}/aitbc-coordinator-service_0.1.0_all.deb) | | aitbc-miner-service_0.1.0_all.deb | 8KB | GPU Miner | [Download](https://github.com/${{ github.repository }}/releases/download/v${{ steps.version.outputs.VERSION || '0.1.0' }}/aitbc-miner-service_0.1.0_all.deb) | | aitbc-marketplace-service_0.1.0_all.deb | 8KB | GPU Marketplace | [Download](https://github.com/${{ github.repository }}/releases/download/v${{ steps.version.outputs.VERSION || '0.1.0' }}/aitbc-marketplace-service_0.1.0_all.deb) | | aitbc-explorer-service_0.1.0_all.deb | 8KB | Block Explorer | [Download](https://github.com/${{ github.repository }}/releases/download/v${{ steps.version.outputs.VERSION || '0.1.0' }}/aitbc-explorer-service_0.1.0_all.deb) | | aitbc-wallet-service_0.1.0_all.deb | 8KB | Wallet Service | [Download](https://github.com/${{ github.repository }}/releases/download/v${{ steps.version.outputs.VERSION || '0.1.0' }}/aitbc-wallet-service_0.1.0_all.deb) | | aitbc-multimodal-service_0.1.0_all.deb | 8KB | Multimodal AI | [Download](https://github.com/${{ github.repository }}/releases/download/v${{ steps.version.outputs.VERSION || '0.1.0' }}/aitbc-multimodal-service_0.1.0_all.deb) | | aitbc-all-services_0.1.0_all.deb | 8KB | Complete Stack | [Download](https://github.com/${{ github.repository }}/releases/download/v${{ steps.version.outputs.VERSION || '0.1.0' }}/aitbc-all-services_0.1.0_all.deb) | ### 🍎 macOS Packages (Apple Silicon) | Package | Size | Description | Download | |---------|------|-------------|----------| | aitbc-cli-0.1.0-apple-silicon.pkg | 4.6KB | Command Line Interface | [Download](https://github.com/${{ github.repository }}/releases/download/v${{ steps.version.outputs.VERSION || '0.1.0' }}/aitbc-cli-0.1.0-apple-silicon.pkg) | | aitbc-node-service-0.1.0-apple-silicon.pkg | 2.5KB | Blockchain Node | [Download](https://github.com/${{ github.repository }}/releases/download/v${{ steps.version.outputs.VERSION || '0.1.0' }}/aitbc-node-service-0.1.0-apple-silicon.pkg) | | aitbc-coordinator-service-0.1.0-apple-silicon.pkg | 2.5KB | Coordinator API | [Download](https://github.com/${{ github.repository }}/releases/download/v${{ steps.version.outputs.VERSION || '0.1.0' }}/aitbc-coordinator-service-0.1.0-apple-silicon.pkg) | | aitbc-miner-service-0.1.0-apple-silicon.pkg | 2.4KB | GPU Miner | [Download](https://github.com/${{ github.repository }}/releases/download/v${{ steps.version.outputs.VERSION || '0.1.0' }}/aitbc-miner-service-0.1.0-apple-silicon.pkg) | | aitbc-marketplace-service-0.1.0-apple-silicon.pkg | 2.4KB | GPU Marketplace | [Download](https://github.com/${{ github.repository }}/releases/download/v${{ steps.version.outputs.VERSION || '0.1.0' }}/aitbc-marketplace-service-0.1.0-apple-silicon.pkg) | | aitbc-explorer-service-0.1.0-apple-silicon.pkg | 2.4KB | Block Explorer | [Download](https://github.com/${{ github.repository }}/releases/download/v${{ steps.version.outputs.VERSION || '0.1.0' }}/aitbc-explorer-service-0.1.0-apple-silicon.pkg) | | aitbc-wallet-service-0.1.0-apple-silicon.pkg | 2.4KB | Wallet Service | [Download](https://github.com/${{ github.repository }}/releases/download/v${{ steps.version.outputs.VERSION || '0.1.0' }}/aitbc-wallet-service-0.1.0-apple-silicon.pkg) | | aitbc-multimodal-service-0.1.0-apple-silicon.pkg | 2.4KB | Multimodal AI | [Download](https://github.com/${{ github.repository }}/releases/download/v${{ steps.version.outputs.VERSION || '0.1.0' }}/aitbc-multimodal-service-0.1.0-apple-silicon.pkg) | | aitbc-all-services-0.1.0-apple-silicon.pkg | 2.4KB | Complete Stack | [Download](https://github.com/${{ github.repository }}/releases/download/v${{ steps.version.outputs.VERSION || '0.1.0' }}/aitbc-all-services-0.1.0-apple-silicon.pkg) | ## 🔧 Installation Commands ### Linux \`\`\`bash # Quick install curl -fsSL https://raw.githubusercontent.com/${{ github.repository }}/main/packages/github/install.sh | bash # Manual install wget https://github.com/${{ github.repository }}/releases/download/v${{ steps.version.outputs.VERSION || '0.1.0' }}/aitbc-cli_0.1.0_all.deb sudo dpkg -i aitbc-cli_0.1.0_all.deb \`\`\` ### macOS \`\`\`bash # Quick install curl -fsSL https://raw.githubusercontent.com/${{ github.repository }}/main/packages/github/install-macos.sh | bash # Manual install curl -L https://github.com/${{ github.repository }}/releases/download/v${{ steps.version.outputs.VERSION || '0.1.0' }}/aitbc-cli-0.1.0-apple-silicon.pkg -o aitbc-cli.pkg sudo installer -pkg aitbc-cli.pkg -target / \`\`\` ## ✅ Package Status - ✅ **Built**: All packages built successfully - ✅ **Verified**: SHA256 checksums validated - ✅ **Published**: Available in GitHub Releases - ✅ **Tested**: Installation scripts verified ## 📊 Package Statistics - **Total Packages**: 18 (9 Linux + 9 macOS) - **Total Size**: ~200KB compressed - **Platforms**: Linux (amd64/arm64), macOS (Apple Silicon) - **Formats**: .deb, .pkg - **Installation Methods**: Direct download, universal installers --- *Last updated: $(date -u +"%Y-%m-%d %H:%M:%S UTC")* *View release: https://github.com/${{ github.repository }}/releases/tag/v${{ steps.version.outputs.VERSION || '0.1.0' }}* EOF - name: Commit and push documentation run: | git config --local user.email "action@github.com" git config --local user.name "GitHub Action" git add packages/github/NATIVE_PACKAGES_STATUS.md git diff --staged --quiet || git commit -m "Update native packages status for v${{ steps.version.outputs.VERSION || '0.1.0' }}" git push