Skip to content

Go Monorepo / module dependency handling #177

@malins

Description

@malins

Hello,

I have a monorepo with "deployable" modules and library modules. Since I have no external users of my library modules, I'm not making releases for them. I'm using replace(...) in my go.mod's to depend on the latest version of library modules. I think that's a good approach to reduce complexity in my build process, and generally you do not release everything in a monorepo.

However, when making changing to a library module, I need to make releases of all "deployable" modules depending on those changed libraries.

The easiest solution for my problem would be to define a path in the configuration file, and changes within this path trigger releases of all defined modules.

Second option would be to make it possible to configure multiple path for each monorepo project, and all of them are inspected for changes.

Third option would be to introduce a hook for such "advanced" scenarios where you can plug-in custom logic to determine whether release should be forced or not.

I would be willing to implement this, but I don't want to fork (if possible), so which variant would you prefer?

Thank you,
Manuel

Metadata

Metadata

Assignees

Labels

featureNew feature or request

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions