Skip to content

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

image

Avoidable errors:

Error during creation of the pipeline:

image

Where this is the reason for the invalid yaml:

image

Successful pipelines

A successful Release-Pipeline result would then look like this or similar:

image

If there was no diff in the CHANGELOG between the last two releases the description would be empty.

image

Does this MR meet the acceptance criteria?

Conformity

Availability and Testing

Related to #331725

Edit:

  • add screenshot of linting result to show yaml validity
Edited by Sven Patrick Meier

Merge request reports