name: Validate on: push: branches: [main, develop] pull_request: branches: [main, develop] jobs: build-and-test: runs-on: ubuntu-latest steps: - name: Checkout uses: actions/checkout@v4 - name: Install build dependencies run: | sudo apt-get update sudo apt-get install -y --no-install-recommends \ build-essential gcc make \ cppcheck \ lcov \ python3 python3-pip \ git ca-certificates - name: Static Analysis (Cppcheck) run: make static - name: MISRA Check run: | make misra || echo "MISRA findings present (Demo macht den Check non-failing)" - name: Build + Unit Tests run: make test - name: Coverage Report run: make coverage - name: Traceability Check run: python3 tools/traceability.py check - name: Traceability Matrix publishen run: python3 tools/traceability.py publish docs/traceability - name: PlantUML Diagramme rendern run: python3 tools/render_plantuml.py - name: Upload Coverage HTML uses: actions/upload-artifact@v3 if: always() with: name: coverage-html path: build/coverage-html/ - name: Upload Traceability Matrix uses: actions/upload-artifact@v3 if: always() with: name: traceability path: docs/traceability/ - name: Upload Architektur-Diagramme uses: actions/upload-artifact@v3 if: always() with: name: architecture-diagrams path: docs/diagrams/ - name: Upload Test Results uses: actions/upload-artifact@v3 if: always() with: name: test-output path: build/