name: "CodeQL"

on:
  push:
    branches:
      - main
  pull_request:
    branches:
      - main
    paths-ignore:
      - "**/*.md"
      - "**/*.txt"
  schedule:
    - cron: "30 5 * * 0" # 5:30h on Sundays

jobs:
  analyze:
    name: Analyze
    runs-on: ubuntu-latest
    permissions:
      actions: read
      contents: read
      security-events: write
    container: ${{ vars.SELF_HOSTED_REGISTRY || 'registry.community.greenbone.net' }}/community/gvm-libs:stable

    steps:
      - name: Checkout repository
        uses: actions/checkout@v6
      - name: Initialize CodeQL
        uses: github/codeql-action/init@v4
        with:
          languages: C
        # build between init and analyze ...
      - name: Install build dependencies
        run: sh .github/install-dependencies.sh .github/build-dependencies.list
      - name: Configure and compile gsad
        run: |
          mkdir build
          rm -rf .git
          cd build/
          cmake -DCMAKE_BUILD_TYPE=Debug ..
          make install
      - name: Perform CodeQL Analysis
        uses: github/codeql-action/analyze@v4
