name: "CodeQL"

on:
  push:
    branches: [ master ]
    paths-ignore:
      - '**/README.md'
      - '.github/ISSUE_TEMPLATE/**'
      - 'docs/**'
      - 'images/**'
      - 'manifest.json'
  pull_request:
    branches: [ master ]
    paths-ignore:
      - '**/README.md'
      - '.github/ISSUE_TEMPLATE/**'
      - 'docs/**'
      - 'images/**'
      - 'manifest.json'

permissions: write-all

jobs:
  analyze:
    name: Analyze
    runs-on: ubuntu-latest

    strategy:
      fail-fast: false
      matrix:
        language: [ 'csharp' ]

    steps:
    - uses: actions/checkout@v4

    - name: Setup .NET
      uses: actions/setup-dotnet@v4
      with:
        dotnet-version: 8.0.x

    - name: Install dependencies
      run: |
        dotnet nuget add source --username ${{ github.repository_owner }} --password ${{ secrets.GITHUB_TOKEN }} --store-password-in-clear-text --name jellyfin-pre "https://nuget.pkg.github.com/jellyfin/index.json"
        dotnet tool install --global dotnet-outdated-tool
        dotnet outdated -pre Always -u -inc Jellyfin

    - name: Initialize CodeQL
      uses: github/codeql-action/init@294a9d92911152fe08befb9ec03e240add280cb3 # v3.26.8
      with:
        languages: ${{ matrix.language }}
        queries: +security-extended
    - name: Autobuild
      uses: github/codeql-action/autobuild@294a9d92911152fe08befb9ec03e240add280cb3 # v3.26.8
    - name: Perform CodeQL Analysis
      uses: github/codeql-action/analyze@294a9d92911152fe08befb9ec03e240add280cb3 # v3.26.8