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

Open
opened 2026-02-17 11:50:25 -06:00 by GiteaMirror · 1 comment
Owner

Originally created by @brupelo on GitHub (Nov 6, 2022).

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.

Originally created by @brupelo on GitHub (Nov 6, 2022). When it comes to generate [versions](https://semver.org/) 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](https://github.com/Azure/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.
Author
Owner

@postspectacular commented on GitHub (Feb 10, 2023):

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 commented on GitHub (Feb 10, 2023): Hi @brupelo - I'm managing a large [monorepo with over 175 independently versioned packages](https://github.com/thi-ng/umbrella) 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](https://github.com/thi-ng/monopub)
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: github-starred/conventionalcommits.org#158