diff --git a/.github/workflows/test_and_docs.yml b/.github/workflows/test_and_docs.yml index 50fac1de9c0..d6088fd0ee5 100644 --- a/.github/workflows/test_and_docs.yml +++ b/.github/workflows/test_and_docs.yml @@ -74,16 +74,16 @@ jobs: - name: Publish build summary if: always() run: | - if [ -f docs/verification/unit_test_summary.md ]; then - cat docs/verification/unit_test_summary.md >> "$GITHUB_STEP_SUMMARY" + if [ -f docs/verification_report/unit_test_summary.md ]; then + cat docs/verification_report/unit_test_summary.md >> "$GITHUB_STEP_SUMMARY" else - echo "No build summary file found (docs/verification/unit_test_summary.md)" >> "$GITHUB_STEP_SUMMARY" + echo "No build summary file found (docs/verification_report/unit_test_summary.md)" >> "$GITHUB_STEP_SUMMARY" fi echo "" >> "$GITHUB_STEP_SUMMARY" # Add a newline for better formatting - if [ -f docs/verification/coverage_summary.md ]; then - cat docs/verification/coverage_summary.md >> "$GITHUB_STEP_SUMMARY" + if [ -f docs/verification_report/coverage_summary.md ]; then + cat docs/verification_report/coverage_summary.md >> "$GITHUB_STEP_SUMMARY" else - echo "No coverage summary file found (docs/verification/coverage_summary.md)" >> "$GITHUB_STEP_SUMMARY" + echo "No coverage summary file found (docs/verification_report/coverage_summary.md)" >> "$GITHUB_STEP_SUMMARY" fi - name: Create archive of test reports if: github.ref_type == 'tag' diff --git a/docs/index.rst b/docs/index.rst index b4bf1174960..bbc08312fe4 100644 --- a/docs/index.rst +++ b/docs/index.rst @@ -18,7 +18,7 @@ Reference Integration Documentation Newest Release Notes -------------------- -:doc:`release_notes/score_07` +:doc:`score_releases/release_note_score_07` Current Integration Status Overview ----------------------------------- @@ -53,11 +53,11 @@ Explore the documentation :titlesonly: :glob: - verification/verification + verification_report/platform_verification_report .. toctree:: :hidden: :glob: - release_notes/* - verification/* + score_releases/* + verification_report/* diff --git a/docs/release_notes/score_07.rst b/docs/score_releases/release_note_score_07.rst similarity index 83% rename from docs/release_notes/score_07.rst rename to docs/score_releases/release_note_score_07.rst index 4c0567b44a1..f3070f983a0 100644 --- a/docs/release_notes/score_07.rst +++ b/docs/score_releases/release_note_score_07.rst @@ -12,12 +12,12 @@ # SPDX-License-Identifier: Apache-2.0 # ******************************************************************************* -S-CORE v0.7-release notes -========================= +S-CORE Platform v0.7-release note +================================= .. document:: S-CORE v0.7 release note :id: doc__score_v07_release_note - :status: draft + :status: valid :safety: QM :security: YES :realizes: wp__platform_sw_release_note @@ -31,33 +31,54 @@ S-CORE v0.7-release notes Overview ^^^^^^^^ +This document provides an overview of the changes, improvements, and bug fixes included in the software platform release version v0.7.0 as compared to the platform’s origin release (v0.6). + The SCORE 0.7 platform release centers on safety formalization (vulnerability management, OS tier definitions, safety manuals), Rust interoperability (FFI bindings in baselibs and a full Rust COM API in communication), and infrastructure hardening (toolchain improvements, Dependabot, CodeQL). +Disclaimer +---------- + +This release note does not "release for production", as it does not come with a safety argumentation and a performed safety assessment. +The work products compiled in the safety package are created with care according to a process satisfying standards, but the as the project, +being a non-profit and open source organization, can not take over any liability for its content. + +Changes to the Platform +^^^^^^^^^^^^^^^^^^^^^^^ + +New Features +------------ + +No new features were added in this release. + +Improvements +------------ + The release significantly expanded integration testing capabilities, with ITF upgrade and test execution now supported on both Docker and QNX targets using the new py_itf_test Bazel rule. The CI/CD pipeline was overhauled — the bash-based integration script was replaced with Python and the pipeline became more robust with improved build caching, automatic cancellation of superseded runs, and workflow steps pinned to exact commit SHAs for supply-chain safety. EBcLfSA integration was updated to the new structure and extended with Rust application support. On the documentation side, the build pipeline was fixed and an integration status dashboard was introduced to provide visibility into module health across the platform. Infrastructure-wise, Bzlmod lockfile consistency is now enforced in CI, the AutoSD image version is frozen for reproducible builds, and image filesystem rules were migrated to the new Bazel API. + Eclipse S-CORE book ------------------- + The `Eclipse S-CORE book `_ is a “how-to” guide for users getting started with the project or who want to contribute new modules. -S-CORE Platform -^^^^^^^^^^^^^^^^^^ +S-CORE Platform scope +^^^^^^^^^^^^^^^^^^^^^ - **Version:** ``score v0.5.5`` - **Release notes**: `S-CORE Platform release notes `_ - - Integrated Software Modules ----------------------------- Baselibs -~~~~~~~~~~~~~ +~~~~~~~~ + Selection of basic C++ utility libraries for common use in the S-CORE project - **Version:** ``baselibs v0.2.7`` @@ -74,6 +95,7 @@ Selection of basic Rust utility libraries for common use in the S-CORE project Communication ~~~~~~~~~~~~~ + Zero-copy, shared-memory based inter-process communication for minimal-latency intra-ECU messaging. - **Version:** ``communication v0.2.1`` @@ -82,6 +104,7 @@ Zero-copy, shared-memory based inter-process communication for minimal-latency i Persistency ~~~~~~~~~~~ + Ensures long-term storage and retrieval of data and provides a reliable mechanism for preserving application state and data integrity over time. @@ -98,6 +121,7 @@ Logging Orchestrator ~~~~~~~~~~~~~ + Orchestrator module provides a framework for defining and executing complex workflows and task sequences in a coordinated manner. - **Version:** ``orchestrator v0.1.1`` @@ -105,7 +129,8 @@ Orchestrator module provides a framework for defining and executing complex work Kyron -~~~~~~~~~~~~~~ +~~~~~ + Kyron is a customizable, high-performance async/await runtime designed for advanced concurrent programming with focus on functional safety. It allows fine-grained control over scheduling, thread management, and workload isolation through configurable execution engines. @@ -114,7 +139,8 @@ It allows fine-grained control over scheduling, thread management, and workload Lifecycle & Health Management -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Lifecycle module provides a Launch Manager for process lifecycle management as well as a Health Monitoring library to support supervision of process behavior. - **Version:** ``lifecycle v0.2.0`` @@ -122,7 +148,8 @@ Lifecycle module provides a Launch Manager for process lifecycle management as w Reference integration -~~~~~~~~~~~~~~~~~~~~~~ +~~~~~~~~~~~~~~~~~~~~~ + Central integration of Eclipse S-CORE modules - **Version:** ``reference integration v0.7.0`` @@ -131,6 +158,7 @@ Central integration of Eclipse S-CORE modules Reference QNX image +++++++++++++++++++++ + - No changes compared to the previous software version. Reference Red Hat AutoSD Linux image (Experimental) @@ -147,23 +175,26 @@ Reference Elektrobit corbos Linux for Safety Applications Linux image (Experimen Associated Infrastructure Modules ----------------------------------- -process_description +Process description ~~~~~~~~~~~~~~~~~~~ + Provides a process model establishing organizational rules for developing open source software in the automotive domain, suitable for safety and security contexts. - **Version:** ``process description v1.5.4`` - **Release notes**: `process_description release `_ -docs-as-code -~~~~~~~~~~~~~~ +Docs-as-code +~~~~~~~~~~~~ + Tooling for linking and generation of documentation. - **Version:** ``docs-as-code v4.0.3`` - **Source / tag:** `docs-as-code GitHub release `_ -tooling -~~~~~~~~~~~~~~ +Tooling +~~~~~~~ + Tooling for S-CORE development. - **Version:** ``tooling v1.1.2`` @@ -171,7 +202,8 @@ Tooling for S-CORE development. ITF (Integration Testing Framework) -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + ITF is a pytest-based testing framework designed for ECU (Electronic Control Unit) testing in automotive domains. It provides a flexible, plugin-based architecture that enables testing on multiple target environments including Docker containers, QEMU virtual machines, and real hardware. @@ -180,7 +212,8 @@ QEMU virtual machines, and real hardware. - **Source / tag:** `ITF GitHub release `_ Test Scenarios -~~~~~~~~~~~~~~~ +~~~~~~~~~~~~~~ + Test scenarios provide a backend for defining C++ and Rust implemented test scenarios that allow parametrized execution of built scenario applications which are the input for test cases. - **Version:** ``Test Scenarios v0.4.1`` @@ -188,21 +221,38 @@ Test scenarios provide a backend for defining C++ and Rust implemented test scen Bazel CPP Toolchain -~~~~~~~~~~~~~~~~~~~~ +~~~~~~~~~~~~~~~~~~~ + - **Version:** ``bazel_cpp_toolchains v0.5.1`` - **Release notes**: `Bazel CPP Toolchain release notes `_ -Known Issues ----------------------- +Compatibility +^^^^^^^^^^^^^ + +- **Dependencies:** None known ... + +Performed Verification +^^^^^^^^^^^^^^^^^^^^^^ + +Known Issues/Vulnerabilities and Bug Fixes +------------------------------------------ + - see release notes of every module separately Upgrade Instructions ----------------------- +-------------------- + - Increase to newest bazel registry versions: https://eclipse-score.github.io/bazel_registry_ui - Versions can be found under: https://github.com/eclipse-score/reference_integration/blob/v0.7.0/known_good.json +Upgrade Instructions +^^^^^^^^^^^^^^^^^^^^ + +Not evaluated yet, but expected to be straightforward as no breaking changes are introduced in this release. Please refer to the release notes of the individual modules for any specific upgrade instructions. + Contact Information ----------------------- +------------------- + For any questions or support, please contact the *Project leads* or raise an issue/discussion. https://projects.eclipse.org/projects/automotive.score diff --git a/docs/verification/verification.rst b/docs/verification/verification.rst deleted file mode 100644 index 7005f8a90a9..00000000000 --- a/docs/verification/verification.rst +++ /dev/null @@ -1,22 +0,0 @@ -.. - # ******************************************************************************* - # Copyright (c) 2025 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 - # ******************************************************************************* - -Verification Reports Summaries -============================== - -.. toctree:: - :titlesonly: - - Unit Tests Summary - Coverage Analysis Summary diff --git a/docs/verification/coverage_summary.md b/docs/verification_report/coverage_summary.md similarity index 100% rename from docs/verification/coverage_summary.md rename to docs/verification_report/coverage_summary.md diff --git a/docs/verification_report/platform_verification_report.rst b/docs/verification_report/platform_verification_report.rst new file mode 100644 index 00000000000..badfae24397 --- /dev/null +++ b/docs/verification_report/platform_verification_report.rst @@ -0,0 +1,80 @@ +.. + # ******************************************************************************* + # Copyright (c) 2025 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 + # ******************************************************************************* + +Platform Verification Report +============================ + +.. document:: Platform Verification Report + :id: doc__platform_verification_report_v07 + :status: valid + :safety: QM + :security: YES + :realizes: wp__verification_platform_ver_report + + +This is the content according to the template (see :need:`doc__platform_verification_report`) for the platform verification report, filled in with the information available for this release. + +1. Verification Coverage +------------------------- + +1.1. Requirements +~~~~~~~~~~~~~~~~~ + +For this release, the requirements-related verification output is as follows: + +* Lists of stakeholder and feature requirements tested (split in separate lists for QM and ASIL) by which test case, passed/failed/not_run and completeness verdict: + No release-specific requirement verification matrix is available in this platform verification report. + +* List of external component Assumptions of Use and coverage by platform safety manual: + Assumptions of Use requirements and safety manual content exist in the documentation set, but no release-specific coverage matrix is provided in this platform verification report. + +* List of stakeholder requirements (ASIL rated) linked to inspection checklist and verdict derived from PR export: + No PR-export-derived stakeholder requirement inspection list is available in this repository for this release. + +1.2. Architecture +~~~~~~~~~~~~~~~~~ + +For this release, the architecture-related verification output is as follows: + +* List of feature architecture tags (split into separate lists for QM and ASIL) tested by test case or other verification method: + No release-specific architecture-tag verification matrix is available in this platform verification report. + +* List of feature architecture tags (ASIL rated) linked to inspection checklist and verdict derived from PR export: + Architecture inspection checklists exist in the documentation set for individual modules and features, but no release-specific PR-export-derived list is available in this repository for this release. + +2. Safety Analyses Report +------------------------- + +For this release, the safety-analyses-related verification output is as follows: + +* List of the performed Platform and Feature Safety Analyses: + No release-specific consolidated list of performed platform-level and feature-level safety analyses is available in this platform verification report. + +* Pass/fail result and open mitigations for each safety analysis: + No release-specific result table for safety analyses, including open mitigations, is provided in this report. + + +3. Test results +--------------- + +Test result per test case with status passed/failed/not_run for :need:`wp__verification_platform_int_test` and :need:`wp__verification_feat_int_test`. + +For this release, detailed per-test-case results are not available in this report yet. +The following referenced summary pages exist only. + +.. toctree:: + :titlesonly: + + Unit Tests Summary + Coverage Analysis Summary diff --git a/docs/verification/unit_test_summary.md b/docs/verification_report/unit_test_summary.md similarity index 100% rename from docs/verification/unit_test_summary.md rename to docs/verification_report/unit_test_summary.md diff --git a/platform_integration_tests/.gitkeep b/platform_integration_tests/.gitkeep new file mode 100644 index 00000000000..e69de29bb2d diff --git a/scripts/quality_runners.py b/scripts/quality_runners.py index 8e050951299..c3786153f48 100644 --- a/scripts/quality_runners.py +++ b/scripts/quality_runners.py @@ -283,7 +283,7 @@ def parse_arguments() -> argparse.Namespace: def main() -> bool: args = parse_arguments() args.coverage_output_dir.mkdir(parents=True, exist_ok=True) - path_to_docs = Path(__file__).parent.parent / "docs/verification" + path_to_docs = Path(__file__).parent.parent / "docs/verification_report" known = load_known_good(args.known_good_path.resolve())