Skip to content

samcday/setup-helmfile

 
 

Repository files navigation

@mamezou-tech/setup-helmfile

CI

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

Optional Inputs

  • helmfile-version : helmfile version. Default "v0.126.2".
  • helm-version : Helm version. Default "v3.3.1"
  • kubectl-version : kubectl version. Default 1.16.13
  • kubectl-release-date : kubectl release date. Default 2020-08-04
  • install-kubectl : Install kubectl. Default yes
  • install-helm : Install Helm. Default yes
  • install-helm-plugins : Install Helm plugins. Default yes
  • install-wrapper : Install Helmfile wrapper. Default yes

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 }}

Build action (for maintainer)

$ npm install
$ npm run package

dist/index.js shoud be included in commit.

About

Setup helmfile action

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • JavaScript 100.0%