From cf525f3c25b533cef31592b92b42185311e823cd Mon Sep 17 00:00:00 2001 From: Stephan Schwarz Date: Thu, 26 Mar 2026 11:45:09 +0100 Subject: [PATCH] feat: add Helm chart publishing workflow to release process --- .github/workflows/release.yaml | 40 ++++++++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) diff --git a/.github/workflows/release.yaml b/.github/workflows/release.yaml index ffb90d06..5cb9461c 100644 --- a/.github/workflows/release.yaml +++ b/.github/workflows/release.yaml @@ -79,3 +79,43 @@ jobs: gh release upload "$VERSION" --clobber \ bin/kelos-* \ bin/checksums.txt + + publish-helm-chart: + if: startsWith(github.ref, 'refs/tags/v') + runs-on: ubuntu-latest + needs: release + permissions: + contents: read + packages: write + steps: + - uses: actions/checkout@v4 + + - name: Install Helm + uses: azure/setup-helm@v4 + with: + version: 3.20.1 + + - name: Determine version + id: version + run: | + # Extract version without 'v' prefix (e.g., v1.2.3 -> 1.2.3) + VERSION=${GITHUB_REF#refs/tags/v} + echo "version=$VERSION" >> "$GITHUB_OUTPUT" + + - name: Login to GHCR + run: | + helm registry login ghcr.io \ + -u ${{ github.actor }} \ + -p ${{ secrets.GITHUB_TOKEN }} + + - name: Package Helm chart + run: | + mkdir -p /tmp/charts + helm package internal/manifests/charts/kelos \ + --version ${{ steps.version.outputs.version }} \ + --app-version ${{ github.ref_name }} \ + --destination /tmp/charts + + - name: Push Helm chart to GHCR + run: | + helm push /tmp/charts/kelos-${{ steps.version.outputs.version }}.tgz oci://ghcr.io/kelos-dev/charts