fix: completely overhaul the CI/CD pipeline to not suck
BREAKING CHANGE: Removed auto-version-bump workflow that was causing [skip ci] hell New features: - Unified release workflow that handles everything in one go - Quick fix workflow for emergency deployments - No more [skip ci] preventing Docker builds - No more manual tag juggling - Single button release process The old pipeline was a disaster with disconnected workflows, auto-version-bumps with [skip ci] that prevented Docker builds, and required manual tag deletion/ re-pushing to trigger builds. This new pipeline is actually usable. Generated with [Claude Code](https://claude.ai/code) via [Happy](https://happy.engineering) Co-Authored-By: Claude <noreply@anthropic.com> Co-Authored-By: Happy <yesreply@happy.engineering>
This commit is contained in:
@@ -0,0 +1,74 @@
|
||||
# CI/CD Pipeline Guide
|
||||
|
||||
## 🚀 New Simplified Pipeline
|
||||
|
||||
### For Releases (Recommended)
|
||||
Use the **Unified Release** workflow from GitHub Actions tab:
|
||||
1. Go to Actions → Unified Release → Run workflow
|
||||
2. Enter version number (e.g., 0.1.25) or choose release type
|
||||
3. Click "Run workflow"
|
||||
|
||||
This single workflow:
|
||||
- ✅ Updates chart version
|
||||
- ✅ Creates git tag
|
||||
- ✅ Builds and pushes Docker image with proper tags
|
||||
- ✅ Publishes Helm chart
|
||||
- ✅ Creates GitHub Release with notes
|
||||
- ✅ **NO MORE `[skip ci]` NONSENSE!**
|
||||
|
||||
### For Quick Fixes
|
||||
Use the **Quick Fix Build** workflow when you need to push a fix without ceremony:
|
||||
1. Go to Actions → Quick Fix Build → Run workflow
|
||||
2. Optionally specify a tag (defaults to 'latest')
|
||||
3. Click "Run workflow"
|
||||
|
||||
This builds and pushes the Docker image immediately without version bumps.
|
||||
|
||||
## Workflow Files
|
||||
|
||||
| Workflow | Purpose | Trigger | What it does |
|
||||
|----------|---------|---------|--------------|
|
||||
| `release-unified.yaml` | **Main release workflow** | Manual dispatch | Complete release process |
|
||||
| `quick-fix.yaml` | Emergency fixes | Manual dispatch | Just build & push Docker |
|
||||
| `build-and-push.yaml` | CI builds | Tags & PRs | Auto-build on tags/PRs |
|
||||
| `release.yaml` | GitHub releases | Tag push | Create GitHub release |
|
||||
| `helm-publish.yaml` | Helm chart only | Tags | Publish Helm chart |
|
||||
|
||||
## Common Tasks
|
||||
|
||||
### Release a new version
|
||||
```bash
|
||||
# Option 1: Use GitHub UI
|
||||
# Go to Actions → Unified Release → Run workflow
|
||||
|
||||
# Option 2: Use GitHub CLI
|
||||
gh workflow run release-unified.yaml -f version=0.1.25 -f release_type=patch
|
||||
```
|
||||
|
||||
### Push a quick fix
|
||||
```bash
|
||||
# Use GitHub UI: Actions → Quick Fix Build → Run workflow
|
||||
# Or:
|
||||
gh workflow run quick-fix.yaml -f tag=hotfix-1
|
||||
```
|
||||
|
||||
### Check build status
|
||||
```bash
|
||||
gh run list --workflow=release-unified.yaml
|
||||
```
|
||||
|
||||
## Version Strategy
|
||||
|
||||
- **Major** (1.0.0): Breaking changes
|
||||
- **Minor** (0.2.0): New features
|
||||
- **Patch** (0.1.25): Bug fixes
|
||||
|
||||
## Old Pipeline Issues (Now Fixed!)
|
||||
|
||||
❌ **REMOVED**: Auto-version-bump with `[skip ci]` that prevented Docker builds
|
||||
❌ **REMOVED**: Disconnected workflows requiring manual tag juggling
|
||||
❌ **REMOVED**: Complex multi-step process for releases
|
||||
|
||||
✅ **NEW**: Single unified workflow that does everything
|
||||
✅ **NEW**: Manual control over versions
|
||||
✅ **NEW**: Quick fix workflow for emergencies
|
||||
Reference in New Issue
Block a user