---
# vi: ts=2 sw=2 et:
# SPDX-License-Identifier: LGPL-2.1-or-later
#
name: "CodeQL"

on:  # yamllint disable-line rule:truthy
    push:
        branches:
            - main
        paths:
            - 'src/**'
    pull_request:
        branches:
            - main
        paths:
            - 'src/**'

permissions:
    contents: read

jobs:
    analyze:
        name: Analyze
        runs-on: ubuntu-latest
        concurrency:
            group: codeql-${{ github.workflow }}-${{ matrix.language }}-${{ github.ref }}
            cancel-in-progress: true
        permissions:
            actions: read
            security-events: write

        strategy:
            fail-fast: false
            matrix:
                language: ['cpp', 'python']

        steps:
            - name: Checkout repository
              uses: actions/checkout@v6

            - name: Initialize CodeQL
              uses: github/codeql-action/init@v4
              with:
                  languages: ${{ matrix.language }}
                  queries: +security-extended,security-and-quality

            - name: Install dependencies
              run: |
                  sudo apt-get -y update
                  sudo apt-get -y install asciidoctor gcc libkmod-dev libsystemd-dev pkg-config

            - name: Autobuild
              uses: github/codeql-action/autobuild@v4

            - name: Perform CodeQL Analysis
              uses: github/codeql-action/analyze@v4
