This repository hosts Helm charts released via GitHub Pages using the helm/chart-releaser-action.
helm-charts/: Source charts (each directory is one chart).github/workflows/release-charts.yml: Release workflowcr.yaml: Chart Releaser configuration
- You bump the
versionfield inChart.yamlof a chart underhelm-charts/<chartName>. - Commit and push to
main(the workflow is triggered only when paths underhelm-charts/**change or when run manually). - The GitHub Action packages changed charts and creates GitHub Releases (one per chart version) attaching the
.tgzartifact(s). - The action regenerates/updates
index.yamlin thegh-pagesbranch which backs the public Helm repo.
Run these steps once after merging the workflow:
# Create the gh-pages branch (empty orphan) if it does not exist
git checkout --orphan gh-pages
rm -rf *
echo "Helm chart index will be published here" > README.md
git add README.md
git commit -m "Initialize gh-pages for Helm index"
git push origin gh-pages
# Return to main
git checkout mainThen in GitHub repository settings:
- Settings > Pages > Build and deployment: Select
Deploy from a branch - Branch:
gh-pages/ root (/)
After the first successful workflow run, index.yaml will appear on gh-pages.
- Create a directory
helm-charts/<newchart>. - Add
Chart.yaml,values.yaml,templates/etc. - Commit and push (ensure
Chart.yamlhas a uniqueversionnot previously released for that chart).
Once gh-pages is published (replace USER/REPO):
helm repo add charttest https://dsteveom.github.io/charttest
helm repo update
helm search repo charttest- Increment the
versionin the chart'sChart.yaml(SemVer). The action will skip if the version already exists. - Optionally update
appVersionto reflect upstream application changes.
| Symptom | Cause | Fix |
|---|---|---|
| Workflow succeeds but index.yaml missing | gh-pages branch not initialized | Follow first-time setup steps |
| Release not created | Version unchanged or already released | Bump version in Chart.yaml |
| 404 when adding repo | Pages not configured | Enable GitHub Pages for gh-pages branch |
CR_TOKEN uses the default GITHUB_TOKEN with contents: write permission. No PAT is required unless you need cross-repo writes.
Happy charting!