Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Added initial release management process description. #578

Open
wants to merge 4 commits into
base: main
Choose a base branch
from

Conversation

FScholPer
Copy link
Contributor

…areas index.rst to point to new release_management process. Moved workproducts from general area to new release_management process

Frank Scholter Peres [email protected], Daniel Kroehnert[email protected] Mercedes-Benz Tech Innovation GmbH
Provider Information

Copy link

github-actions bot commented Mar 6, 2025

License Check Results

🚀 The license check preparation job ran successfully.

Status: ⚠️ Needs Review

Click to expand output
2025/03/12 16:58:16 Downloading https://releases.bazel.build/7.4.0/release/bazel-7.4.0-linux-x86_64...
Extracting Bazel installation...
Starting local Bazel server and connecting to it...
Computing main repo mapping: 
Computing main repo mapping: 
Loading: 
Loading: 0 packages loaded
Loading: 0 packages loaded
    currently loading: docs
Loading: 0 packages loaded
    currently loading: docs
Analyzing: target //docs:license.check.python (1 packages loaded)
Analyzing: target //docs:license.check.python (1 packages loaded, 0 targets configured)
Analyzing: target //docs:license.check.python (1 packages loaded, 0 targets configured)

Analyzing: target //docs:license.check.python (97 packages loaded, 10 targets configured)

Analyzing: target //docs:license.check.python (127 packages loaded, 803 targets configured)

Analyzing: target //docs:license.check.python (136 packages loaded, 1226 targets configured)

Analyzing: target //docs:license.check.python (144 packages loaded, 2465 targets configured)

Analyzing: target //docs:license.check.python (144 packages loaded, 2465 targets configured)

Analyzing: target //docs:license.check.python (147 packages loaded, 4487 targets configured)

Analyzing: target //docs:license.check.python (148 packages loaded, 4611 targets configured)

Analyzing: target //docs:license.check.python (148 packages loaded, 4611 targets configured)

Analyzing: target //docs:license.check.python (148 packages loaded, 4611 targets configured)

INFO: Analyzed target //docs:license.check.python (149 packages loaded, 4736 targets configured).
[11 / 13] [Prepa] JavaToolchainCompileBootClasspath external/rules_java~/toolchains/platformclasspath.jar
[12 / 13] Building docs/license.check.python.jar (); 0s multiplex-worker
INFO: Found 1 target...
Target //docs:license.check.python up-to-date:
  bazel-bin/docs/license.check.python
  bazel-bin/docs/license.check.python.jar
INFO: Elapsed time: 21.069s, Critical Path: 2.50s
INFO: 13 processes: 9 internal, 3 processwrapper-sandbox, 1 worker.
INFO: Build completed successfully, 13 total actions
INFO: Running command line: bazel-bin/docs/license.check.python docs/formatted.txt -review -project automotive.score -repo https://github.com/eclipse-score/score -token otyhZ4eaRYK1tKLNNF-Y
[main] INFO Querying Eclipse Foundation for license data for 69 items.
[main] INFO Found 45 items.
[main] INFO Querying ClearlyDefined for license data for 31 items.
[main] INFO Found 31 items.
[main] INFO License information could not be automatically verified for the following content:
[main] INFO 
[main] INFO pypi/pypi/-/debugpy/1.8.12
[main] INFO pypi/pypi/-/docutils/0.21.2
[main] INFO pypi/pypi/-/fonttools/4.56.0
[main] INFO pypi/pypi/-/matplotlib/3.10.0
[main] INFO pypi/pypi/-/numpy/2.2.3
[main] INFO pypi/pypi/-/pillow/11.1.0
[main] INFO pypi/pypi/-/pyparsing/3.2.1
[main] INFO 
[main] INFO This content is either not correctly mapped by the system, or requires review.
[main] INFO A review is required for pypi/pypi/-/numpy/2.2.3.
[main] INFO A review request already exists https://gitlab.eclipse.org/eclipsefdn/emo-team/iplab/-/issues/19888 .
[main] INFO A review is required for pypi/pypi/-/fonttools/4.56.0.
[main] INFO A review request already exists https://gitlab.eclipse.org/eclipsefdn/emo-team/iplab/-/issues/19889 .
[main] INFO A review is required for pypi/pypi/-/docutils/0.21.2.
[main] INFO A review request already exists https://gitlab.eclipse.org/eclipsefdn/emo-team/iplab/-/issues/19880 .
[main] INFO A review is required for pypi/pypi/-/pillow/11.1.0.
[main] INFO A review request already exists https://gitlab.eclipse.org/eclipsefdn/emo-team/iplab/-/issues/19890 .
[main] INFO A review is required for pypi/pypi/-/pyparsing/3.2.1.
[main] INFO A review request already exists https://gitlab.eclipse.org/eclipsefdn/emo-team/iplab/-/issues/19891 .
[main] INFO A review is required for pypi/pypi/-/debugpy/1.8.12.
[main] INFO A review request already exists https://gitlab.eclipse.org/eclipsefdn/emo-team/iplab/-/issues/19903 .
[main] INFO A review is required for pypi/pypi/-/matplotlib/3.10.0.
[main] INFO A review request already exists https://gitlab.eclipse.org/eclipsefdn/emo-team/iplab/-/issues/19892 .

