31af2507fb
* Secured ReadRange service codecs. Added ReadRange unit testing. Secured ReadRange-ACK handler to enable APDU size checking.
119 lines
2.9 KiB
YAML
119 lines
2.9 KiB
YAML
name: Quality
|
|
|
|
on:
|
|
push:
|
|
branches:
|
|
- master
|
|
pull_request:
|
|
branches:
|
|
- '*'
|
|
|
|
jobs:
|
|
pre-commit:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
- uses: actions/setup-python@v5
|
|
- uses: pre-commit/action@v3.0.1
|
|
|
|
scan-build:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
- name: Create LLVM clang-tools scan-build Workspace
|
|
run: |
|
|
sudo apt-get update -qq
|
|
sudo apt-get install -qq clang-tools
|
|
- name: Static Defect Analysis using scan-build
|
|
run: |
|
|
make clean
|
|
make scan-build
|
|
|
|
splint:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
- name: Create SPLint Workspace
|
|
run: |
|
|
sudo apt-get update -qq
|
|
sudo apt-get install -qq splint
|
|
- name: Static Defect Analysis using SPLint
|
|
run: make splint
|
|
|
|
|
|
cppcheck:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
- name: Create CPPcheck Workspace
|
|
run: |
|
|
sudo apt-get update -qq
|
|
sudo apt-get install -qq cppcheck
|
|
- name: Static Defect Analysis using CPPcheck
|
|
run: |
|
|
cppcheck --version
|
|
make clean
|
|
make cppcheck
|
|
|
|
flawfinder:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
- name: Create Flawfinder Workspace
|
|
run: |
|
|
sudo apt-get update -qq
|
|
sudo apt-get install -qq flawfinder
|
|
- name: Static Defect Analysis using flawfinder
|
|
run: |
|
|
flawfinder --version
|
|
make clean
|
|
make flawfinder
|
|
|
|
codespell:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
- name: Create codespell Workspace
|
|
run: |
|
|
sudo apt-get update -qq
|
|
sudo apt-get install -qq codespell
|
|
- name: Static Spelling Analysis using codespell
|
|
run: make spell
|
|
|
|
unittest:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
- name: Create Build Environment
|
|
run: |
|
|
sudo apt-get update -qq
|
|
sudo apt-get install -qq lcov
|
|
- name: Run Unit Test with Code Coverage
|
|
run: make test
|
|
|
|
unittest-secure-connect:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- name: Checkout BACnet Stack
|
|
uses: actions/checkout@v4
|
|
- name: Checkout libwebsockets
|
|
uses: actions/checkout@v4
|
|
with:
|
|
repository: warmcat/libwebsockets
|
|
ref: v4.3-stable
|
|
path: libwebsockets
|
|
- name: Create BACnet/SC Build Environment
|
|
run: |
|
|
sudo apt-get update -qq
|
|
sudo apt-get install -qq lcov
|
|
sudo apt-get install -qq libssl-dev
|
|
sudo apt-get install -qq libcap-dev
|
|
sudo apt-get install -qq libuv1-dev
|
|
bash -c 'cd libwebsockets;mkdir build;cd build;cmake .. -DLWS_WITH_LIBUV=ON -DLWS_WITH_MINIMAL_EXAMPLES=0 -DLWS_MAX_SMP=32;make'
|
|
sudo bash -c 'cd libwebsockets;cd build;make install'
|
|
- name: Run BACnet/SC Unit Test with Code Coverage
|
|
run: |
|
|
pwd
|
|
ls -al
|
|
echo "make test-bsc"
|