Helm Publisher
A GitHub Action for publishing Helm charts with Github Pages.
Usage
Inputs:
token
The GitHub token with write access to the target repositorycharts_dir
The charts directory, defaults tocharts
charts_url
The GitHub Pages URL, defaults tohttps://<OWNER>.github.io/<REPOSITORY>
owner
The GitHub user or org that owns this repository, defaults to the owner inGITHUB_REPOSITORY
env varrepository
The GitHub repository, defaults to theGITHUB_REPOSITORY
env varbranch
The branch to publish charts, defaults togh-pages
target_dir
The target directory to store the charts, defaults to.
helm_version
The Helm CLI version, defaults to the latest releaselinting
Toggle Helm linting, can be disabled by setting it tooff
commit_username
Explicitly specify username for commit back, default toGITHUB_ACTOR
commit_email
Explicitly specify email for commit back, default toGITHUB_ACTOR@users.noreply.github.com
app_version
Explicitly specify app version in package. If not defined then used chart values.chart_version
Explicitly specify chart version in package. If not defined then used chart values.index_dir
The location ofindex.yaml
file in the repo, defaults to the same value astarget_dir
enterprise_url
The URL of enterprise github server in the format<server-url>/<organisation>
dependencies
A list of helm repositories required to verify dependencies in the format<name>,<url>;<name>,<url>
or if using private repositories<name>,<username>,<password>,<url>;<name>,<username>,<password>,<url>
. Combinations are allowed.
Examples
Package and push all charts in ./charts
dir to gh-pages
branch:
name: release
on:
push:
tags: '*'
jobs:
release:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Publish Helm charts
uses: stefanprodan/helm-gh-pages@master
with:
token: ${{ secrets.GITHUB_TOKEN }}
Package and push charts in ./chart
dir to gh-pages
branch in a different repository:
name: release-chart
on:
push:
tags: 'chart-*'
jobs:
release-chart:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Publish Helm chart
uses: stefanprodan/helm-gh-pages@master
with:
token: ${{ secrets.BOT_GITHUB_TOKEN }}
charts_dir: chart
charts_url: https://charts.fluxcd.io
owner: fluxcd
repository: charts
branch: gh-pages
target_dir: charts
commit_username: johndoe
commit_email: johndoe@example.com
Package chart with specified chart & app versions and push all charts in ./charts
dir to gh-pages
branch:
name: release
on:
push:
tags: '*'
jobs:
release:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Publish Helm charts
uses: stefanprodan/helm-gh-pages@master
with:
token: ${{ secrets.GITHUB_TOKEN }}
app_version: 1.16.0
chart_version: 0.1.0