2022-01-22 14:00:45 +00:00
|
|
|
# CodeQL semantic code analysis engine
|
|
|
|
|
2022-01-22 12:50:27 +00:00
|
|
|
name: "CodeQL"
|
|
|
|
|
|
|
|
on:
|
|
|
|
push:
|
|
|
|
branches: [ master ]
|
|
|
|
pull_request:
|
|
|
|
# The branches below must be a subset of the branches above
|
|
|
|
branches: [ master ]
|
|
|
|
schedule:
|
|
|
|
- cron: '39 2 * * 5'
|
|
|
|
|
|
|
|
jobs:
|
|
|
|
analyze:
|
|
|
|
name: Analyze
|
2023-08-26 12:40:53 +00:00
|
|
|
runs-on: ubuntu-22.04
|
2022-01-22 12:50:27 +00:00
|
|
|
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
|
2024-03-15 14:12:48 +00:00
|
|
|
uses: actions/checkout@v4
|
2022-01-22 14:00:45 +00:00
|
|
|
with:
|
|
|
|
# just fetching 1 commit is not enough for setuptools-scm, so we fetch all
|
|
|
|
fetch-depth: 0
|
2022-02-25 23:13:19 +00:00
|
|
|
- name: Set up Python
|
2024-03-15 14:12:48 +00:00
|
|
|
uses: actions/setup-python@v5
|
2022-02-25 23:13:19 +00:00
|
|
|
with:
|
2024-03-15 14:12:48 +00:00
|
|
|
python-version: 3.11
|
2022-01-22 14:00:45 +00:00
|
|
|
- name: Cache pip
|
2024-03-15 14:12:48 +00:00
|
|
|
uses: actions/cache@v4
|
2022-01-22 14:00:45 +00:00
|
|
|
with:
|
|
|
|
path: ~/.cache/pip
|
|
|
|
key: ${{ runner.os }}-pip-${{ hashFiles('requirements.d/development.txt') }}
|
|
|
|
restore-keys: |
|
|
|
|
${{ runner.os }}-pip-
|
|
|
|
${{ runner.os }}-
|
2022-03-05 21:03:36 +00:00
|
|
|
- name: Install requirements
|
2022-01-22 14:00:45 +00:00
|
|
|
run: |
|
2022-02-26 21:35:47 +00:00
|
|
|
sudo apt-get update
|
|
|
|
sudo apt-get install -y pkg-config build-essential
|
2022-07-04 18:26:42 +00:00
|
|
|
sudo apt-get install -y libssl-dev libacl1-dev libxxhash-dev liblz4-dev libzstd-dev
|
2022-03-05 21:03:36 +00:00
|
|
|
# Initializes the CodeQL tools for scanning.
|
|
|
|
- name: Initialize CodeQL
|
2023-03-27 12:46:16 +00:00
|
|
|
uses: github/codeql-action/init@v2
|
2022-03-05 21:03:36 +00:00
|
|
|
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: |
|
2022-03-01 05:44:40 +00:00
|
|
|
python3 -m venv ../borg-env
|
|
|
|
source ../borg-env/bin/activate
|
2022-02-26 21:35:47 +00:00
|
|
|
pip3 install -r requirements.d/development.txt
|
2024-03-15 14:12:48 +00:00
|
|
|
pip3 install -ve .
|
2022-01-22 12:50:27 +00:00
|
|
|
- name: Perform CodeQL Analysis
|
2023-03-27 12:46:16 +00:00
|
|
|
uses: github/codeql-action/analyze@v2
|