collective / zestreleaser.towncrier

GNU General Public License v2.0
1 stars 1 forks source link

Document the towncrier types #24

Open stevepiercy opened 2 years ago

stevepiercy commented 2 years ago

I can never remember the supported types, and have to look them up here:

https://github.com/collective/zestreleaser.towncrier/blob/b5cf3e312e684d103d5d632eaa844b5cc3498d83/src/zestreleaser/towncrier/__init__.py#L91

I would like to update the README to include the types and examples with usage, as it is not really well documented in one place. See also https://community.plone.org/t/using-towncrier-for-changes-rst-in-plone-packages/6486/4

davisagli commented 2 years ago

Those are the types that are supported by towncrier by default, but a particular repo can configure additional types in pyproject.toml: https://towncrier.readthedocs.io/en/stable/configuration.html#custom-fragment-types

stevepiercy commented 2 years ago

OK, how about updating the README to say just that?

I waste too much time trying to find how to add a changelog entry for each repo when the CI/CD reminds me.

gforcada commented 2 years ago

@stevepiercy you might want to improve this https://github.com/plone/mr.roboto/blob/825b18ee43f230dc65a86b3573dd8a3cef55fc80/src/mr.roboto/src/mr/roboto/templates/missing_changelog.pt ? Or we can improve the text on the commit itself: https://github.com/plone/mr.roboto/blob/master/src/mr.roboto/src/mr/roboto/subscriber.py#L369

stevepiercy commented 2 years ago

@gforcada I definitely will. Thanks!

mauritsvanrees commented 2 years ago

@stevepiercy The types are indeed defined per repository, in the pyproject.toml file. Here is the one from CMFPlone. Almost every project in the plone organisation should have the same settings. At least they started out the same in all the projects where I added this several years ago. Let me paste the contents:

[tool.towncrier]
filename = "CHANGES.rst"
directory = "news/"
title_format = "{version} ({project_date})"
underlines = ["-", ""]

[[tool.towncrier.type]]
directory = "breaking"
name = "Breaking changes:"
showcontent = true

[[tool.towncrier.type]]
directory = "feature"
name = "New features:"
showcontent = true

[[tool.towncrier.type]]
directory = "bugfix"
name = "Bug fixes:"
showcontent = true

The directory keys of the types sections are the valid suffixes.