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

Create and implement concept of release branches #355

Closed
3 tasks done
inf17101 opened this issue Aug 22, 2024 · 5 comments
Closed
3 tasks done

Create and implement concept of release branches #355

inf17101 opened this issue Aug 22, 2024 · 5 comments
Assignees
Labels
enhancement New feature or request. Issue will appear in the change log "Features"

Comments

@inf17101
Copy link
Contributor

inf17101 commented Aug 22, 2024

Description

When developing new features and merging pull requests scheduled for the next release into main, then it might be the case that an unexpected bug report of the last release appears and we need to build a new release based on the previous release but including a bug fix.

I have tested successfully our current CI/CD pipeline setup on my private fork to create a release from another branch different to main. This works because our pipeline listens to push tags for a release and checks out the content that is tagged. I verified also that all system tests are executed (it is because the event_type for a tag is "push" and not "pull_request" which leads to executing all stests in the ci/cd).

However, when developing on the release branches directly and not just building a release with a tag, we need to align on the following points and change the ci/cd setup a little bit:

  • a common naming convention for release branches, e.g.: release-*, release_*
  • branch protection for release branche: yes/no
  • adapting the ci/cd setup to execute all necessary tests and pipeline verification steps when pushing to the release branch instead of into main

Goals

A concept for release branches having a common naming convention for branches with all tests and ci/cd steps activated when developing on those branches.

Final result

Summary

To be filled when the final solution is sketched.

Tasks

  • Introduce naming scheme for release branches
  • Adapt ci/cd pipeline so that all tests and steps are executed when pushing changes to the release branch
  • User documentation for creating a release using a release branch
@inf17101 inf17101 added the enhancement New feature or request. Issue will appear in the change log "Features" label Aug 22, 2024
@inf17101 inf17101 changed the title Create concept of release branches Create and implement concept of release branches Aug 22, 2024
@windsource
Copy link
Contributor

windsource commented Aug 22, 2024

We need to discuss, if we want to include the patch version in the branch name. I think using major and minor version should be sufficient. Then we can use the same branch for all patch releases for the same major/minor version. An example branch name would be then release-0.4.

@windsource
Copy link
Contributor

I think we should not delete release branches and also use PRs for release branches and so we should apply branch protection in my opinion.

@windsource windsource self-assigned this Aug 22, 2024
windsource added a commit that referenced this issue Aug 22, 2024
@windsource windsource mentioned this issue Aug 22, 2024
1 task
@inf17101
Copy link
Contributor Author

I think we should not delete release branches and also use PRs for release branches and so we should apply branch protection in my opinion.

I would recommend this, because we shall do always proper reviews through pull requests. Pushing directly to a branch has some risks.

@inf17101
Copy link
Contributor Author

We need to discuss, if we want to include the patch version in the branch name. I think using major and minor version should be sufficient. Then we can use the same branch for all patch releases for the same major/minor version. An example branch name would be then release-0.4.

I think release-0.4 is enough, because the tag already includes the full version and refers to the correct commit hash of this branch if we need multiple minor releases on top.

windsource added a commit that referenced this issue Aug 23, 2024
* Add CI builds for release branches

Issue-Id: #335

* Add release branch to documentation

Issue-Id: #355
@inf17101
Copy link
Contributor Author

Tasks are all done. Issue can be closed.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request. Issue will appear in the change log "Features"
Projects
None yet
Development

No branches or pull requests

2 participants