-
Notifications
You must be signed in to change notification settings - Fork 14
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
base: main
Are you sure you want to change the base?
Added initial release management process description. #578
Conversation
License Check Results🚀 The license check preparation job ran successfully. Status: Click to expand output
|
The created documentation from the pull request is available at: docu-html |
8e11f9e
to
5173fcd
Compare
@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
5173fcd
to
02c9c1e
Compare
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. |
There was a problem hiding this comment.
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?
There was a problem hiding this comment.
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 |
There was a problem hiding this comment.
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?
There was a problem hiding this comment.
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?
There was a problem hiding this comment.
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**: |
There was a problem hiding this comment.
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!
There was a problem hiding this comment.
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. |
There was a problem hiding this comment.
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?
There was a problem hiding this comment.
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. |
There was a problem hiding this comment.
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?
There was a problem hiding this comment.
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?
There was a problem hiding this comment.
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. |
There was a problem hiding this comment.
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?
There was a problem hiding this comment.
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, ...?
There was a problem hiding this comment.
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. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
typo: in the
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
TODO: Fix typo
There was a problem hiding this 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: |
There was a problem hiding this comment.
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:"
There was a problem hiding this comment.
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 |
There was a problem hiding this comment.
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)
There was a problem hiding this comment.
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 |
There was a problem hiding this comment.
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
There was a problem hiding this comment.
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 |
There was a problem hiding this comment.
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
There was a problem hiding this comment.
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
There was a problem hiding this comment.
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 |
There was a problem hiding this comment.
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
There was a problem hiding this comment.
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
There was a problem hiding this comment.
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. |
There was a problem hiding this comment.
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?
There was a problem hiding this comment.
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. |
There was a problem hiding this comment.
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"?
There was a problem hiding this comment.
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. |
There was a problem hiding this comment.
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
There was a problem hiding this comment.
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 |
There was a problem hiding this comment.
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?
There was a problem hiding this comment.
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 |
There was a problem hiding this comment.
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 | ||
################### |
There was a problem hiding this comment.
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.
// 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
…ss' into kroehnd_release_management_process
…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