borg/.github/workflows/codeql-analysis.yml
Thomas Waldmann 063c3cb163
CI: update GitHub Actions to Node 24 runtimes
The Node 20 action runtimes are deprecated. Bump all actions to the current
major versions (matching what the master branch uses), which run on Node 24:

- actions/checkout v4 -> v7
- actions/setup-python v5 -> v6
- actions/cache v4 -> v6
- actions/upload-artifact v4 -> v7
- codecov/codecov-action v4 -> v7
- github/codeql-action/{init,analyze} v2 -> v4 (v2 is also fully deprecated)

msys2/setup-msys2 stays at v2 (current). Inputs used (token, env_vars,
name, path, languages) are unchanged across these bumps.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_013bFWgq2KV6oYxmfH6Zqvp3
(cherry picked from commit 774983f6967ba13d05d09cc92ed30065e6d9de56)
2026-07-19 23:27:11 +02:00

69 lines
2.2 KiB
YAML

# CodeQL semantic code analysis engine
name: "CodeQL"
on:
push:
branches: [ 1.2-maint ]
pull_request:
# The branches below must be a subset of the branches above
branches: [ 1.2-maint ]
schedule:
- cron: '39 2 * * 5'
jobs:
analyze:
name: Analyze
runs-on: ubuntu-22.04
permissions:
actions: read
contents: read
security-events: write
strategy:
fail-fast: false
matrix:
language: [ 'cpp', 'python' ]
# CodeQL supports [ 'cpp', 'csharp', 'go', 'java', 'javascript', 'python', 'ruby' ]
# Learn more about CodeQL language support at https://git.io/codeql-language-support
steps:
- name: Checkout repository
uses: actions/checkout@v7
with:
# just fetching 1 commit is not enough for setuptools-scm, so we fetch all
fetch-depth: 0
- name: Set up Python
uses: actions/setup-python@v6
with:
python-version: 3.11
- name: Cache pip
uses: actions/cache@v6
with:
path: ~/.cache/pip
key: ${{ runner.os }}-pip-${{ hashFiles('requirements.d/development.txt') }}
restore-keys: |
${{ runner.os }}-pip-
${{ runner.os }}-
- name: Install requirements
run: |
sudo apt-get update
sudo apt-get install -y pkg-config build-essential
sudo apt-get install -y libssl-dev libacl1-dev libxxhash-dev liblz4-dev libzstd-dev
# Initializes the CodeQL tools for scanning.
- name: Initialize CodeQL
uses: github/codeql-action/init@v4
with:
languages: ${{ matrix.language }}
# If you wish to specify custom queries, you can do so here or in a config file.
# By default, queries listed here will override any specified in a config file.
# Prefix the list here with "+" to use these queries and those in the config file.
# queries: ./path/to/local/query, your-org/your-repo/queries@main
- name: Build and install Borg
run: |
python3 -m venv ../borg-env
source ../borg-env/bin/activate
pip3 install -r requirements.d/development.txt
pip3 install -ve .
- name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@v4