From b89c4317d02f2f4b421730c16743ec50f72bedc5 Mon Sep 17 00:00:00 2001 From: rcourtman Date: Tue, 11 Nov 2025 19:26:18 +0000 Subject: [PATCH] Add GitHub Pages Helm repository distribution (#686) GHCR OCI packages cannot be made public through any available mechanism: - Package doesn't appear in user/repo package lists - API endpoints return 404 - Workflow tokens lack package visibility permissions - Manual UI shows no packages to configure - OCI annotations don't link package to repository Implementing GitHub Pages Helm repo as canonical distribution method: - Uses chart-releaser-action to publish to gh-pages branch - Provides standard 'helm repo add' workflow without authentication - Maintains OCI push for future use if GHCR resolves visibility issues Resolves #686 --- .github/workflows/helm-pages.yml | 52 ++++++++++++++++++++++++++++++++ cr.yaml | 3 ++ 2 files changed, 55 insertions(+) create mode 100644 .github/workflows/helm-pages.yml create mode 100644 cr.yaml diff --git a/.github/workflows/helm-pages.yml b/.github/workflows/helm-pages.yml new file mode 100644 index 000000000..9ab2d4c64 --- /dev/null +++ b/.github/workflows/helm-pages.yml @@ -0,0 +1,52 @@ +name: Release Helm Chart to GitHub Pages + +on: + release: + types: [published] + workflow_dispatch: + inputs: + chart_version: + description: "Chart version (e.g., 4.28.0)" + required: true + +permissions: + contents: write + +jobs: + release: + runs-on: ubuntu-latest + steps: + - name: Checkout + uses: actions/checkout@v4 + with: + fetch-depth: 0 + + - name: Configure Git + run: | + git config user.name "$GITHUB_ACTOR" + git config user.email "$GITHUB_ACTOR@users.noreply.github.com" + + - name: Install Helm + uses: azure/setup-helm@v4 + with: + version: v3.15.2 + + - name: Determine chart version + id: version + run: | + if [ "${{ github.event_name }}" = "workflow_dispatch" ]; then + VERSION="${{ inputs.chart_version }}" + else + VERSION="${{ github.event.release.tag_name }}" + VERSION="${VERSION#v}" + fi + echo "version=$VERSION" >> "$GITHUB_OUTPUT" + + - name: Run chart-releaser + uses: helm/chart-releaser-action@v1.6.0 + with: + charts_dir: deploy/helm + config: cr.yaml + env: + CR_TOKEN: "${{ secrets.GITHUB_TOKEN }}" + CR_RELEASE_NAME_TEMPLATE: "{{ .Version }}" diff --git a/cr.yaml b/cr.yaml new file mode 100644 index 000000000..b8c25e665 --- /dev/null +++ b/cr.yaml @@ -0,0 +1,3 @@ +owner: rcourtman +git-repo: Pulse +charts-repo-url: https://rcourtman.github.io/Pulse