How to manage tags when using the independent strategy.
Nobody has claimed this yet.
- Dominant language
- TypeScript
- Stars
- 36.1k
- Forks
- 2.3k
- Avg merge
- 1d 4h
- Merged PRs (30d)
- 50
Description
I'm looking into monorepos and Lerna as an option for some upcoming work and running into a bit of a snag when it comes to using the independent option for managing packages and deployments with --conventional-commits. I've looked at a few open source examples that are using Lerna with the independent option (i.e. materia-ui) and noticed that their tagging, releases, and changelogs are all being grouped under a top level (vX.x.x) tag structure rather than per package (package-name@X.x.x). Is this something that Lerna supports and in the documentation somewhere?
Additionally is CI/CD options for managing deployments still not a recommended or supported option with Lerna? I'm looking for something similar to semantic-release functionality and support but not finding much guidance in your documentation around this.
lerna.json
{
"version": "independent",
"npmClient": "yarn",
"packages": ["packages/*"],
"useWorkspaces": true,
"command": {
"publish": {
"allowBranch": [
"master",
"next",
"alpha",
"beta",
"[0-9].x",
"[0-9][0-9].x",
"[0-9][0-9][0-9].x",
"[0-9][0-9][0-9][0-9].x"
],
"message": "chore: publish package",
"ignoreChanges": ["*.md", "*.mdx", "*.json", "docs", "package.json"],
"conventionalCommits": true
},
"init": {
"exact": true
}
}
}
Context
Looking to be able automate our monorepo package deployments via Github Actions rather than manually to minimize error. Also looking to support patching a previous major release so we can support multiple majors for our team.
Your Environment
| Executable | Version |
|---|---|
lerna --version |
3.20.2 |
npm --version |
6.13.4 |
yarn --version |
1.21.1 |
node --version |
10.15.3 |
| OS | Version |
|---|---|
| macOS Sierra | 10.15.2 |
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with the linked lerna.json configuration and compare the referenced Material UI tags, releases, and changelog. Review the documentation for independent versioning, conventional commits, and publish workflows, then document whether per-package tags and GitHub Actions deployments are supported, including what a completed guidance update should cover.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- github-actions, node.js, typescript
- Domain
- ci-cd, documentation, release
- Issue type
- Documentation
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100