Copy link

github-actions bot commented Mar 6, 2025

The created documentation from the pull request is available at: docu-html

@FScholPer FScholPer linked an issue Mar 6, 2025 that may be closed by this pull request
@FScholPer FScholPer changed the title Added initial release managmenet process description. Edited process_… Added initial release management process description. Mar 6, 2025
@kroehnd kroehnd force-pushed the kroehnd_release_management_process branch from 8e11f9e to 5173fcd Compare March 7, 2025 05:52
@masc2023 masc2023 added this to the SCORE Process Audit 3 milestone Mar 7, 2025
@masc2023
Copy link
Contributor

masc2023 commented Mar 7, 2025

@kroehnd , I am not able to build that locally, as branch is not reachable for me

Added initial release managmenet process description.
Edited process_areas index.rst to point to new release_management process.
Moved workproducts from general area to new release_management process
Fixed gitlint issues, added missing Copyright header.

Resolves: eclipse-score#313
@kroehnd kroehnd force-pushed the kroehnd_release_management_process branch from 5173fcd to 02c9c1e Compare March 7, 2025 08:49
The release process can be separated into two parts. On the first level are the software module
releases. These are independent from the platform and can be separated over various repositories.
Once a software module is released it can be contained within a platform release which
can include multiple software module releases within a platform release scope.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Different modules? But still the same version of one module for whole platform?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Multiple software modules refers to different modules. Yes, it is meant that only one version of a sw module at a time can be used.

Proposal for change:
Once a software module is released it can be contained within a platform release which
can include multiple software module within a platform release scope.

* Creates and maintains the platform release plan
* Aligns with the *Tech Lead Circle* the timeline from various module release plans

Platform Release
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What do you mean by platform release? Release of the score repository or the reference integration?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Also what is the git branching strategy? Will we have an separate Release Branch for Platform and all Modules?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What do you mean by platform release? Release of the score repository or the reference integration?

By platform I am referring to the S-CORE repo release, which then would contain multiple sw modules

Also what is the git branching strategy? Will we have an separate Release Branch for Platform and all Modules?

TODO: I will add a proposal for the git branching strategy

* Each software module is contained in its own GitHub repository.
* Ensure that the repository follows the standard naming conventions and structure.

2. **Release Planning**:
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is there a template for the release planning available? If so please link it!

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I was thinking to create a planning template, but I had the feeling that this is upon the decision of the project leads/technical leads how they want to plan.


* Create a release plan for each software module.
* The release plan should include timelines, milestones, and deliverables.
* Coordinate with other module owners to align release schedules.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Should the module release plan not but aligned with the platform release any only other dependend modules?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

As for my understanding the modules are individually managed but there should be a bi directional dialogue to align needs and timelines


* Follow the development guidelines and coding standards.
* Conduct thorough testing, including unit tests, integration tests, and system tests.
* Ensure that all tests pass before proceeding to the release.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

or justify if there are failing tests?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Maybe link guideline for implementation and testing?

Copy link
Contributor

@kroehnd kroehnd Mar 11, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

or justify if there are failing tests?

I think this addition makes sense, to add the possibility to justify test results, but generally that shouldn't be the norm, hence it was not mentioned
TODO: Mention the possibility to justify failed test cases


4. **Release Preparation**:

* Update the version number according to the versioning policy.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is the versioning policy already defined?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think we should describe it as a part of the release management. Maybe start with what we already have 0.5, 1.0, ...?

Copy link
Contributor

@kroehnd kroehnd Mar 11, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is the versioning policy already defined?

