C
C#•2y ago
floribe2000

Branching and release strategy for multi-project repository

I am currently working on improving the branching and release strategy for one of my projects. At the moment, we use feature branches to develop new features, merge them into dev and whenever we want to publish a new release, we just create a PR from dev to main. This worked fine so far as we only published a desktop app. However, now we also have a web app in the same repo. It's all in the same repo because both desktop and web need to share a lot of code and it was considered to be too difficult to split it into different repos. The goal is to have independent and automated releases of both desktop and web app. My idea for this is to still use a development branch where feature branches get merge into. Then I thought about creating separate release branches for web and desktop based on this dev branch for each version. I thought about using some tool like Nerdbank.GitVersioning to automate the version management for those releases. Is that a reasonable approach or is there maybe something better that I just missed?
2 Replies
Saber
Saber•2y ago
What about just PRing feature branches to main and using tags
floribe2000
floribe2000•2y ago
That sounds a lot better than my first idea. Seems like I somehow managed to not see the simplest possible solution 😄 the only issue I see with that is manually handling the versions but I guess that could be done using tags containing the version. Thanks for the idea