Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

feat(parser-conventional-monorepo): add new conventional-commits standard parser for monorepos#1143

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 ourterms of service andprivacy statement. We’ll occasionally send you account related emails.

Already on GitHub?Sign in to your account

Conversation

@codejedi365
Copy link
Contributor

@codejedi365codejedi365 commentedJan 12, 2025
edited
Loading

Purpose

Adds a conventional commits parser designed for monorepos

How did you test?

Added 3 new monorepo fixtures and rebuild tests for various types of monorepo workflows. Specifically:

  • Trunk only development for a 2 package monorepo
  • GitHub Flow development strategy for a 2 package monorepo with squash commits
  • GitHub Flow development strategy for a 2 package monorepo with merge commits

Neonox31, JonZeolla, jseiser, spastorclovr, jootten, markdoerr, emmaknospe, Robert-Steiner, PadenZach, and palmflip reacted with heart emoji
@marc-at-brightnight

Addeddocs. Realizing slowly I need this feature ✊🏼

spastorclovr reacted with thumbs up emoji

@spastorclovr
Copy link

Would love to this this being merge as we are facing the issue of versioning being calculated even on commits not related to the sub project. Any chance on having this merged "soonishly"?

Thx!

@codejedi365
Copy link
ContributorAuthor

@spastorclovr, thanks for the priority request comment, I've been working on other things as the complexity of validation is not trivial. Will try to get it merged over the next month. Meanwhile, you can add it as a custom parser into your repository with your config pointing to your repository file. It is manually tested and validated by myself and@marc-at-brightnight for his repo so it should work for your environment today.

jootten reacted with thumbs up emoji

@spastorclovr
Copy link

Thank you for taking the time to respond! I Will try as suggested. Thx for this project! (currently using it with dagger.io which needs a ready-to-use function which I will do ASAP)

codejedi365 reacted with thumbs up emoji

@codejedi365codejedi365force-pushed thefeat/monorepo-parser branch 2 times, most recently frome9a1908 tod3856b5CompareMay 26, 2025 16:26
@markdoerr
Copy link

Dear developers,
I would also like to use this new feature :)
What is the current status of this MR ?
Thanx

@codejedi365
Copy link
ContributorAuthor

@markdoerr, please see comments above. Not ready yet to add it to the baseline but it is available as a custom parser today.

@Triquetra
Copy link

I am eagerly anticipating the release of this feature.

In the meantime, how do I use the monorepo-parser as a custom parser?

@codejedi365
Copy link
ContributorAuthor

codejedi365 commentedJun 19, 2025
edited
Loading

how do I use the monorepo-parser as a custom parser?

Review thedocumentation on how to set a custom parser value.

And you can use thisdemo repo as well mirrored off of another contributors described monorepo structure.

It supports file path matching as the primary mechanism for differentiation of projects then as a secondary filter, the use of scope prefixes.

@codejedi365codejedi365 mentioned this pull requestJun 26, 2025
@codejedi365codejedi365 marked this pull request as ready for reviewJuly 27, 2025 18:48
@codejedi365codejedi365force-pushed thefeat/monorepo-parser branch 2 times, most recently from4b462ca toa212f55CompareJuly 27, 2025 19:51
@JonZeolla
Copy link
Contributor

@codejedi365 thank you for the recent activity on this. I have found this recently went from a nice to have for me, to a need to have. I will start by adding this as a custom parser but I'd like to offer that my team could assist with testing or similar if you'd like. I will report back if I encounter significant issues.

Maxi91f reacted with thumbs up emoji

@codejedi365
Copy link
ContributorAuthor

codejedi365 commentedJul 28, 2025
edited
Loading

@codejedi365 thank you for the recent activity on this. I have found this recently went from a nice to have for me, to a need to have. I will start by adding this as a custom parser but I'd like to offer that my team could assist with testing or similar if you'd like. I will report back if I encounter significant issues.

@JonZeolla, thanks for the pep talk, lol! I have to duplicate and refactor the entire e2e testing suite to support monorepos. This is a beast. Likewise, I also have a project using a monorepo which gives me the reason to make this standard. Please indicate if you do have any issues. It has been tested before in the repo:https://github.com/codejedi365/psr-monorepo-poweralpha, which was a demo for another user but I do keep modifying this to make it work within PSR. You may find that you want to just combine the Options class with the Parser class into the same file to allow you to just specify the parser via a file path. I plan to write automated tests for: one trunk-only repo with one release channel, 2 GitHub Flow repos (with 1 and 2 release channels respectively) initially. The changelogs will be internal to the packages but use a common templates directory.

Given that human git strategies rarely maintain the strict standard as my automated tests do, it will be helpful if you identify flaws with the current implementation.

@codejedi365
Copy link
ContributorAuthor

codejedi365 commentedAug 4, 2025
edited
Loading

That's unusual. I'm curious what were the errors you got with the change to 10.3? 10.3 was supposed to be simple GitHub Actions updates (idk, I wrote it last weekend and brain dumped it for monorepos)

I've been working on the PR all weekend and there were some bugs with this parser refactor but a type error was not one of them. Although ruff may have fixed it automatically. I have not pushed the updated code yet.

Instead of using parentheses just insert this line at the top:

from __future__importannotations

This tells Python to evaluate types last (effectively ignore all type syntax unless required) at runtime.

@JonZeolla
Copy link
Contributor

Just for posterity (you already saw) the 10.3 issue I hit was unrelated to this.#1307

Ah yes that's likely the discrepancy. I don't havefrom __future__ import annotations in my version

codejedi365 reacted with thumbs up emoji

@codejedi365codejedi365force-pushed thefeat/monorepo-parser branch 6 times, most recently from27b042b to1e80134CompareSeptember 2, 2025 17:24
@codejedi365codejedi365force-pushed thefeat/monorepo-parser branch 2 times, most recently from90128c2 to2260875CompareSeptember 7, 2025 01:43
NOTICE: This release introduces a new built-in parser type that can beutilized for monorepo projects. The type value is `conventional-monorepo`and when specified it will apply the conventional commit parser to amonorepo environment. This parser has specialized options to help handlemonorepo projects as well. For more information, please refer to the [MonorepoDocs](https://python-semantic-release.readthedocs.io/en/stable/monorepos.html).
@codejedi365codejedi365 merged commite18f866 intopython-semantic-release:masterSep 8, 2025
9 checks passed
@codejedi365codejedi365 deleted the feat/monorepo-parser branchSeptember 8, 2025 06:37
@codejedi365
Copy link
ContributorAuthor

🎉 This PR has been published as part of v10.4.0 🎉

You can find more information about this release on theGitHub Releases page.

Sign up for freeto join this conversation on GitHub. Already have an account?Sign in to comment

Reviewers

1 more reviewer

@JonZeollaJonZeollaJonZeolla left review comments

Reviewers whose approvals may not affect merge requirements

Assignees

@codejedi365codejedi365

Labels

None yet

Projects

None yet

Milestone

No milestone

Development

Successfully merging this pull request may close these issues.

6 participants

@codejedi365@marc-at-brightnight@spastorclovr@markdoerr@Triquetra@JonZeolla

[8]ページ先頭

©2009-2025 Movatter.jp