eacf41302c
Removed 4 redundant workflow files: - helm-publish.yaml (integrated into release-unified) - helm-release.yaml.old (the auto-version-bump nightmare) - release.yaml (replaced by release-unified) - tag-release.md (old docs, replaced by README.md) Now down to just 3 clean workflows: - release-unified.yaml: Complete release process - quick-fix.yaml: Emergency Docker builds - build-and-push.yaml: Automatic CI for PRs/tags Also updated documentation to reflect the simplified pipeline. 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>
2.7 KiB
2.7 KiB
CI/CD Pipeline Guide
🚀 Simplified Pipeline - Only 3 Workflows!
1️⃣ For Releases → Unified Release
Use this for all version releases:
- Go to Actions → Unified Release
- Click "Run workflow"
- Either:
- Enter specific version (e.g.,
0.2.1), OR - Choose release type (patch/minor/major) for auto-increment
- Enter specific version (e.g.,
- Click "Run workflow"
This single workflow does EVERYTHING:
- ✅ Updates chart version
- ✅ Creates git tag
- ✅ Builds Docker image with all proper tags
- ✅ Publishes Helm chart to GHCR
- ✅ Creates GitHub Release with changelog
- ✅ No more
[skip ci]blocking builds!
2️⃣ For Quick Fixes → Quick Fix Build
Use this for emergency fixes without version changes:
- Go to Actions → Quick Fix Build
- Click "Run workflow"
- Enter tag (default:
latest) - Click "Run workflow"
Just builds and pushes Docker image - no version bumps, no releases.
3️⃣ Automatic CI → Build and Push
Runs automatically on:
- Pull requests (builds but doesn't push)
- Tags starting with
v*(builds and pushes) - Manual trigger available
Workflow Files
| Workflow | File | Purpose | When to Use |
|---|---|---|---|
| Unified Release | release-unified.yaml |
Full release process | New versions |
| Quick Fix Build | quick-fix.yaml |
Docker build only | Hotfixes |
| Build and Push | build-and-push.yaml |
CI/CD automation | PRs & tags |
Examples
Release a new version
# Via GitHub UI (Recommended):
# Go to Actions → Unified Release → Run workflow
# Via GitHub CLI:
gh workflow run release-unified.yaml -f version=0.2.1
# OR auto-increment:
gh workflow run release-unified.yaml -f release_type=patch
Push a quick fix
# Via GitHub UI:
# Go to Actions → Quick Fix Build → Run workflow
# Via GitHub CLI:
gh workflow run quick-fix.yaml -f tag=hotfix-1
Check workflow status
# List all recent runs
gh run list --limit 5
# Watch a specific workflow
gh run watch
Version Strategy
- Major (1.0.0): Breaking changes
- Minor (0.2.0): New features
- Patch (0.2.1): Bug fixes
What We Fixed
Before (Nightmare 😱)
- Auto-version-bump with
[skip ci]prevented Docker builds - 6+ disconnected workflows
- Manual tag deletion and re-pushing
- Version conflicts everywhere
After (Simple! 🎉)
- 3 total workflows (down from 6+)
- 1 button for complete releases
- No more
[skip ci]blocking builds - Clear separation of concerns