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
[changelog] pickup BREAKING CHANGE:
from footer
#809
Comments
Hi @aalmiray , in addition of picking up commits with a Example in xerial/sqlite-jdbc@0f41f46 and the generated release notes The breaking change is not shown, and one must check the commit message to know what's breaking. An example from the Conventional Commits website shows that you can have the actual breaking change described in the footer, while the commit title is somehow different.
That makes sense to me for commits of the type |
Alright. I may be able to pick up the footer and add a |
You mentioned customizing the templates before, but i'm not really sure how to do that. Since the above is part of conventional commit specification, and one can choose the changelog format as conventional commit, it should probably apply by default instead of requiring customization.
Not sure to understand what that mean exactly. |
Ha! Sorry, the word "wither" is a typo. Changelog templates may be customizable in the future, just not yet. Also, JReleaser supports CC but it's not aware of CC itself that is, the preset simply applies a predefined set of rules for labelers & categories but it does not inform JReleaser in any way that CC is in effect. This is perhaps another thing that could be changed, that way changelog templates and the inner plumbing can enforce additional rules pertaining to CC or any other presets/conventions. |
I think that ticket has actually 2 requirements:
Let me know if you want to break 2 into a separate issue. |
Correct. There are at least 2 issues as you aptly listed them. Additionally, treat CC (and gitmoji by extension) as proper entities instead of a bolt-on option as they are right now. |
@aalmiray i was looking at the code (for the first time) to see if i could help in sending a PR, but most likely if you want to make CC and gitmoji first class citizen, that may need some more thoughts. If you have some ideas you want to throw in i would be happy to try. The way i see it currently, we would probably need more properties in If we want CC/gitmoji as entities it's a bit more complex though. |
@gotson that's right.
|
Not necessarily true, you can use the |
A If it were a |
I have the same understanding as you, and I think having a boolean property would help to flag the 🚨 when the I may have a go at this and see if I can get it working. |
Alright. I think the following should happen:
|
Hi @aalmiray , i haven't found test code for the actual changelog generation. I could setup some tests for the parsing, but i would need to also test the resulting changelog when playing with templates. Would you know how i can test that, even if it's manual ? It's also worth to note that the |
We have a test that relies on lots of mocks to make it work. I think that’s the wrong approach at this point. The alternative is to create a sample Git repository (a real one) and use it as a resource. Setting up the test is a bit troublesome at the moment as only a single .git dir may be present in a Git repo, thus sample projects would have to be provided as zip files, unzipped before the testcase is run. For the time being manual testing is performed on repositories that exhibit the desired conditions. Just running |
I've made good progress this week, I now have a Now I need to tweak the default conventional commit preset to use those properties for better flexibility. |
@aalmiray i have almost everything ready, but i have a small issue. I want to change the default changelog format for the conventional commit preset, but i can't find a way to do so. In the current codebase, If i add a line Would you have some hints/advice on how i can solve that ? |
oh, i managed to find a way :) |
Introduces a new ConventionalCommit subtype of Commit, which parses the commit body according to conventional commit specification. The conventional-commit preset uses a custom changelog.format instead of replacers to achieve formatting. The changelog presets can now have a custom format. Closes: jreleaser#809
Introduces a new ConventionalCommit subtype of Commit, which parses the commit body according to conventional commit specification. The conventional-commit preset uses a custom changelog.format instead of replacers to achieve formatting. The changelog presets can now have a custom format. Closes: jreleaser#809
Introduces a new ConventionalCommit subtype of Commit, which parses the commit body according to conventional commit specification. The conventional-commit preset uses a custom changelog.format instead of replacers to achieve formatting. The changelog presets can now have a custom format. Closes: jreleaser#809
Introduces a new ConventionalCommit subtype of Commit, which parses the commit body according to conventional commit specification. The conventional-commit preset uses a custom changelog.format instead of replacers to achieve formatting. The changelog presets can now have a custom format. Closes: jreleaser#809
Introduces a new ConventionalCommit subtype of Commit, which parses the commit body according to conventional commit specification. The conventional-commit preset uses a custom changelog.format instead of replacers to achieve formatting. The changelog presets can now have a custom format. Closes: jreleaser#809
Introduces a new ConventionalCommit subtype of Commit, which parses the commit body according to conventional commit specification. The conventional-commit preset uses a custom changelog.format instead of replacers to achieve formatting. The changelog presets can now have a custom format.
Released in v1.4.0 -> https://github.com/jreleaser/jreleaser/releases/tag/v1.4.0 |
Is your feature request related to a problem? Please describe.
In the conventional commit specification, breaking changes can be specified either with a
!
in the title, or with aBREAKING CHANGE: message
within the body.Example commit.
Examples from conventionalcommits.org
Describe the solution you'd like
Pickup those changes and highlight them as breaking changes.
Describe alternatives you've considered
Tools like semantic-release can pick those up, example here.
Additional context
Add any other context or screenshots about the feature request here.
The text was updated successfully, but these errors were encountered: