Skip to content

Conversation

@timimsms
Copy link
Owner

Summary

  • Adds GoReleaser configuration for automated multi-platform releases
  • Sets up GitHub Actions workflow for release automation
  • Provides foundation for Homebrew, Docker, and direct download distribution

What's Included

  • .goreleaser.yml: Comprehensive configuration for building binaries for all major platforms
  • .github/workflows/release.yml: Automated release workflow triggered by version tags
  • Dockerfile.release: Minimal Alpine-based Docker image
  • Shell completions: Generated completion files for bash, zsh, and fish
  • scripts/release.sh: Helper script for creating version tags
  • Documentation: Setup guide with manual steps required

Manual Steps Required

After merging, you'll need to complete these manual setup steps (documented in docs/RELEASE_SETUP.md):

  1. Create GitHub Secrets:

    • HOMEBREW_TAP_GITHUB_TOKEN - PAT with repo scope for Homebrew tap updates
    • DOCKER_USERNAME & DOCKER_TOKEN - Optional for Docker Hub publishing
    • GPG_FINGERPRINT - Optional for signing releases
  2. Create Homebrew Tap Repository:

    • Create timimsms/homebrew-clickup repository
    • Add Formula directory
    • GoReleaser will auto-update the formula on releases
  3. Docker Hub Setup (Optional):

    • Create Docker Hub repository
    • Add credentials as GitHub secrets

How to Release

Once setup is complete:

# For bug fixes
./scripts/release.sh patch

# For new features  
./scripts/release.sh minor

# For breaking changes
./scripts/release.sh major

Next Steps

This PR completes step 1 of the Phase 3 distribution plan. After merging and completing manual setup:

🤖 Generated with Claude Code

- Add .goreleaser.yml with builds for Linux, macOS, and Windows
- Configure archives with platform-specific formats
- Add GitHub release automation workflow
- Create Dockerfile for containerized distribution
- Add shell completion files for bash, zsh, and fish
- Create release script for version management
- Add initial CHANGELOG.md
- Document manual setup steps in docs/RELEASE_SETUP.md

This sets up the foundation for distributing the CLI via:
- Direct downloads from GitHub releases
- Homebrew tap (requires manual repo setup)
- Docker images (requires Docker Hub credentials)
- Future npm package support

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants