Skip to content

Helm Unit Tests

Actions
Run Helm chart unit tests with quintush/helm-unittest
v2
Latest
Star (10)

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

Helm Unit Tests is not certified by GitHub. It is provided by a third-party and is governed by separate terms of service, privacy policy, and support documentation.

About

Run Helm chart unit tests with quintush/helm-unittest
v2
Latest

Helm Unit Tests is not certified by GitHub. It is provided by a third-party and is governed by separate terms of service, privacy policy, and support documentation.