5570b2c617
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>
58 lines
1.6 KiB
Plaintext
58 lines
1.6 KiB
Plaintext
name: Publish Helm Chart
|
|
|
|
on:
|
|
push:
|
|
branches:
|
|
- main
|
|
paths:
|
|
- 'chart/**'
|
|
workflow_dispatch:
|
|
|
|
permissions:
|
|
contents: write
|
|
packages: write
|
|
|
|
jobs:
|
|
publish:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- name: Checkout
|
|
uses: actions/checkout@v4
|
|
with:
|
|
token: ${{ secrets.GITHUB_TOKEN }}
|
|
|
|
- name: Set up Helm
|
|
uses: azure/setup-helm@v4
|
|
|
|
- name: Bump patch version
|
|
id: bump
|
|
run: |
|
|
CURRENT=$(grep '^version:' chart/Chart.yaml | awk '{print $2}')
|
|
MAJOR=$(echo $CURRENT | cut -d. -f1)
|
|
MINOR=$(echo $CURRENT | cut -d. -f2)
|
|
PATCH=$(echo $CURRENT | cut -d. -f3)
|
|
NEW_VERSION="${MAJOR}.${MINOR}.$((PATCH + 1))"
|
|
sed -i "s/^version: .*/version: ${NEW_VERSION}/" chart/Chart.yaml
|
|
echo "version=${NEW_VERSION}" >> $GITHUB_OUTPUT
|
|
|
|
- name: Commit version bump
|
|
run: |
|
|
git config user.name "github-actions[bot]"
|
|
git config user.email "github-actions[bot]@users.noreply.github.com"
|
|
git add chart/Chart.yaml
|
|
git commit -m "chore: bump chart version to ${{ steps.bump.outputs.version }} [skip ci]"
|
|
git push
|
|
|
|
- name: Log in to GHCR
|
|
run: |
|
|
helm registry login ghcr.io \
|
|
--username ${{ github.actor }} \
|
|
--password ${{ secrets.GITHUB_TOKEN }}
|
|
|
|
- name: Package chart
|
|
run: helm package chart/
|
|
|
|
- name: Push chart to GHCR
|
|
run: |
|
|
helm push devcontainer-${{ steps.bump.outputs.version }}.tgz oci://ghcr.io/cpfarhood/charts
|