Thank you for pointing that out. I think the versioning policy deserves its own chapter in the guideline
TODO: Add Versioning Policy Chapter


1. **Integration of Software Modules**:

* The platform release in the integrates various software modules.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

typo: in the

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

TODO: Fix typo

Copy link
Contributor

@aschemmel-tech aschemmel-tech left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

see inline comments

* :need:`Project Lead <rl__project_lead>`

A detailed overview of the responsibility for the steps of the Release Management process
is listed here:
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

there is nothing linked "here:"

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

TODO: Add link

:contains: gd_temp__rel__mod_rel_note
:has: doc_concept__req__process, doc_concept__req__process

The module release note provides clarity what is included in the current version of the software
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

please indent here, so that the text gets part of the need (same for other workflows, as example see workproducts)

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

TODO: Fix Indent

:tags: release_management
:responsible: rl__technical_lead
:approved_by: rl__project_lead
:input: wp__module_safety_case, wp__module_sw_release_plan
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I would add also the wp__module_sw_verification_report as an input

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

TODO: Add wp__module_sw_verification_report

:tags: release_management
:responsible: rl__technical_lead
:approved_by: rl__project_lead
:input: wp__module_safety_case, wp__platform_sw_release_plan
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think rather the platform safety case

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

TODO: Replace module safety case with platform safety case

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

TODO: Adapt the module safety case to use instead the platform safety case

:tags: release_management
:responsible: rl__technical_lead
:approved_by: rl__project_lead
:input: wp__module_safety_case, wp__platform_sw_release_plan
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Would also add wp__platform_sw_verification_report

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

TODO: Add wp__platform_sw_verification_report

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

TODO: Add suggestion


5. **Release Execution**:

* Push the release to the main branch.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

it is not clear what "the release" is? Is it the release note? A release branch that is merged back?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Push the release refers to the act of pushing the last necessary changes to the main branch in order to be able to release

5. **Release Execution**:

* Push the release to the main branch.
* Create a release in the GitHub repository and attach the release notes.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Confusing: First "push" and then "create"?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Push the release refers to the act of pushing the last necessary changes to the main branch.
The create refers to the github process of creating a release which is called on the github help pages Creating a release
https://docs.github.com/en/repositories/releasing-projects-on-github/managing-releases-in-a-repository

| Known Issues
| ------------
|
| - **Issue 1**: Brief description of the known issue.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

and a statement how it does affect safety

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

TODO: Adjusted template to mention safety

:maxdepth: 1

release_guideline
release_templates
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

do we need a release checklist?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

In my opinion it isn't necessary

:maxdepth: 1

release_guideline
release_templates
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I would also suggest we have a "release issue template" to implement the "release plan" which we link to a milestone defined by project management and define in it the steps to do for a release. And "close" this with a "release note" PR.

# *******************************************************************************

Concept Description
###################
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

we also need to fill out the https://github.com/eclipse-score/score/blob/main/docs/platform_management_plan/release_management.rst document - there we should define what we release: not a executable build SW but only a set of source code files with verification and documentation collaterals.

@masc2023 masc2023 linked an issue Mar 10, 2025 that may be closed by this pull request
kroehnd added 2 commits March 12, 2025 17:54
// Fixes based on comments TODO: text and marked with a thumbs up
- Added proposal for the git branching strategy.
- Mentioned the possibility to justify failed test cases.
- Added Versioning Policy Chapter.
- Fixed typo in release concept.
- Added link to detailed overview of responsibilities.
- Fixed indent in release workflow.
- Added wp__module_sw_verification_report to inputs.
- Replaced module safety case with platform safety case.
- Adapted module safety case to use platform safety case.
- Added wp__platform_sw_verification_report to inputs.
- Added wp__platform_mgmt and wp__issue_track_system to inputs.
- Changed status to valid for work products.
- Adapted inputs and separated outputs list.
- Slight rework of wording to capture "feature requests".
- Added release note mention for each module.
- Changed wording from Version to Release Tag and added hash.
- Adapted wording to refer to tech lead circle instead of platform release manager.
- Changed wording to "publish within Eclipse SDV".
- Mentioned tech lead circle for periodic meetings.
- Adjusted template to mention safety in known issues.

Resolves: eclipse-score#313
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Status: In Progress
Development

Successfully merging this pull request may close these issues.

Epic: (Initial) Processes Release Management Improvement: Document Release Management Process
5 participants