name: Unit Tests

on:
  push:
  pull_request:
  schedule:
    - cron: '0 8 * * *'

jobs:
  test:
    runs-on: ubuntu-24.04
    name: Run unit tests

    steps:
      - name: Checkout source
        uses: actions/checkout@v4

      - name: Update APT cache
        run: |
          sudo apt-get update

      - name: Get build dependencies
        run: |
          echo "Generating Debian source for usage on Ubuntu/noble / ubuntu-24.04"
          cd pkg/deb/
          ./generator.sh
          ./backports/noble
          rm -rf debian
          mv noble debian
          echo "Installing Debian packages"
          sudo apt-get build-dep -q -y .

      - name: Run unit tests with sanitizers enabled
        run: |
          make asan-check
