diff --git a/.devcontainer/devcontainer.json b/.devcontainer/devcontainer.json index 1a3b163c06d..e88d473e821 100644 --- a/.devcontainer/devcontainer.json +++ b/.devcontainer/devcontainer.json @@ -1,4 +1,4 @@ { "name": "eclipse-s-core", - "image": "ghcr.io/eclipse-score/devcontainer:1.0.0" + "image": "ghcr.io/eclipse-score/devcontainer:v1.1.0" } diff --git a/CONTRIBUTION.md b/CONTRIBUTION.md index dcc54e64cb3..d8f89f084d3 100644 --- a/CONTRIBUTION.md +++ b/CONTRIBUTION.md @@ -1,21 +1,48 @@ -# Eclipse Safe Open Vehicle Core (SCORE) +# Eclipse Safe Open Vehicle Core (S-CORE) The [Eclipse Safe Open Vehicle Core](https://projects.eclipse.org/projects/automotive.score) project aims to develop an open-source core stack for Software Defined Vehicles (SDVs), specifically targeting embedded high-performance Electronic Control Units (ECUs). -Please check the [documentation](https://eclipse-score.github.io) for more information. +Please check the [documentation](https://eclipse-score.github.io/score/main/) for more information. The source code is hosted at [GitHub](https://github.com/eclipse-score). -The communication mainly takes place via the [`score-dev` mailing list](https://accounts.eclipse.org/mailing-list/score-dev) and GitHub issues & pull requests (PR). And we have a chatroom for community discussions here [Eclipse SCORE chatroom](https://chat.eclipse.org/#/room/#automotive.score:matrix.eclipse.org). +The communication mainly takes place via the [`score-dev` mailing list](https://accounts.eclipse.org/mailing-list/score-dev), [Discussions](https://github.com/orgs/eclipse-score/discussions) and GitHub issues & pull requests (PR). +We have a Slack channel for community discussions here [Eclipse S-CORE Slack Channel](https://sdvworkinggroup.slack.com/archives/C083Z4VL90B). -Please note that for the project the [Eclipse Foundation’s Terms of Use](https://www.eclipse.org/legal/terms-of-use/) apply. -In addition, you need to sign the [ECA](https://www.eclipse.org/legal/ECA.php) and the [DCO](https://www.eclipse.org/legal/dco/) to contribute to the project. ## Contributing + +### Code of Conduct + +Please be familiar with the [Code of Conduct](CODE_OF_CONDUCT.md). + +## Eclipse Contributor Agreement & Developer Certificate of Origin + +Please note that for the project the [Eclipse Foundation’s Terms of Use](https://www.eclipse.org/legal/terms-of-use/) apply. + +Before your contribution can be accepted by the project team contributors must +electronically sign the Eclipse Contributor Agreement (ECA). + +* https://www.eclipse.org/legal/eca/ + + +For more information, please see the Eclipse Committer Handbook: +https://www.eclipse.org/projects/handbook/#resources-commit + +To complete and submit a ECA, log into the +[Eclipse projects forge](https://www.eclipse.org/contribute/cla/) +(you will need to create an account with the Eclipse Foundation if you have not already done so). +Click on "Eclipse Contributor Agreement" and complete the form. +Be sure to use the same email address when you register for the account +that you intend to use when you commit to Git. + +In addition, you need to sign the [DCO](https://www.eclipse.org/legal/dco/) to contribute to the project. + + ### Getting the source code & building the project Please refer to the [README.md](README.md) for further information. ### Getting involved #### Setup Phase -This phase is part of the eclipse Incubation Phase and shall establish all the processes needed for a safe development of functions. Only after this phase it will be possible to contribute code to the project. As the development in this project is driven by requirements, the processes and needed infrastructure incl. tooling will be established based on non-functional Stakeholder_Requirements. During setup phase the contributions are Bug Fixes and Improvements (both on processes and infrastructure). +This phase is part of the eclipse Incubation Phase and shall establish all the processes needed for a safe development of functions. Only after this phase it will be possible to contribute code to the project. As the development in this project is driven by requirements, the processes and needed infrastructure incl. tooling will be established based on [Non-functional Stakeholder_Requirements](https://eclipse-score.github.io/score/main/requirements/stakeholder/index.html). During setup phase the contributions are Bug Fixes and Improvements (both on processes and infrastructure). #### Bug Fixes and Improvements Improvements are adding/changing processes and infrastructure, bug fixes can be also on development work products like code. @@ -23,13 +50,12 @@ In case you want to fix a bug or contribute an improvement, please perform the f 1) Create a PR by using the corresponding template ([Bugfix PR template](.github/PULL_REQUEST_TEMPLATE/bug_fix.md) or [Improvement PR template](.github/PULL_REQUEST_TEMPLATE/improvement.md)). Please mark your PR as draft until it's ready for review by the Committers (see the [Eclipse Foundation Project Handbook](https://www.eclipse.org/projects/handbook/#contributing-committers) for more information on the role definitions). Improvements are requested by the definition or modification of [Stakeholder Requirements](docs/stakeholder_requirements) or [Tool Requirements](docs/tool_requirements) and may be implemented after acceptance/merge of the request by a second Improvement PR. The needed reviews are automatically triggered via the [CODEOWNERS](.github/CODEOWNERS) file in the repository. 2) Initiate content review by opening a corresponding issue for the PR when it is ready for review. Review of the PR and final merge into the project repository is in responsibility of the Committers. Use the [Bugfix Issue template](.github/ISSUE_TEMPLATE/bug_fix.md) or [Improvement Issue template](.github/ISSUE_TEMPLATE/improvement.md) for this. -Please check here for our Git Commit Rules in the [Configuration_Tool_Guidelines](https://eclipse-score.github.io/score/process_description/guidelines/index.html). +Please check here for our Git Commit Rules in the [Git Guidelines](https://eclipse-score.github.io/score/main/contribute/general/git.html). -Please use the [Stakeholder and Tool Requirements Template](https://eclipse-score.github.io/score/process_description/templates/index.html) when defining these requirements. ![Contribution guide workflow](./docs/_assets/contribution_guide.svg "Contribution guide workflow") #### Additional Information Please note, that all Git commit messages must adhere the rules described in the [Eclipse Foundation Project Handbook](https://www.eclipse.org/projects/handbook/#resources-commit). -Please find process descriptions here: [process description](https://eclipse-score.github.io/score/process_description/). +Please find process descriptions here: [process description](https://eclipse-score.github.io/process_description/main/index.html). diff --git a/docs/features/baselibs/index.rst b/docs/features/baselibs/index.rst index c1f16888004..c6a06a9dade 100644 --- a/docs/features/baselibs/index.rst +++ b/docs/features/baselibs/index.rst @@ -14,7 +14,7 @@ .. _baselibs_feature: -Base Libraries (v0.5 alpha) +Base Libraries (v0.5 beta) ########################### .. document:: Base Libraries diff --git a/docs/features/communication/index.rst b/docs/features/communication/index.rst index 176d1806f10..62000c6fc91 100644 --- a/docs/features/communication/index.rst +++ b/docs/features/communication/index.rst @@ -14,7 +14,7 @@ .. _com_feature: -Communication (v0.5 alpha) +Communication (v0.5 beta) ########################## .. document:: Communication diff --git a/docs/features/frameworks/feo/index.rst b/docs/features/frameworks/feo/index.rst index 80ce3f51d73..827455b72c8 100644 --- a/docs/features/frameworks/feo/index.rst +++ b/docs/features/frameworks/feo/index.rst @@ -12,8 +12,8 @@ # SPDX-License-Identifier: Apache-2.0 # ******************************************************************************* -Fixed execution order framework (FEO) -##################################### +Fixed execution order framework (FEO) (v0.5 beta) +################################################# .. document:: Fixed execution order framework :id: doc__frameworks_feo diff --git a/docs/features/orchestration/index.rst b/docs/features/orchestration/index.rst index 54a121fa107..fe5dcb9db09 100644 --- a/docs/features/orchestration/index.rst +++ b/docs/features/orchestration/index.rst @@ -15,7 +15,7 @@ .. _orch_feature: -Orchestration (v0.5 alpha) +Orchestration (v0.5 beta) ########################## .. document:: Orchestration diff --git a/docs/features/persistency/index.rst b/docs/features/persistency/index.rst index e76c5e30e10..418dfc63cd1 100644 --- a/docs/features/persistency/index.rst +++ b/docs/features/persistency/index.rst @@ -12,7 +12,7 @@ # SPDX-License-Identifier: Apache-2.0 # ******************************************************************************* -Persistency (v0.5 alpha) +Persistency (v0.5 beta) ######################## .. toctree:: diff --git a/docs/handbook/own_application/index.rst b/docs/handbook/own_application/index.rst index edfea1b76e0..52589de88ee 100644 --- a/docs/handbook/own_application/index.rst +++ b/docs/handbook/own_application/index.rst @@ -33,7 +33,7 @@ To integrate the communication module into your project, follow these steps: 1. Setup ----------- -Start by creating a new project in your preferred IDE (e.g., Visual Studio Code). A ready-to-use devcontainer is available under: +Start by creating a new project in your preferred IDE (e.g., Visual Studio Code). A ready-to-use devcontainer is available under: - https://github.com/eclipse-score/devcontainer @@ -54,7 +54,7 @@ Reference documentation for the communication module: module(name = "use_com_test") - bazel_dep(name = "score_toolchains_gcc", version = "0.4", dev_dependency=True) + bazel_dep(name = "score_toolchains_gcc", version = "0.5", dev_dependency=True) gcc = use_extension("@score_toolchains_gcc//extensions:gcc.bzl", "gcc", dev_dependency=True) gcc.toolchain( @@ -84,8 +84,16 @@ Reference documentation for the communication module: ) bazel_dep(name = "boost.program_options", version = "1.87.0") - bazel_dep(name = "score-baselibs", version = "0.1.3") - bazel_dep(name = "communication", version = "0.1.1") + bazel_dep(name = "score_baselibs", version = "0.1.3") + bazel_dep(name = "score_communication", version = "0.1.1") + + # TRLC dependency for requirements traceability + bazel_dep(name = "trlc", version = "0.0.0") + git_override( + module_name = "trlc", + commit = "ede35c4411d41abe42b8f19e78f8989ff79ad3d8", + remote = "https://github.com/bmw-software-engineering/trlc.git", + ) Be aware that the version numbers change over time. Always check the latest versions in the respective bazel registry @@ -108,7 +116,8 @@ Be aware that the version numbers change over time. Always check the latest vers common --@score-baselibs//score/json:base_library=nlohmann common --@communication//score/mw/com/flags:tracing_library=stub - common --registry=https://raw.githubusercontent.com/eclipse-score/bazel_registry/refs/heads/main/ + common --registry=https://raw.githubusercontent.com/eclipse-score/bazel_registry/v0.5.0-beta/ + common --registry=https://bcr.bazel.build ^^^^^^^^^^^^^ @@ -116,7 +125,7 @@ Be aware that the version numbers change over time. Always check the latest vers ^^^^^^^^^^^^^ If you start with an empty project, add an empty file named ``BUILD`` into your project root. -Now you can now run build the project with the command bazel ``bazel build //...`` +Now you can now run build the project with the command bazel ``bazel build //...`` (At this point nothing happens yet, because no targets are defined). You can now either continue with this guide to create a minimal consumer-producer example or start coding your own application @@ -133,9 +142,9 @@ Once your project is set up, you can start sending and receiving messages. ^^^^^^^^^^^^^^^^^^^^ Create a folder named ``src`` in your root project directory. -Inside ``src``, create the following folders: +Inside ``src``, create the following folders: -- ``consumer`` +- ``consumer`` - ``producer`` additional folders if needed. @@ -278,11 +287,11 @@ After that, create the file ``producer.cpp``. The constructor initializes the communication skeleton ``create_result``. -``RunProducer``: +``RunProducer``: - checks if the initialization of ``create_result`` was successful -- offers service -- enters a loop and sends our messages +- offers service +- enters a loop and sends our messages - stops offering the service at the end @@ -298,4 +307,4 @@ Navigate to the ``consumer`` directory and create a new file called ``consumer.h ^^^^^^^^^^^^^^ For a complete example implementation, see the example folder -https://github.com/eclipse-score/communication/tree/main/score/mw/com/example/ipc_bridge \ No newline at end of file +https://github.com/eclipse-score/communication/tree/main/score/mw/com/example/ipc_bridge diff --git a/docs/score_releases/_assets/score_process_area_overview.drawio.svg b/docs/score_releases/_assets/score_process_area_overview.drawio.svg new file mode 100644 index 00000000000..6bfc2a76b5f --- /dev/null +++ b/docs/score_releases/_assets/score_process_area_overview.drawio.svg @@ -0,0 +1,4 @@ + + + +







