name: helm-test

on:
  pull_request:
    branches:
      - main
      - release*
    paths:
      - charts/**
      - .github/workflows/helm-test.yaml

concurrency:
  group: ${{ github.workflow }}-${{ github.ref }}
  cancel-in-progress: true

jobs:
  helm-tests:
    runs-on: ubuntu-latest
    steps:
      - name: Checkout
        uses: actions/checkout@8f4b7f84864484a7bf31766abe9204da3cbe65b3 # v3.5.0
      - name: Setup build env
        uses: ./.github/actions/setup-build-env
        with:
          build-cache-key: helm-tests
      - name: Setup python
        uses: actions/setup-python@d27e3f3d7c64b4bbf8e4abfb9b63b83e846e0435 # v4.5.0
        with:
          python-version: 3.7
      - name: Set up chart-testing
        uses: helm/chart-testing-action@e8788873172cb653a90ca2e819d79d65a66d4e76 # v2.4.0
      - name: Run chart-testing (lint)
        run: |
          if [[ $(ct list-changed --target-branch=main) ]];
          then
            ct lint --target-branch=main --check-version-increment=false
          fi
      - name: Setup test env
        uses: ./.github/actions/setup-test-env
      - name: Helm test
        run: make helm-test
      - name: Debug failure
        if: failure()
        uses: ./.github/actions/kyverno-logs
