conventionalcommits.org icon indicating copy to clipboard operation
conventionalcommits.org copied to clipboard

How to use conventional commits to generate version for different products in monorepos?

Open brupelo opened this issue 2 years ago • 1 comments

When it comes to generate versions out of conventional commits from a repo that contains only one product/package things are easy, you just need to use one tool that loops through all commits and computes your product version, so far so good.

But what happens in a monorepo that contain multiple products that needs to track different versions? Let me put you an example, the azure sdk for python, how would you use conventional commits effectively for these type of repos?

I'm trying to come up with a strategy that obviously scales up, we're talking about automatic version generation of the different monorepo products at the pipeline level.

brupelo avatar Nov 06 '22 11:11 brupelo

Hi @brupelo - I'm managing a large monorepo with over 175 independently versioned packages and have written my own tool to compute version bumps, changelogs and perform releases entirely based on Conventional Commits (and analysis of files touched by git commits). So far it's been flying totally under the radar, but I've been doing hundreds of releases without a hitch since late 2021... Maybe you find it useful too: monopub

postspectacular avatar Feb 10 '23 18:02 postspectacular