name: check-and-test

on:
  pull_request:
    branches:
      - "*"
  push:
    branches:
      - main

env:
  # renovate: datasource=github-releases depName=helm-unittest/helm-unittest
  HELM_UNITTEST_VERSION: "v0.7.2"

jobs:
  check-and-test:
    runs-on: ubuntu-latest
    container: alpine/helm:3.17.1
    steps:
      - name: install tools
        run: |
          apk update
          apk add --update bash make nodejs npm yamllint ncurses
      - name: Install pnpm
        uses: pnpm/action-setup@v4
        with:
          version: 10
      - uses: actions/checkout@v4
      - name: install chart dependencies
        run: helm dependency build
      - name: lint
        run: helm lint
      - name: template
        run: helm template --debug gitea-actions .
      - name: prepare unit test environment
        run: |
          helm plugin install --version ${{ env.HELM_UNITTEST_VERSION }} https://github.com/helm-unittest/helm-unittest
          git submodule update --init --recursive
      - name: unit tests
        env:
          TERM: xterm
        run: |
          make unittests-helm
      - name: verify readme
        run: |
          make readme
          git diff --exit-code --name-only README.md
      - name: yaml lint
        uses: https://github.com/ibiqlik/action-yamllint@v3