.. # ******************************************************************************* # 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 # ******************************************************************************* Guideline ######### .. gd_guidl:: Release Management Guideline :id: gd_guidl__rel_management :status: valid :complies: std_req__iso26262__management_64131, std_req__iso26262__management_64132, std_req__iso26262__management_64133, std_req__iso26262__management_64134, std_req__iso26262__management_64135 .. _workflow_release: Software Module Release ----------------------- 1. **Repository Management**: * Each software module is contained in its own repository. * Ensure that the repository follows the standard naming conventions and structure. 2. **Release Planning**: * Create a release plan for each software module. * The release plan should include timelines, milestones, and deliverables. * Coordinate with other module owners and platform to align release schedules. 3. **Development and Testing**: * According process, cross functional teams implement and test. * Check the :need:`wp__verification_module_ver_report` to ensure that all tests pass before proceeding to the release. * In case of failed test, evaluate and possibly justify their failure. 4. **Release Preparation**: * Update the version number according to the versioning policy of your module (defined in release management part of the :need:`gd_temp__platform_mgmt_plan`). * Prepare release notes documenting the changes, improvements, and bug fixes. * Check if all planned configuration items are in correct state (i.e. work products are valid, external libraries/tools are used in the correct released version). * Ensure the module's safety package is available and complete. * Tag the release in the repository. 5. **Release Execution**: * Create a release in the repository release branch and attach the release notes. For this consider the `Howto Release `_ * Notify the project lead circle about the release for approval. * One of the project leads will give a review approval for the release note in the versioning tool, which is equivalent to his signing the release. Platform Release ---------------- 1. **Integration of Software Modules**: * The platform release integrates various software modules. * Ensure that all software modules are released and tagged before the platform release. 2. **Platform Release Planning**: * Create a platform release plan that consumes the timelines from the software module release plans. * Define the overall release schedule, including major and minor releases. 3. **Development and Testing**: * Integrate the software modules release candidates into the platform. * Conduct comprehensive testing to ensure compatibility and stability. * Check the :need:`wp__verification_platform_ver_report` to ensure that all tests pass before proceeding to the release. * Address any integration issues promptly to initiate bugfixing of the modules. * In case of still failed test, evaluate and possibly justify their failure. 4. **Release Preparation**: * Check if modules are released. * Update the platform version number according to the versioning policy (defined in release management part of the :need:`gd_temp__platform_mgmt_plan`). * Prepare platform release notes summarizing the updates from all integrated software modules. * Check if all planned configuration items are in correct state (i.e. work products are valid, external libraries/tools are used in the correct released version). * Ensure the relevant safety packages are available and complete. * Tag the platform release in the repository. 5. **Release Execution**: * Create a release in the repository release branch and attach the platform release notes. For this consider the `Howto Release `_ * Notify the project lead circle about the release for approval. * One of the project leads will give a review approval for the release note in the versioning tool, which is equivalent to his signing the release. * Publish within Eclipse SDV. Tracking and Communication --------------------------- 1. **Tracking**: * Use the project management tools to track the progress of software module releases and the platform release. * Maintain a release calendar to visualize the timelines and milestones. 2. **Communication**: * Regularly update all stakeholders on the release status as part of the project lead circle. * Hold periodic meetings to discuss progress, issues, and dependencies within the project lead circle. * meeting definition and schedule is defined in the projects's platform management plan, as defined in :need:`gd_guidl__platform_mgmt_plan`. Templates ========= For the release note a template has been created for module level and for platform level .. list-table:: Overview :header-rows: 1 :widths: 37, 37 * - Project scope - Template * - Module Release Notes - :need:`[[title]] ` * - Platform Release Notes - :need:`[[title]] ` The above templates shall be used