Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Feature]: Add dedicated Monorepo support to Uplift #307

Open
1 task done
ga-paul-t opened this issue Jan 17, 2023 · 0 comments
Open
1 task done

[Feature]: Add dedicated Monorepo support to Uplift #307

ga-paul-t opened this issue Jan 17, 2023 · 0 comments
Assignees
Labels
enhancement New feature or request pinned Prevent the issue from being automatically closed

Comments

@ga-paul-t
Copy link
Collaborator

Describe your feature

As it stands, Uplift is designed to provide a release management strategy for standalone projects (repositories). And no easy way exists for managing other types of projects, such as monorepos. As the release strategy for a monorepo introduces additional complexity, an explicit operation should be introduced to Uplift to handle this.

Uplift needs to support running within the context of a sub-directory of a project and adopt both a tagging and changelog strategy that reflects this.

Your potential solution

Add a dedicated config (flags TBD) to switch Uplift into monorepo mode.

While in this mode:

  • A dedicated tag will label this a monorepo (component) release. This scheme should be flexible and support the proposed Go templating strategy
  • This tag will need additional processing to calculate the next semantic version. This tag will need to be handled correctly when generating a changelog and bumping files
  • When retrieving the git log the git command needs to be augmented to specify the monorepo directory. This will need to be reflected in both the semantic version and changelog tasks. This could be extended to grab the log from multiple directories if need be

For this initial work, an assumption will be made that each monorepo will contain its own .uplift.yml file

Any additional information?

No response

Code of Conduct

  • I agree to follow this project's Code of Conduct
@ga-paul-t ga-paul-t added enhancement New feature or request triage Issue has been added to our triage list labels Jan 17, 2023
@ga-paul-t ga-paul-t self-assigned this Jan 17, 2023
@stale stale bot added the wontfix This will not be worked on label Jan 31, 2023
@ga-paul-t ga-paul-t added pinned Prevent the issue from being automatically closed and removed wontfix This will not be worked on triage Issue has been added to our triage list labels Feb 1, 2023
@gembaadvantage gembaadvantage deleted a comment from stale bot Feb 1, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request pinned Prevent the issue from being automatically closed
Projects
None yet
Development

No branches or pull requests

1 participant