tinyphone/.github/workflows/codeql-analysis.yml
2025-02-13 15:32:51 +05:30

105 lines
2.9 KiB
YAML
Raw Permalink Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

name: "CodeQL"
on:
push:
branches: [ master ]
pull_request:
# The branches below must be a subset of the branches above
branches: [ master ]
schedule:
- cron: '40 4 * * 1'
jobs:
analyze:
name: Analyze
permissions:
actions: read
contents: read
security-events: write
runs-on: ubuntu-24.04
strategy:
fail-fast: false
matrix:
language: [ 'cpp' ]
# 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
uses: actions/checkout@v3
with:
submodules: 'recursive'
- name: Disable IPv6
shell: bash -l {0}
run: echo "DISABLE_IPV6=1" >> $GITHUB_ENV
- name: Install Dependencies
shell: bash
run : |
sudo apt-get update
sudo apt-get install -y build-essential cmake libcurl4-openssl-dev pkg-config libboost1.83-all-dev libasound-dev
# Initializes the CodeQL tools for scanning.
- name: Initialize CodeQL
uses: github/codeql-action/init@v3
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: Compile Libraries
run : |
pushd lib/cryptopp/
make
sudo make install
popd
pushd lib/pjproject
cat >./pjlib/include/pj/config_site.h <<EOL
#define ENABLE_SIP_TCP 1
#define PJ_HAS_TCP 1
#define PJMEDIA_AUDIO_DEV_HAS_WASAPI 0
#define PJMEDIA_AUDIO_DEV_HAS_WMME 0
EOL
cat ./pjlib/include/pj/config_site.h
./configure
make realclean
make dep
make
sudo make install
popd
- name: Build Project
run : |
pushd tinyphone-linux
mkdir build
cd build
cmake -DCMAKE_BUILD_TYPE=Release ..
make
# # Autobuild attempts to build any compiled languages (C/C++, C#, or Java).
# # If this step fails, then you should remove it and run the build manually (see below)
# - name: Autobuild
# uses: github/codeql-action/autobuild@v2
# Command-line programs to run using the OS shell.
# 📚 https://git.io/JvXDl
# ✏️ If the Autobuild fails above, remove it and uncomment the following three lines
# and modify them (or add more) to build your code if your project
# uses a compiled language
#- run: |
# make bootstrap
# make release
- name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@v3