name: Quality on: push: branches: - master pull_request: branches: - '*' jobs: pre-commit: runs-on: ubuntu-latest steps: - uses: actions/checkout@v6 - uses: actions/setup-python@v6 - uses: pre-commit/action@v3.0.1 scan-build: runs-on: ubuntu-latest steps: - uses: actions/checkout@v6 - 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@v6 - 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@v6 - 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@v6 - 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@v6 - 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@v6 - 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@v6 - name: Checkout libwebsockets uses: actions/checkout@v6 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 -DCMAKE_POLICY_VERSION_MINIMUM=3.5;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"