Setup helmfile with Helm and kubectl in GitHub Actions workflow.
- This action works on Linux.
- The AWS version of kubectl will be installed.
- Following Helm plugins will be installed
- helm-diff
- helm-s3
name: CI
on: [push]
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v1
- name: Setup helmfile
uses: mamezou-tech/[email protected]
- name: Test
run: |
helmfile --version
helm version
kubectl version --client
helmfile-version
: helmfile version. Default"v0.126.2"
.helm-version
: Helm version. Default"v3.3.1"
kubectl-version
: kubectl version. Default1.16.13
kubectl-release-date
: kubectl release date. Default2020-08-04
install-kubectl
: Install kubectl. Defaultyes
install-helm
: Install Helm. Defaultyes
install-helm-plugins
: Install Helm plugins. Defaultyes
install-wrapper
: Install Helmfile wrapper. Defaultyes
See "Installing kubectl - Amazon EKS" for information how to specify the kubectl version.
Example with optional inputs
name: CI
on: [push]
jobs:
build:
runs-on: ubuntu-latest
steps:
- name: Setup helmfile
uses: mamezou-tech/[email protected]
with:
helmfile-version: "v0.135.0"
If you are not particular about the version of kubectl / Helm and you can use the versions pre-installed on GitHub Actions runner, you can specify inputs not to install them.
Notice: Helm plugins will be installed in this case.
jobs:
build:
runs-on: ubuntu-latest
steps:
- name: Setup helmfile
uses: mamezou-tech/[email protected]
with:
install-kubectl: no
install-helm: no
If you don't want helm plugins installed, specify no
for install-helm-plugins
.
jobs:
build:
runs-on: ubuntu-latest
steps:
- name: Setup helmfile
uses: mamezou-tech/[email protected]
with:
install-helm-plugins: no
The wrapper script installation can be skipped.
steps:
- uses: mamezou-tech/[email protected]
with:
install-wrapper: false
Subsequent steps can access outputs when the wrapper script is installed.
steps:
- uses: mamezou-tech/[email protected]
- id: diff
run: helmfile --no-color diff
- run: echo ${{ steps.diff.outputs.stdout }}
- run: echo ${{ steps.diff.outputs.stderr }}
- run: echo ${{ steps.diff.outputs.exitcode }}
$ npm install
$ npm run package
dist/index.js
shoud be included in commit.