name: Cloud Hypervisor Tests (VFIO)
on: [merge_group, pull_request]
concurrency:
  group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}-${{ github.event_name }}
  cancel-in-progress: true

jobs:
  build:
    name: Tests (VFIO)
    runs-on: ${{ github.event_name == 'pull_request' && 'ubuntu-latest' || 'vfio-nvidia' }}
    env:
      AUTH_DOWNLOAD_TOKEN: ${{ secrets.AUTH_DOWNLOAD_TOKEN }}
    steps:
      - name: Fix workspace permissions
        if: ${{ github.event_name != 'pull_request' }}
        run: sudo chown -R github-runner:github-runner "${GITHUB_WORKSPACE}"
      - name: Code checkout
        if: ${{ github.event_name != 'pull_request' }}
        uses: actions/checkout@v6
        with:
          fetch-depth: 0
      - name: Run VFIO integration tests
        if: ${{ github.event_name != 'pull_request' }}
        timeout-minutes: 15
        run: scripts/dev_cli.sh tests --integration-vfio
      # Most tests are failing with musl see #6790
      # - name: Run VFIO integration tests for musl
      #   if: ${{ github.event_name != 'pull_request' }}
      #   timeout-minutes: 15
      #   run: scripts/dev_cli.sh tests --integration-vfio --libc musl
      - name: Skipping build for PR
        if: ${{ github.event_name == 'pull_request' }}
        run: echo "Skipping build for PR"
