From 03061e695a098c52aedb32c42ef9f915176da09e Mon Sep 17 00:00:00 2001 From: Timofte Bogdan Date: Tue, 27 Jan 2026 15:43:41 +0100 Subject: [PATCH 1/3] Trigger a PR --- README.md | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index c371e059..39c43161 100644 --- a/README.md +++ b/README.md @@ -2,7 +2,7 @@ [![Eclipse Score](https://img.shields.io/badge/Eclipse-Score-orange.svg)](https://eclipse-score.github.io/score/main/modules/communication/index.html) -- A high-performance, safety-critical communication middleware implementation based on the Adaptive AUTOSAR Communication Management specification. +- A high-performance, safety-critical communication middleware implementation based on the Adaptive AUTOSAR Communication Management specification. - This module provides zero-copy, shared-memory based inter-process communication (IPC) in embedded systems. ## Overview @@ -45,7 +45,7 @@ The module consists of two main components: ``` Flow Steps: 1. Publisher registers service with unique identifier -2. Subscriber searches for services by identifier +2. Subscriber searches for services by identifier 3. Service discovery matches publisher and subscriber 4. Publisher sends data to shared memory (zero-copy) 5. Subscriber receives notification of new data @@ -63,11 +63,11 @@ Sensor App ──► [Temperature Data] ──► Dashboard App (30ms intervals) (Real-time display) ``` -### Pattern 2: Multi-Subscriber Broadcasting +### Pattern 2: Multi-Subscriber Broadcasting ``` For example: Camera App ──► [Video Frame] ──┬──► Display App - ├──► Recording App + ├──► Recording App └──► AI Processing App ``` @@ -142,3 +142,5 @@ We welcome contributions! See our [Contributing Guide](CONTRIBUTING.md) for deta --- **Note**: This is an open-source project under the Eclipse Foundation. It implements automotive-grade communication middleware suitable for safety-critical applications. + +Test changes for triggering a PR \ No newline at end of file From d2a1e6a181d9509c9a6642aa4769c0d3dccf4ae1 Mon Sep 17 00:00:00 2001 From: Timofte Bogdan Date: Tue, 27 Jan 2026 17:28:34 +0100 Subject: [PATCH 2/3] Add github action for PR code coverage trigger --- .github/workflows/pr_coverage_report.yml | 92 +++++++++++++++++++ .github/workflows/release_coverage_report.yml | 2 +- 2 files changed, 93 insertions(+), 1 deletion(-) create mode 100644 .github/workflows/pr_coverage_report.yml diff --git a/.github/workflows/pr_coverage_report.yml b/.github/workflows/pr_coverage_report.yml new file mode 100644 index 00000000..83b21ef9 --- /dev/null +++ b/.github/workflows/pr_coverage_report.yml @@ -0,0 +1,92 @@ +# ******************************************************************************* +# Copyright (c) 2024 Contributors to the Eclipse Foundation +# +# See the NOTICE file(s) distributed with this work for additional +# information regarding copyright ownership. +# +# This program and the accompanying materials are made available under the +# terms of the Apache License Version 2.0 which is available at +# https://www.apache.org/licenses/LICENSE-2.0 +# +# SPDX-License-Identifier: Apache-2.0 +# ******************************************************************************* + +name: PR Coverage Report + +on: + pull_request: + workflow_dispatch: + +jobs: + coverage-report: + runs-on: ubuntu-24.04 + permissions: + contents: read + + steps: + - name: Checkout Repository + uses: actions/checkout@v4.2.2 + + - name: Free Disk Space (Ubuntu) + uses: ./actions/free_disk_space + + - name: Install lcov + run: | + sudo apt-get update + sudo apt-get install -y lcov + + - name: Setup Bazel with shared caching + uses: bazel-contrib/setup-bazel@0.15.0 + with: + bazelisk-cache: true + disk-cache: ${{ github.workflow }} + repository-cache: true + + - name: Allow linux-sandbox + uses: ./actions/unblock_user_namespace_for_linux_sandbox + + - name: Run Unit Test with Coverage for C++ + run: | + bazel coverage //... --build_tests_only + + - name: Collect Bazel Test Logs + if: always() # Ensure logs are uploaded even if tests fail + run: | + mkdir -p unit_test_logs + + if [ -d "bazel-testlogs" ]; then + echo "Collecting test.log and test.xml files..." + find bazel-testlogs/ -name 'test.log' -print0 | xargs -0 -I{} cp --parents {} unit_test_logs/ + find bazel-testlogs/ -name 'test.xml' -print0 | xargs -0 -I{} cp --parents {} unit_test_logs/ + else + echo "bazel-testlogs directory not found. Build might have failed before tests ran." + fi + shell: bash + + - name: Upload Test Logs Artifact + if: always() # Ensure logs are uploaded even if tests fail + uses: actions/upload-artifact@v4 + with: + name: unit_test_logs + path: unit_test_logs/ + + - name: Generate HTML Coverage Report + run: | + OUTPUT_PATH=$(bazel info output_path) + if [ -f "${OUTPUT_PATH}/_coverage/_coverage_report.dat" ]; then + genhtml "${OUTPUT_PATH}/_coverage/_coverage_report.dat" \ + -o=cpp_coverage \ + --show-details \ + --legend \ + --function-coverage \ + --branch-coverage + else + echo "Cannot run test coverage report generation as no coverage data file found." + fi + shell: bash + + - name: Upload Coverage Artifacts + uses: actions/upload-artifact@v4 + with: + name: ${{ github.event.repository.name }}_coverage_report + path: cpp_coverage/ diff --git a/.github/workflows/release_coverage_report.yml b/.github/workflows/release_coverage_report.yml index f28797af..312ec0b4 100644 --- a/.github/workflows/release_coverage_report.yml +++ b/.github/workflows/release_coverage_report.yml @@ -73,7 +73,7 @@ jobs: uses: actions/upload-artifact@v4 with: name: ${{ github.event.repository.name }}_coverage_report.zip - path: ${{ github.event.repository.name }}_coverage_report.zip + path: artifacts/ - name: Upload coverage report to existing draft release run: | From 3fbdec675d3a33f4d525b23edf4df8b6840b3d46 Mon Sep 17 00:00:00 2001 From: Timofte Bogdan Date: Tue, 27 Jan 2026 17:41:23 +0100 Subject: [PATCH 3/3] Revert "Trigger a PR" This reverts commit 03061e695a098c52aedb32c42ef9f915176da09e. --- README.md | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/README.md b/README.md index 39c43161..c371e059 100644 --- a/README.md +++ b/README.md @@ -2,7 +2,7 @@ [![Eclipse Score](https://img.shields.io/badge/Eclipse-Score-orange.svg)](https://eclipse-score.github.io/score/main/modules/communication/index.html) -- A high-performance, safety-critical communication middleware implementation based on the Adaptive AUTOSAR Communication Management specification. +- A high-performance, safety-critical communication middleware implementation based on the Adaptive AUTOSAR Communication Management specification. - This module provides zero-copy, shared-memory based inter-process communication (IPC) in embedded systems. ## Overview @@ -45,7 +45,7 @@ The module consists of two main components: ``` Flow Steps: 1. Publisher registers service with unique identifier -2. Subscriber searches for services by identifier +2. Subscriber searches for services by identifier 3. Service discovery matches publisher and subscriber 4. Publisher sends data to shared memory (zero-copy) 5. Subscriber receives notification of new data @@ -63,11 +63,11 @@ Sensor App ──► [Temperature Data] ──► Dashboard App (30ms intervals) (Real-time display) ``` -### Pattern 2: Multi-Subscriber Broadcasting +### Pattern 2: Multi-Subscriber Broadcasting ``` For example: Camera App ──► [Video Frame] ──┬──► Display App - ├──► Recording App + ├──► Recording App └──► AI Processing App ``` @@ -142,5 +142,3 @@ We welcome contributions! See our [Contributing Guide](CONTRIBUTING.md) for deta --- **Note**: This is an open-source project under the Eclipse Foundation. It implements automotive-grade communication middleware suitable for safety-critical applications. - -Test changes for triggering a PR \ No newline at end of file