ci support for static code analysis

pull/237/head
Robert Gawron 2020-10-23 17:30:46 +02:00
rodzic bc164f21c5
commit ec2d350ce2
4 zmienionych plików z 60 dodań i 0 usunięć

Wyświetl plik

@ -0,0 +1,43 @@
name: Static Code Analysis
on: [push]
jobs:
build_and_test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v1
- name: install cppcheck and run tests
run: |
sudo apt-get install -y cppcheck
cd ./ContinousIntegration
chmod +x ./run_c_static_code_analysis.sh
ls run_c_static_code_analysis.sh
./run_c_static_code_analysis.sh
- uses: actions/checkout@v1
- name: install flake8 and run tests
if: always()
run: |
sudo pip install flake8 flake8-html
cd ./ContinousIntegration
chmod +x ./run_python_static_code_analysis.sh
ls
./run_python_static_code_analysis.sh
- name: Archive Python results
uses: actions/upload-artifact@v2
if: always()
with:
name: Report for Python sources
path: ./ContinousIntegration/python_lint_repport/
- name: Archive C results
uses: actions/upload-artifact@v2
if: always()
with:
name: Report for C sources
path: ./ContinousIntegration/C_Lint_*.txt

Wyświetl plik

@ -0,0 +1,3 @@
# Continous Integration
This folder contains scripts run by GitHub continuous integration module. These scripts should be also run locally before pull request.

Wyświetl plik

@ -0,0 +1,13 @@
cppcheck --enable=all --inline-suppr --force --quiet --error-exitcode=1 ../Software/Firmware/Inc/* ../Software/Firmware/Src/* 2>C_Lint_ReportFull.txt
# look for errors in gm_files (those are aplicatin files where we are interested in errors)
# store them to separate log ans show them on stdout
grep -F '[../Software/NUCLEO-F091RC/Src/gm_' C_Lint_ReportFull.txt > C_Lint_ReportApplicationOnly.txt
cat C_Lint_ReportApplicationOnly.txt
# set exit code to ok if no errors were found in aplication files
if [ $(cat C_Lint_ReportApplicationOnly.txt | wc -l) -eq 0 ]; then
true
else
false
fi

Wyświetl plik

@ -0,0 +1 @@
flake8 --format=html --htmldir=python_lint_repport ../Software/DataAcquisition/