Skip to content
check-square

GitHub Action

Helm Unit Tests

v2 Latest version

Helm Unit Tests

check-square

Helm Unit Tests

Run Helm chart unit tests with quintush/helm-unittest

Installation

Copy and paste the following snippet into your .yml file.

              

- name: Helm Unit Tests

uses: d3adb5/helm-unittest-action@v2

Learn more about this action in d3adb5/helm-unittest-action

Choose a version

Run Helm chart unit tests

Composite action that installs the desired version of Helm through azure/setup-helm, the latest version of the helm-unittest plugin, and then executes chart unit tests for the specified charts or, if none are specified, for every chart found in the repository.

Options

Input Description Required Default
flags Which flags to pass to helm-unittest when running unit tests. No --color
charts Paths to the charts to be tested, separated by spaces. If empty, all charts found are tested. No ""
install-mode One of "force", "if-not-present", or "". More information below. No ""
unittest-version Which version of the helm-unittest plugin to install. Defaults to latest. No ""
helm-version Which version of Helm to install. Passed to azure/setup-helm. Yes latest
github-token GitHub token for the workflow. Passed to azure/setup-helm. Not always needed! No ""

The github-token input is necessary only when installing the latest version of Helm, to overcome GitHub API rate limits. If not given, refer to the azure/setup-helm README for more information.

Unittest Version

unittest-version can be set to an empty string, or to latest. This allows a github variable to be used to "pin" a version, or to use latest since you cannot set a variable to an empty string.

Installation mode

The install-mode input controls how helm-unittest should be installed. These are the available installation modes:

install-mode Behavior
force Installs over any previous version of the plugin.
if-not-present Skips installation if there's a plugin called unittest already installed.
empty Attempts to install the plugin normally. Will fail if already installed.

Examples

This composite action can be used in any workflow that requires Helm unit tests. For every chart it finds, it will run helm dependency update to ensure chart dependencies are present.

name: CI

on: pull_request

jobs:
  unittest:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v3
      - uses: d3adb5/helm-unittest-action@v2
        with:
          helm-version: v3.8.0
          github-token: ${{ secrets.GITHUB_TOKEN }}

Note that after the action itself, Helm is installed, so you can run additional Helm commands in the same action if you so choose:

name: CI

on: pull_request

jobs:
  unittest:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v3
      - uses: d3adb5/helm-unittest-action@v2
      - run: helm lint my-chart