Process Areas - Support










 
Process Areas - Support...




Process Areas - Development










 
Process Areas - Development...
Introduction
Introduction









Process Areas - Management












 
Process Areas - Management...
Requirements
Engineering
Requirements...
Safety
Management
Safety...
Change Management
Change Managem...
Documentation
Management
Documentation...
General Concepts
General Concepts
Standards
Standards
Roles
Roles


Architecture



Architecture...

Imple-mentation

(Detailed Design,
Coding)
Imple-mentatio...
Problem Resolution
Problem Resolu...
ML 4
ML 4
ML 2
ML 2
ML 1
ML 1
Verification

Verification...
Configuration
Management
Configuration...
Tool
Management
Tool...
Quality
Management
Quality...
Platform
Management
Platform...
Maturity Level
Maturity Level
ML 0
ML 0

Safety
Analysis

Safety...
Work Products
Work Products
Workflows
Workflows
ML 3
ML 3
Plan
Process definition planned
Documents not available 
or most empty
Plan -...
Initial
Process definition in place, but not yet compliant, consistency across S-CORE platform, modules and repeatability of processes may not be possible.
Documents are mostly available, main parts done, principles clear, all top level questions addressed, well structured.
Initial -...
Managed -
Process definition in place but not yet deployed in S-CORE, but execution would allow consistency across S-CORE platform and modules, repeatability of processes possible
Documents are complete, documented on a comprehensible systematic approach, verified, only minor questions open, Process requirements (of highest priority) enforced by implemented Tool Requirements (or a feasible manual work around is defined).
Managed -...
Defined/Practiced
Deployed (at least once) in S-CORE platform or one Module, The processes have been practiced, and evidence exists to demonstrate that this has occurred. 
Documents are complete, verified and released, Process Requirements (of high/ medium priority) enforced by implemented Tool Requirements, Tool evaluation performed
 Initial Safety Audit passed.

