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.8.2"

jobs:
  check-and-test:
    runs-on: ubuntu-latest
    container: alpine/helm:3.18.2
    steps:
      - name: install tools
        run: |
          apk update
          apk add --update bash make nodejs npm yamllint ncurses
      - uses: actions/checkout@v4
      - name: install chart dependencies
        run: helm dependency build
      - name: lint
        run: helm lint
      - name: template
        run: helm template --debug gitea-helm .
      - 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
      - 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