Skip to content

CodeQL

CodeQL #441

name: "CodeQL"
on:
push:
branches: [master, ]
pull_request:
# The branches below must be a subset of the branches above
branches: [master]
schedule:
- cron: '0 5 * * 0'
jobs:
analyse:
name: Analyse
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v3
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: dependencies
run: |
sudo apt-get update
sudo apt-get install -y cmake pkg-config libsystemd-dev libmicrohttpd-dev libgnutls28-dev libjansson-dev libcurl4-gnutls-dev zlib1g-dev gnutls-bin doxygen
cd /opt
git clone https://github.com/babelouest/orcania.git
git clone https://github.com/babelouest/yder.git
mkdir build
cd build
cmake -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=lib ../orcania
make
sudo make install
rm -rf *
cmake -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=lib ../yder
make
sudo make install
rm -rf *
- name: Initialize CodeQL
uses: github/codeql-action/init@v3
- run: |
# prepare build folders
mkdir build
mkdir example_programs/build
# build ulfius, run tests, build package
cd build
cmake -DBUILD_ULFIUS_DOCUMENTATION=on ..
make
make doc
sudo make install
# build examples
cd ../example_programs/build
cmake ..
make
- name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@v3