Skip to content
Latchkey

helm workflow (spegel-org/spegel)

The helm workflow from spegel-org/spegel, explained and optimized by Latchkey.

C

CI health: C - fair

Point runs-on at Latchkey and get run de-duplication, job timeouts, self-healing for flaky steps, and up to 58% lower cost, applied automatically.

Grade your own workflow free or run it on Latchkey →
Source: spegel-org/spegel.github/workflows/helm.yamlLicense MITView source

What it does

This is the helm workflow from the spegel-org/spegel repository, a real project running GitHub Actions. It is shown here with attribution under its MIT license.

Below, Latchkey shows a faster, safer version produced by its optimization engine.

The workflow

workflow (.yml)
name: helm
on:
  pull_request:
permissions:
  contents: read
defaults:
  run:
    shell: bash
jobs:
  verfiy:
    runs-on: ubuntu-latest
    defaults:
      run:
        working-directory: ./charts/spegel
    steps:
      - name: Checkout
        uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 #v6.0.3
      - name: Setup Helm unittest
        run: helm plugin install https://github.com/helm-unittest/helm-unittest.git
      - name: Run lint
        run: helm lint .
      - name: Run tests
        run: helm unittest .
  docs:
    runs-on: ubuntu-latest
    steps:
      - name: Checkout
        uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 #v6.0.3
      - name: Setup Go
        uses: actions/setup-go@4a3601121dd01d1626a1e23e37211e3254c1c06c #v6.4.0
        with:
          go-version-file: go.mod
      - name: Generate docs
        run: make -B generate
      - name: Check if working tree is dirty
        run: |
          if [[ $(git diff --stat) != '' ]]; then
            git diff
            echo 'run make generate and commit changes'
            exit 1
          fi

The same workflow, on Latchkey

Removes redundant runs and caps runaway jobs. Added and changed lines are highlighted.

name: helm
on:
  pull_request:
permissions:
  contents: read
defaults:
  run:
    shell: bash
concurrency:
  group: ${{ github.workflow }}-${{ github.ref }}
  cancel-in-progress: true
 
jobs:
  verfiy:
    timeout-minutes: 30
    runs-on: latchkey-small
    defaults:
      run:
        working-directory: ./charts/spegel
    steps:
      - name: Checkout
        uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 #v6.0.3
      - name: Setup Helm unittest
        run: helm plugin install https://github.com/helm-unittest/helm-unittest.git
      - name: Run lint
        run: helm lint .
      - name: Run tests
        run: helm unittest .
  docs:
    timeout-minutes: 30
    runs-on: latchkey-small
    steps:
      - name: Checkout
        uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 #v6.0.3
      - name: Setup Go
        uses: actions/setup-go@4a3601121dd01d1626a1e23e37211e3254c1c06c #v6.4.0
        with:
          go-version-file: go.mod
      - name: Generate docs
        run: make -B generate
      - name: Check if working tree is dirty
        run: |
          if [[ $(git diff --stat) != '' ]]; then
            git diff
            echo 'run make generate and commit changes'
            exit 1
          fi
 

What changed

This workflow runs 2 jobs per trigger. On Latchkey the same minutes cost up to 58% less than GitHub-hosted, with zero queue time.

Actions used in this workflow