name: "CodeQL"

on:
  push:
#   branches: [master, ]
  pull_request:
    # The branches below must be a subset of the branches above
    branches: [master]
  schedule:
    - cron: '0 14 * * 5'

concurrency:
  group: ${{ github.workflow }}-${{ github.ref }}
  cancel-in-progress: true

permissions: { }

jobs:
#  analyzeW:
#    name: Analyze-Windows
#    runs-on: windows-latest
#    steps:
#    - name: Checkout repository
#      uses: actions/checkout@v4
#      with:
        # We must fetch at least the immediate parents so that if this is
        # a pull request then we can checkout the head.
#        fetch-depth: 2

    # If this run was triggered by a pull request event, then checkout
    # the head of the pull request instead of the merge commit.
 #   - run: git checkout HEAD^2
 #     if: ${{ github.event_name == 'pull_request' }}

    # Initializes the CodeQL tools for scanning.
 #   - name: Initialize CodeQL
 #     uses: github/codeql-action/init@v3
  
  
  analyzeL:
    permissions:
      actions: read  # for github/codeql-action/init to get workflow details
      contents: read  # for actions/checkout to fetch code
      security-events: write  # for github/codeql-action/analyze to upload SARIF results
    name: Analyze-Linux
    runs-on: ubuntu-latest

    steps:
    - name: Checkout repository
      uses: actions/checkout@v4.1.1
      with:
        # We must fetch at least the immediate parents so that if this is
        # a pull request then we can checkout the head.
        fetch-depth: 2

    - name: Update environment
      run: |
       sudo apt-get update
       sudo ./Misc/setup-linux-dev-env.sh

    - name: Configure
      run: cmake -B build --preset release

    # Initializes the CodeQL tools for scanning.
    - name: Initialize CodeQL
      uses: github/codeql-action/init@v3
      # Override language selection by uncommenting this and choosing your languages
      with:
        languages: cpp

    # Autobuild attempts to build any compiled languages  (C/C++, C#, or Java).
    # If this step fails, then you should remove it and run the build manually (see below)
    # - name: Autobuild
    #   uses: github/codeql-action/autobuild@v3

    # ℹ️ Command-line programs to run using the OS shell.
    # 📚 https://git.io/JvXDl

    # ✏️ If the Autobuild fails above, remove it and uncomment the following three lines
    #    and modify them (or add more) to build your code if your project
    #    uses a compiled language

    - name: Build
      run: cmake --build build -j

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