| name | Deployment Automation |
| description | Complete deployment system for Holochain hApps with multi-repository coordination, cross-platform builds, and CI/CD automation |
Deployment Automation Skill
Complete deployment system for Holochain hApps with proven patterns from successful production releases
Overview
This skill provides the comprehensive deployment infrastructure used to successfully release Requests and Offers v0.1.9 with 100% cross-platform success rate. It orchestrates deployment across multiple repositories (main, Kangaroo Electron, Homebrew) with proven CI/CD patterns and automated release coordination.
Capabilities
Multi-Repository Coordination
- Main Repository: WebHapp build and release management
- Kangaroo Submodule: Cross-platform desktop applications
- Homebrew Repository: macOS distribution automation
- Git Submodule Synchronization: Automatic branch and version coordination
- Cross-Repository Linking: Seamless integration between all deployment targets
Cross-Platform Deployment
- macOS: ARM64 (Apple Silicon) + x64 (Intel) with optional code signing
- Windows: x64 with EV code signing support
- Linux: DEB packages + AppImage (universal portable)
- WebApp: WebHapp packaging with test/production modes
- Production Network: Holostrap alpha network configuration
CI/CD Pipeline Management
- GitHub Actions Optimization: Proven workflow patterns
- Asset Upload Automation: Manual GitHub CLI pattern (100% reliable)
- Build Verification: Cross-platform validation and testing
- Environment Management: Development, test, and production configurations
Release Process Automation
- 7-Step Manual Process: Proven 100% success rate from v0.1.9
- Version Synchronization: Automatic version management across repositories
- Changelog Management: Automated release notes and documentation
- GitHub Release Creation: Complete release asset management
Quick Start
For New Release
"Deploy version 0.2.0 with all platforms"
Claude will:
- Run pre-flight validation checks
- Execute the 7-step proven release process
- Monitor cross-platform builds
- Update all repositories with release assets
- Generate comprehensive release notes
For Deployment Troubleshooting
"The macOS build failed to upload assets"
Claude will:
- Apply proven asset upload fixes
- Use wildcard file discovery patterns
- Implement manual GitHub CLI upload strategy
- Verify cross-platform build success
For Environment Setup
"Set up deployment environment for a new team member"
Claude will:
- Validate GitHub CLI authentication
- Configure git submodule access
- Set up Nix environment for builds
- Verify all deployment prerequisites
Proven Patterns
CI/CD Asset Upload Fix
This pattern eliminated asset upload failures in v0.1.9:
# Instead of unreliable electron-builder auto-publishing
- name: build and upload the app (macOS)
run: |
yarn build:mac-arm64
ls dist
# Use wildcard to handle filename variations
find dist -name "*.dmg" -exec gh release upload "v${{ env.APP_VERSION }}" {} \;
7-Step Release Process
Proven 100% success rate in production:
- Main Repository Updates - Version bump + changelog
- WebHapp Build -
bun packagein Nix environment - GitHub Release Creation - Manual release with webhapp upload
- Kangaroo Repository Update - Copy webhapp + version sync
- CI/CD Trigger - Push to release branch
- Build Monitoring - Cross-platform build verification
- Release Notes Finalization - Cross-link desktop app links
Cross-Platform Build Optimization
Production benchmark performance from v0.1.9:
- macOS ARM64: 1m46s (fastest platform)
- macOS x64: 3m2s
- Windows x64: 2m54s
- Linux x64: ~4m (includes post-install scripts)
Architecture Integration
Repository Structure
Main Repository (requests-and-offers)
├── WebHapp build and packaging
├── Release coordination
├── Version management
└── Cross-repository linking
Kangaroo Submodule (deployment/kangaroo-electron)
├── Desktop app builds (Windows/macOS/Linux)
├── GitHub Actions CI/CD
├── Code signing configuration
└── Asset upload automation
Homebrew Repository (deployment/homebrew)
├── Formula management
├── Checksum updates
└── macOS distribution
Deployment Flow
1. Pre-flight Validation → Environment checks, auth verification
2. Version Synchronization → All repositories aligned
3. WebHapp Build → Production-ready bundle
4. Release Creation → GitHub release with webhapp
5. Kangaroo Update → Copy webhapp, trigger CI/CD
6. Multi-Platform Builds → Parallel builds across platforms
7. Asset Verification → All binaries uploaded successfully
8. Cross-Repository Updates → Homebrew formula, documentation
9. Post-Release Validation → Downloads tested, links verified
Templates and Automation
Release Templates
- GitHub Workflows: Optimized CI/CD pipeline templates
- Kangaroo Config: Production-ready desktop app configuration
- Deployment Config: Multi-environment configuration management
- Release Notes: Structured documentation templates
Automation Scripts
- Pre-flight Checks: Environment validation and prerequisites
- Release Orchestrator: Automated 7-step release execution
- Build Verification: Cross-platform build validation
- Rollback Procedures: Emergency recovery automation
Configuration Management
- Environment Variables: Development, test, production configurations
- Version Synchronization: Automatic version management
- Network Configuration: Production Holostrap settings
- Code Signing: macOS and Windows certificate management
Troubleshooting
Common Issues and Solutions
Asset Upload Failures
Symptoms: Builds complete but assets don't appear in GitHub release Root Cause: electron-builder auto-publishing fails for branch builds Solution: Manual GitHub CLI uploads with wildcard patterns
Build Failures
Symptoms: CI/CD jobs fail during build process Common Fixes:
- Verify webhapp exists in pouch directory
- Check version synchronization across repositories
- Ensure proper Nix environment setup
- Validate GitHub CLI authentication
Repository Sync Issues
Symptoms: Submodules out of sync, version mismatches Solution: Proper git branch management and submodule updates
Platform-Specific Issues
- macOS: Code signing certificate management
- Windows: EV certificate configuration
- Linux: Post-install script permissions
Recovery Procedures
- Emergency rollback automation
- Partial release recovery
- Asset re-upload procedures
- Repository resynchronization
Performance Metrics
v0.1.9 Success Benchmarks
- Platform Success Rate: 100% (5/5 platforms)
- Total Release Time: ~2.5 hours (including issue resolution)
- Build Retry Count: 1 retry (for macOS upload fixes)
- Asset Upload Success: 100% after implementing manual patterns
Target Performance
- Release Time: <30 minutes (optimized process)
- Success Rate: 100% cross-platform availability
- Automation Level: 90% of process automated
- Error Recovery: <5 minutes for common issues
Best Practices
Release Management
- Use Proven Patterns: Follow the 7-step process exactly
- Manual Upload Strategy: More reliable than auto-publishing
- Wildcard File Discovery: Eliminates filename mismatch failures
- Cross-Repository Coordination: Ensure proper synchronization
Build Optimization
- Parallel Builds: Run all platform builds concurrently
- Asset Verification: Validate all uploads before proceeding
- Environment Isolation: Use Nix for consistent build environments
- Production Configuration: Separate dev/test/prod configs
Error Prevention
- Pre-flight Validation: Check all prerequisites before starting
- Version Synchronization: Automated version management
- Rollback Planning: Have recovery procedures ready
- Documentation: Maintain comprehensive release notes
Integration with Existing Tools
Package.json Scripts
{
"scripts": {
"deploy:release": "./.claude/skills/deployment/scripts/release-orchestrator.sh",
"deploy:validate": "./.claude/skills/deployment/scripts/build-verification.sh",
"deploy:rollback": "./.claude/skills/deployment/scripts/rollback-procedures.sh"
}
}
GitHub Actions Integration
- Optimized workflow templates
- Automated build verification
- Cross-platform deployment orchestration
- Asset upload automation
Git Workflow Integration
- Branch synchronization patterns
- Tag management automation
- Submodule coordination
- Release commit management
Usage Examples
Example 1: Complete Release
User Request: "Deploy v0.2.0 with all platforms and documentation"
Claude's Response:
- Runs pre-flight validation
- Executes 7-step release process
- Monitors CI/CD builds across all platforms
- Updates Homebrew formula with new checksums
- Generates comprehensive release notes
- Provides download statistics and validation
Example 2: Emergency Fix
User Request: "Windows build failed, need to redeploy"
Claude's Response:
- Identifies failure root cause
- Applies proven troubleshooting patterns
- Re-triggers specific platform build
- Validates asset upload success
- Updates release documentation
Example 3: Environment Setup
User Request: "Set up deployment environment for new developer"
Claude's Response:
- Validates all prerequisites
- Configures GitHub CLI access
- Sets up git submodules
- Installs Nix environment
- Provides test deployment scenario
Customization
Adapting to Your Project
- Repository Configuration: Update repository URLs and paths
- Platform Targets: Customize platform-specific configurations
- Build Settings: Adapt to your project's build requirements
- Release Process: Modify steps to match your workflow
Integration with CI/CD
- GitHub Actions: Use provided workflow templates
- Build Environment: Configure for your tech stack
- Asset Management: Customize upload patterns
- Notification Systems: Add Slack/Discord integration
Knowledge Preservation
This skill preserves critical deployment knowledge:
- Proven Patterns: Battle-tested from production releases
- Troubleshooting: Solutions to common deployment issues
- Best Practices: Evolution of deployment processes
- Performance Benchmarks: Real-world metrics and targets
- Recovery Procedures: Emergency response patterns
Future Enhancements
Planned Improvements
- Enhanced Automation: Fully automated 7-step process
- Multi-Environment Support: Staging and production pipelines
- Advanced Monitoring: Build performance and success metrics
- Integration Tools: IDE and CI/CD platform plugins
- Community Templates: Contributed deployment patterns
Scalability Features
- Multi-project deployment support
- Enterprise-grade security and compliance
- Advanced rollback and recovery procedures
- Performance optimization for large deployments
Support and Troubleshooting
Getting Help
- Documentation: Comprehensive guides and examples
- Validation Tools: Built-in environment and build checking
- Troubleshooting: Common issues and proven solutions
- Templates: Copy-paste ready configurations
Contributing
- Share deployment patterns and improvements
- Contribute troubleshooting solutions
- Update templates and documentation
- Add platform-specific optimizations
This deployment skill provides production-ready deployment infrastructure with proven reliability from successful Holochain application releases.