CI #135
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: "CI" | |
on: | |
push: | |
branches: [ main ] | |
pull_request: | |
branches: [ main ] | |
schedule: | |
- cron: '35 20 * * 5' | |
jobs: | |
analyze: | |
name: Build-Analyze | |
runs-on: ubuntu-latest | |
permissions: | |
actions: read | |
contents: read | |
security-events: write | |
strategy: | |
fail-fast: false | |
matrix: | |
language: [ 'cpp' ] | |
steps: | |
- name: Checkout repository | |
uses: actions/checkout@v2 | |
- name: Checkout sub-modules | |
run: | | |
git submodule update --init --recursive | |
- name: Initialize CodeQL | |
uses: github/codeql-action/init@v1 | |
with: | |
languages: ${{ matrix.language }} | |
- name: Install dependencies and build | |
run: | | |
sudo apt-get -y update | |
sudo apt-get -y install build-essential cmake libfftw3-dev libusb-1.0-0-dev librtlsdr-dev libcurl4-gnutls-dev | |
make | |
- name: SAST check (C/C++ code analysis) | |
run: | | |
sudo apt-get -y install cppcheck | |
echo "===== CPPCHECK =====" | |
cppcheck --std=c11 *.c | |
- name: Cpplint check (formatting & best-practice check) | |
run: | | |
pip install cpplint | |
echo "===== CPPLINT =====" | |
cpplint --linelength=1000 --extensions=c --headers=h *.c || true | |
- name: Codespell check (because of my spelling...) | |
run: | | |
pip install codespell | |
echo "===== CODESPELL =====" | |
codespell -L 'rcall' *.c *.h | |
- name: Perform CodeQL Analysis | |
uses: github/codeql-action/analyze@v1 | |
# TODO: use iwyu |