mamezou-tech / setup-helmfile

Setup helmfile action
MIT License
41 stars 20 forks source link
github-actions helm helmfile

@mamezou-tech/setup-helmfile

CI

Setup helmfile with Helm and kubectl in GitHub Actions workflow.

name: CI
on: [push]
jobs:
  build:
    runs-on: ubuntu-latest
    steps:
    - uses: actions/checkout@v3
    - name: Setup helmfile
      uses: mamezou-tech/setup-helmfile@v2.0.0
    - name: Test
      run: |
        helmfile --version
        helm version
        kubectl version --client

[!Important] This action requires Node 20 or later on the runner. If you are using GitHub-managed runners, no action is needed. If you are using self-hosted runners, make sure the system version of Node is version 20 or higher.

Optional Inputs

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/setup-helmfile@v2.0.0
      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/setup-helmfile@v2.0.0
      with:
        install-kubectl: no
        install-helm: no

If you want to install certain plugins other than the default plugins, use additional-helm-plugins, which accepts a comma separated list of additional plugins to install, accepting anything that can be passed to helm plugin install.

jobs:
  build:
    runs-on: ubuntu-latest
    steps:
    - name: Setup helmfile
      uses: mamezou-tech/setup-helmfile@v2.0.0
      with:
        additional-helm-plugins: https://github.com/aslafy-z/helm-git --version 0.10.0

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/setup-helmfile@v2.0.0
      with:
        install-helm-plugins: no

Build action (for maintainer)

npm install
npm run package

dist/index.js shoud be included in commit.