name: "CodeQL"
concurrency:
group: codeql-${{ github.ref_name }}
cancel-in-progress: true
on:
push:
branches: ["main"]
pull_request:
branches: ["main"]
schedule:
- cron: "38 11 * * 6"
workflow_dispatch:
permissions:
actions: read
contents: read
packages: read
security-events: write
jobs:
analyze:
name: Analyze (${{ matrix.language }})
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
language: ["actions", "python", "rust"]
steps:
- name: Checkout repository
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd
- name: Install Rust toolchain
if: matrix.language == 'rust'
uses: actions-rust-lang/setup-rust-toolchain@2b1f5e9b395427c92ee4e3331786ca3c37afe2d7 with:
cache: true
- name: Initialize CodeQL
if: matrix.language != 'rust'
uses: github/codeql-action/init@95e58e9a2cdfd71adc6e0353d5c52f41a045d225 with:
languages: ${{ matrix.language }}
queries: security-extended
- name: Initialize CodeQL (Rust)
if: matrix.language == 'rust'
uses: github/codeql-action/init@95e58e9a2cdfd71adc6e0353d5c52f41a045d225 with:
languages: ${{ matrix.language }}
build-mode: none
queries: security-extended
- name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@95e58e9a2cdfd71adc6e0353d5c52f41a045d225 with:
category: "/language:${{ matrix.language }}"