Defined/Practiced -...
Improving - 
Deployed on S-CORE platform and various S-CORE Modules and constantly improving, using suitable process metrics, S-CORE commiter control the effectiveness and performance of the platform and modules and demonstrate continuous improvement in these areas. Tool qualification available.
Improving -...
Release
Management
Release...
Trustable
Trustable
Folder Templates
Folder Templates
Security
Management
Security...
Security
Analysis
Security...
Text is not SVG - cannot display
diff --git a/docs/score_releases/index.rst b/docs/score_releases/index.rst index 035bba0399a..4a841321d57 100644 --- a/docs/score_releases/index.rst +++ b/docs/score_releases/index.rst @@ -24,7 +24,23 @@ See also the project life cycle within the `Eclipse Development Process `_. + +List of S-CORE released versions +--------------------------------- + .. toctree:: - :maxdepth: 1 + :maxdepth: 2 score_releases/index.rst diff --git a/docs/score_releases/score_releases/index.rst b/docs/score_releases/score_releases/index.rst index af5ec410fd5..69e7290bb87 100644 --- a/docs/score_releases/score_releases/index.rst +++ b/docs/score_releases/score_releases/index.rst @@ -6,3 +6,4 @@ S-CORE Releases :maxdepth: 1 score_v0_5_alpha.rst + score_v0_5_beta.rst diff --git a/docs/score_releases/score_releases/score_v0_5_alpha.rst b/docs/score_releases/score_releases/score_v0_5_alpha.rst index 88b0f2c4aa8..c10a5782c8d 100644 --- a/docs/score_releases/score_releases/score_v0_5_alpha.rst +++ b/docs/score_releases/score_releases/score_v0_5_alpha.rst @@ -17,7 +17,7 @@ S-Core v0.5-alpha release notes .. document:: S-Core v0.5-alpha release note :id: doc__score_v05_alpha_release_note - :status: draft + :status: valid :safety: ASIL_B :security: YES :realizes: wp__platform_sw_release_note @@ -52,19 +52,6 @@ Highlights - Initial set of communication, persistency, orchestration, and base utility modules. - Experimental reference images for QNX, Red Hat AutoSD Linux, and EB corbos Linux for Safety Applications. -Timeline ---------- -The current timeline for Eclipse S-CORE releases is shown below. - -.. image:: ../_assets/score_release_plan.drawio.svg - :width: 800 - :alt: Architecture overview - :align: center - -| - -For a detailed and always up-to-date planning view, see the `GitHub project `_. - Eclipse S-CORE book ------------------- The first version of the `Eclipse S-CORE book `_ diff --git a/docs/score_releases/score_releases/score_v0_5_beta.rst b/docs/score_releases/score_releases/score_v0_5_beta.rst new file mode 100644 index 00000000000..2267d8100aa --- /dev/null +++ b/docs/score_releases/score_releases/score_v0_5_beta.rst @@ -0,0 +1,330 @@ +.. + # ******************************************************************************* + # 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 + # ******************************************************************************* + +S-Core v0.5-beta release notes +=============================== + +.. document:: S-Core v0.5-beta release note + :id: doc__score_v05_beta_release_note + :status: draft + :safety: ASIL_B + :security: YES + :realizes: wp__platform_sw_release_note + +| **Platform Name**: S-CORE +| **Release Tag**: v0.5.0-beta +| **Origin Release Tag**: v0.5.0-alpha +| **Release Date**: 2025-12-19 + +Overview +^^^^^^^^^ +This is the second milestone build of the **Eclipse S-CORE platform** (v0.5.0-beta). It brings +together the initial set of core modules, reference integrations, and supporting infrastructure needed to +build and run example applications such as the `scrample `_ +demo on multiple target images. The software architecture and implemented modules are illustrated in the diagram below. + +This release of Eclipse S-CORE is an early beta version intended solely for experimentation, test driving project processes, gaining experience in release creation and soliciting feedback. +Please be aware, that features may be incomplete, the software may exhibit instability or unexpected behavior, and breaking changes and alterations in scope are likely as development progresses. + + +.. image:: ../_assets/architecture.drawio.svg + :width: 1000 + :alt: Architecture overview + :align: center + + +| + +Highlights +----------- + +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. +It introduces the core concepts of Eclipse S-CORE and walks through building +the ``scrample`` application step by step on top of the platform modules. +It also includes a tutorial for the first application on top of the existing modules. + + +Improvements +^^^^^^^^^^^^^ +Main focus of this release is to improve the overall stability and performance of the platform, as well as to enhance the usability. +This does include + +- Static code analysis with CodeQL MISRA C++ 2023: `release link `. +- Execution of Unit tests as part of the Reference Integration `test_integration workflow `_. +- Unit-test coverage measurement results are now automatically part of Release Assests for every component: **//TODO:** link to an example. +- A new combined build toolchain of qcc and gcc, see :ref:`bazel-cpp-toolchain `. +- Improved doc-as-code and process description +- `bazel_tools_cc `_ introduces a clang-tidy integration into S-CORE bazel infrasturture: + + - Check exhaustive `bazel_tools_cc README `_ and an + `example project `_ for instructions how to set-up + clang-tidy checks for your module + - In the upcoming releases clang-tidy will be extended with custom S-CORE checks to meet necessary process requirements. +- Platform functionality was extended with :ref:`logging daemon `. + + +S-CORE Platform +^^^^^^^^^^^^^^^^^^ + +- **Version:** ``score v0.5.2`` +- **Source / tag:** `S-CORE Platform GitHub release `_ +- **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.2`` +- **Source / tag:** `Baselibs GitHub release `_ +- **Release notes**: `Baselibs release notes `_ + + +Communication +~~~~~~~~~~~~~ +Zero-copy, shared-memory based inter-process communication for minimal-latency intra-ECU messaging. + +- **Version:** ``communication v0.1.2`` +- **Source / tag:** `Communication GitHub release `_ +- **Release notes:** :need:`doc__communication_release_note` + +**Improvements** + +- Enabled various code quality tools +- Extension of the Rust API (expect further extensive work on this API) +- Support explicit setting of application id in configuration (with fallback to PID) + +Fixed Execution Order Framework(FEO) +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +- **Version:** ``feo v0.1.2`` +- **Source / tag:** `Communication GitHub release `_ +- **Stays at v0.5-alpha** + + +Persistency +~~~~~~~~~~~~~ +Ensures long-term storage and retrieval of data and provides a reliable mechanism for +preserving application state and data integrity over time. + +- **Version:** ``persistency v0.2.2`` +- **Source / tag:** `Persistency GitHub release `_ + +.. _logging_daemon: + +Logging Daemon +~~~~~~~~~~~~~~~~~~ + +**Improvements** + +The Eclipse SCORE Logging module provides a comprehensive logging framework for automotive embedded systems, +featuring remote DLT (Diagnostic Log and Trace) capabilities with +lock-free communication between applications and the datarouter daemon. + +This is the initial open-source release of the logging framework, +consolidating the complete project structure with build system, dependencies, +and tooling for integration into Eclipse SCORE projects. + +The module is designed for Bazel-based builds and provides both the middleware logging +library (score/mw/log) that includes all supported recorders with respective backends and +the datarouter daemon (score/datarouter). The shared memory implementation between the middleware +library and datarouter daemon guarantees Freedom From Interference (FFI), +enabling safe logging from real-time and safety-critical contexts. + +- **Version:** ``logging v0.0.3`` +- **VSource / tag:** `logging release `__ +- **Further reading:**: See below + + - `Logging release notes `__ + - `Logging ReadMe `__ + + +Orchestrator +~~~~~~~~~~~~~ + +**Improvements** + +- Support `log` frontend exchange to: `log`, `tracing` or `score-log` (not yet implemented in this release) +- Increased CIT coverage and stability improvements +- Split of kyron into separate repositories: `orchestrator` and `kyron` + +:Version: ``orchestrator v0.0.4`` +:Source / tag: `Orchestrator GitHub release `__ +:Further reading: See below + + - `Orchestrator scope and design `__ + - `Orchestrator examples `__ + + +Kyron +~~~~~~~~~~~~~~ + +**Improvements** + +- Support `log` frontend exchange to: `log`, `tracing` or `score-log` (not yet implemented in this release) +- Increased CIT coverage and stability improvements +- Split of kyron into separate repositories: `orchestrator` and `kyron` + +:Version: ``kyron v0.0.3`` +:Source / tag: `Kyron GitHub release `__ +:Further reading: See below + + - `Kyron scope and design `__ + - `Kyron examples `__ + + +Reference integration +~~~~~~~~~~~~~~~~~~~~~~ +Central integration of Eclipse S-CORE modules + +- **Version:** ``reference integration v0.5.0-beta`` +- **Source / tag:** `Reference Integration GitHub release `_ + + +Reference QNX image ++++++++++++++++++++++ +- No changes compared to the previous software version. + +Reference Red Hat AutoSD Linux image (Experimental) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +- Uses AutoSD's toolchain to build and generate Lola RPMs +- Deploy RPMs into an AutoSD Image + +Pull requests: + +https://github.com/eclipse-score/reference_integration/pull/56 +https://github.com/eclipse-score/inc_os_autosd/pull/16 + + +Reference Elektrobit corbos Linux for Safety Applications Linux image (Experimental) +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ + +**Improvements** + +- New ``fastdev`` base image snapshot and corresponding toolchain which include latest security patches and updates. +- Updated packages avoid misleading errors during image start and shutdown, which could be confusing for users. + +Associated Infrastructure Modules +----------------------------------- + +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.4.0`` +- **Standards alignment:** + + - ASPICE 4.0 + - ISO 26262 + - ISO 21434 + - ISO PAS 8926 + +- **Release notes**: `process_description release notes `_ +- **Process maturity overview**: + +.. figure:: ../_assets/score_process_area_overview.drawio.svg + :width: 100% + :align: center + :alt: Process area overview for the **Project** + +For more details please refer to +`Documentation Management Plan `_, that +provides process workproduct level overview for every software module and process area. + + +docs-as-code +~~~~~~~~~~~~~~ +Tooling for linking and generation of documentation. + +- **Version:** ``docs-as-code v2.2.0`` +- **Source / tag:** `docs-as-code GitHub release `_ + +tooling +~~~~~~~~~~~~~~ +Tooling for S-CORE development. + +- **Version:** ``tooling v1.0.4`` +- **Source / tag:** `tooling GitHub release `_ + + +ITF (Integration Testing Framework) +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +- **Improvements** + + - Improved ITF `user documentation `_ + +- **Version:** ``itf v0.1.0`` +- **Source / tag:** `ITF GitHub release `_ + +Test Scenarios +~~~~~~~~~~~~~~~ +- **Improvements** + + - Refactor tracing subscriber by externalizing it's initialization + - Remove baselibs dependency from C++ scenarios in JSON parsing + +- **Version:** ``Test Scenarios v0.3.1`` +- **Source / tag:** `Test Scenarios GitHub release `_ + +.. _bazel_cpp_toolchain: + +Bazel CPP Toolchain +~~~~~~~~~~~~~~~~~~~~ +- **What is in** + + - support for following platform configurations: *x86_64_linux*, *x86_64_qnx*, *arm64_qnx* + - complete feature flag set for the host toolchain (*x86_64_linux*): *minimal*, *strict*, *all_warnings* + +- **What is not in** + + - feature flag set for the target toolchain (infrastructure is already set-up) + - arm64_linux configuration is missing + +- **Version:** ``bazel_cpp_toolchains v0.1.0`` +- **Source / tag:** `Bazel CPP Toolchain release `_ +- **Release notes**: `Bazel CPP Toolchain release notes `_ + +Performed Verification +---------------------- +The following tests were executed as part of this release: + +- All C++ modules built successfully with GCC and QCC toolchains. +- All Rust modules built successfully with the Rust toolchain. +- Each module executed its unit tests. +- Basic integration tests were executed on the reference QNX image in QEMU via the + `release verification `_ workflow +- for **persistency** and **orchestration** modules, component and feature integration tests were executed using the ``score-test-scenarios`` framework; see + `feature_showcase `_ and + `feature_integration_tests `_ for more details. +- Static code analysis of all dependencies with CodeQL MISRA C++2023 package. The results you can find here: https://github.com/eclipse-score/reference_integration/actions/workflows/codeql-multiple-repo-scan.yml + +Known Issues +---------------------- +- see release notes of every module separately + +Upgrade Instructions +---------------------- +- Increase to newest bazel registry versions: https://github.com/eclipse-score/bazel_registry/tree/main/modules + + +Contact Information +---------------------- +For any questions or support, please contact the *Project lead* or raise an issue/discussion.