on:
  workflow_dispatch:
  schedule:
  - cron: 0 6 * * *
  push:
    branches:
    - main
    paths:
    - '.github/workflows/codeql-analysis.yml'

name: Codeql analysis
permissions:
  contents: read
  security-events: write
jobs:
  scan_linux:
    name: Linux Q${{matrix.quantum}}-x64 hdri=${{matrix.hdri}} (${{matrix.modules}})
    runs-on: ubuntu-24.04

    strategy:
      fail-fast: false
      matrix:
        quantum: [ 16 ]
        hdri: [ yes ]
        modules: [ 'with-modules', 'without-modules' ]

    steps:
    - uses: actions/checkout@v5
      with:
        fetch-depth: 2

    - name: Install dependencies
      run: |
        set -e
        export DEBIAN_FRONTEND=noninteractive
        sudo apt-get update -y
        sudo apt-get install -y libltdl-dev

    - name: Configure ImageMagick
      run: |
        export CFLAGS="-Wno-deprecated-declarations"
        autoreconf -fiv
        ./configure --with-quantum-depth=${{matrix.quantum}} --enable-hdri=${{matrix.hdri}} --${{matrix.modules}}
        echo "" > config.status

    - name: Initialize CodeQL
      uses: github/codeql-action/init@v4
      with:
        languages: cpp

    - name: Build ImageMagick
      run: |
        make

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

  actions:
    name: CodeQL analysis (GitHub Actions)
    runs-on: ubuntu-24.04

    steps:
    - uses: actions/checkout@v5

    - name: Initialize CodeQL
      uses: github/codeql-action/init@v4
      with:
        languages: actions

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