Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Release branching strategy proposal #1053

ctron started this conversation in Ideas
Nov 27, 2024 · 2 comments · 3 replies
Discussion options

Moving towards a release, we should decide on a release branch strategy.

Structure

We create "z-stream" release branches and tag every release. For example:

  • main (branch)
    • v0.3.0-alpha.1 (tag)
    • v0.3.0-alpha.2 (tag)
  • release/0.1.z (branch)
    • v0.1.0 (tag)
    • v0.1.1 (tag)
  • release/0.2.z (branch)
    • v0.2.0 (tag)

Details

During the development of the next version, we create pre-release versions. Just as we do it now.

At some point, before the final release, we create a release branch, which we continue to use for any patch releases (.z).

Each release will be tagged. The release is built from the tag.

The UI and Helm chart repository repository will do the same. The UI dependency in the trustify repository will be switched from main to the "release" branch, which would be publish/release/0.1.z.

You must be logged in to vote

Replies: 2 comments 3 replies

Comment options

The Helm-chart and the trustify-ui and the Ansible playbook aren't following the same cadence and versions due to the different rate of updates/releases

You must be logged in to vote
1 reply
Comment options

ctron Nov 27, 2024
Maintainer Author

True. I'd expect them to have the same release branch. But they might actually have different tags.

Comment options

Overall I agree with everything you wrote about the branching strategy.

I just want to highlight a difference with the current approach applied in trustification so far so that a better informed decision can be taken.

Currently the tag is applied after the release to the commit the released artifacts were built from since currently builds are commit-triggered rather than tag-triggered.
Basically the commit that made it successfully through QE tests will be tagged with the version value keeping us free from having to remove a tag when it fails QE tests.

You must be logged in to vote
2 replies
Comment options

ctron Nov 28, 2024
Maintainer Author

Ah, good point. Yes, I think that makes perfect sense. I'll update the initial comment in this discussion accordingly.

Comment options

ctron Nov 28, 2024
Maintainer Author

Hm, updating the comment, I stumbled over the following issue with that approach:

The QE process is a Red Hat thing. The tag is actually an upstream thing. I know that today, there isn't much of a difference. But let's consider this at least.

I think two parts play into this: 1) the red hat release process 2) a possible midstream repository.

  1. If we consider the RH release process, then it might be appropriate to apply a -redhat tag to the released commit. We can have both upstream and downstream releases with different tags. I think I saw this before: v1.0.0 vs v1.0.0-redhat-0001.

  2. If we end up having a midstream repository, having branding and such applied before the build. Then we'd need to tag commits on this repository anyway. And not in the upstream repository. So having -redhat tags would work the same way and indicate the difference between upstream and downstream.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Category
Ideas
Labels
None yet

AltStyle によって変換されたページ (->オリジナル) /