Skip to content

hiberbee/github-action-helm

Use this GitHub action with your project
Add this Action to an existing workflow or create a new one
View on Marketplace

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

88 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Helm Github Action

License GitHub Action Status GitHub Workflow Version

Install Helm 3.7.0, Helmfile 0.141.0, update repositories if repositories config provided, and optionally executes Helm or Helmfile command

Example

Helm workflow

name: CI
on: push
jobs:
  helm:
    name: Helm
    runs-on: ubuntu-20.04
    steps:
      - name: Checkout sources
        uses: actions/checkout@main

      - name: Get repositories
        uses: hiberbee/github-action-helm@1.5.0
        with:
          helm: repo list
          repository-config: test/repositories.yaml

      - name: Lint chart
        run: helm lint nginx
        working-directory: test/charts

      - name: Install release
        uses: hiberbee/github-action-helm@latest
        with:
          helm: upgrade --install --dry-run nginx test/charts/nginx

Helmfile workflow

name: Helmfile CI
on: push
jobs:
  helmfile:
    name: Helmfile
    runs-on: ubuntu-20.04
    steps:
      - name: Checkout sources
        uses: actions/checkout@main

      - name: Setup K8s cluster
        uses: hiberbee/github-action-minikube@1.5.0

      - name: Apply Helmfile
        uses: hiberbee/github-action-helm@1.3.0
        with:
          helmfile: apply
          helmfile-config: test/helmfile.yaml

      - name: Get ingresses
        run: kubectl get ingress

Repositories config example

By default this Github Action expects repositories.yaml created in repository root directory. Before updating repositories file existance will be checked. If you want to override, use repository-config input argument

apiVersion: v2

repositories:
  - name: stable
    url: https://kubernetes-charts.storage.googleapis.com
    caFile: ""    # optional
    certFile: ""  # optional
    keyFile: ""   # optional
    password: ""  # optional
    username: ""  # optional