Add Release-Pipeline template
What does this MR do?
If merged this MR will provide a CI Template for a ConventionalChangelog-Release-Pipeline.
This could be useful to avoid errors such as missing/wrong a rule
or prevent duplicate pipeline creation.
This template also addresses this issue or the problem described in it in such a way that this pipeline approach for conventional changelog releases will automatically create the diff between the current and the previous git tag
and use it for the description
field of the Release.
Avoidable errors:
Error during pipeline creation
A runtime error during the pipeline creation phase, which is not caught by the CI Linting tool because the yaml
is valid. In this case the problem is a missing rules:if
that avoids duplicate pipeline creation.
Unnecessary long feedback loop
Imagine a pipeline that lasts for more than a couple minutes because of a high complexity of the project or the pipeline itself. It would be very frustrating to think that everything will work out as expected because the linting said so, but then after after a while the pipeline fails in the last step because of a simple logic error
Screenshots (strongly suggested)
CI-Lint result
Avoidable errors:
Error during creation of the pipeline:
Where this is the reason for the invalid yaml
:
Successful pipelines
A successful Release-Pipeline result would then look like this or similar:
If there was no diff in the CHANGELOG
between the last two releases the description
would be empty.
Does this MR meet the acceptance criteria?
Conformity
-
I have included a changelog entry, or it's not needed. (Does this MR need a changelog?) -
I have added/updated documentation, or it's not needed. (Is documentation required?) -
I have self-reviewed this MR per code review guidelines. -
This MR does not harm performance, or I have asked a reviewer to help assess the performance impact. (Merge request performance guidelines) -
I have followed the style guides.
Availability and Testing
-
I have added/updated tests following the Testing Guide, or it's not needed. (Consider all test levels. See the Test Planning Process.) -
I have tested this MR in all supported browsers, or it's not needed. -
I have informed the Infrastructure department of a default or new setting change per definition of done, or it's not needed.
Related to #331725
Edit:
- add screenshot of linting result to show yaml validity