name: CI | Run kata-monitor tests
on:
  workflow_call:
    inputs:
      tarball-suffix:
        required: false
        type: string
      commit-hash:
        required: false
        type: string
      target-branch:
        required: false
        type: string
        default: ""

jobs:
  run-monitor:
    strategy:
      fail-fast: false
      matrix:
        vmm:
          - qemu
        container_engine:
          - crio
          - containerd
        # TODO: enable when https://github.com/kata-containers/kata-containers/issues/9853 is fixed
        #include:
        #  - container_engine: containerd
        #    containerd_version: lts
        exclude:
          # TODO: enable with containerd when https://github.com/kata-containers/kata-containers/issues/9761 is fixed
          - container_engine: containerd
            vmm: qemu
    runs-on: ubuntu-22.04
    env:
      CONTAINER_ENGINE: ${{ matrix.container_engine }}
      #CONTAINERD_VERSION: ${{ matrix.containerd_version }}
      KATA_HYPERVISOR: ${{ matrix.vmm }}
    steps:
      - uses: actions/checkout@v4
        with:
          ref: ${{ inputs.commit-hash }}
          fetch-depth: 0

      - name: Rebase atop of the latest target branch
        run: |
          ./tests/git-helper.sh "rebase-atop-of-the-latest-target-branch"
        env:
          TARGET_BRANCH: ${{ inputs.target-branch }}

      - name: Install dependencies
        run: bash tests/functional/kata-monitor/gha-run.sh install-dependencies

      - name: get-kata-tarball
        uses: actions/download-artifact@v4
        with:
          name: kata-static-tarball-amd64${{ inputs.tarball-suffix }}
          path: kata-artifacts

      - name: Install kata
        run: bash tests/functional/kata-monitor/gha-run.sh install-kata kata-artifacts

      - name: Run kata-monitor tests
        run: bash tests/functional/kata-monitor/gha-run.sh run