"Jarek Potiuk" <[email protected]> (14/06/21 20:06:14):

I never used tools like Reno (so I might be wrong) but I think they
add extra effort and requirements (and confusion) for contributors to
also modify the changelog pretty much always.
IMHO for new contributors it will lead to "default" one more extra
iteration of review ("and please update the changelog") with any code
change which otherwise would not be needed. This will be especially
confusing because we have now 70+ changelogs and sometimes the change
applies to several providers (for transfer operators) so several
changelogs should be updated.

Is there anyone who used such tools in a sizable project with multiple
contributors (including a lot of first-time comitters) and can share
their experiences?

Projects I involved with generally use bots to automatically go through this “hey you need to add a changelog” phase. It is indeed a hassle for contributors, but Airflow already has a ton of checks a new contributor needs to be aware of, the overhead of adding yet another one is less of an issue (compared of from zero to one).

CPython uses a home-brewed tool called Blurb <https://pypi.org/project/blurb/> for changelog management, and a bot called Bedevere handles the news entries review (and a bit more). It automatically comments under a PR after checking, and edits the top message to supply relevant information when checks pass.

Pip uses Towncrier <https://github.com/twisted/towncrier> (developed by the same folks maintaining Twisted) and uses a check to mark the PR with a red cross if the news entry is missing. There is a pre-commit check as well (but as you know, very few contributors would actually set pre-commit up, so that’s less effective).

The most lightweight setup I’m in touch with is pipx, where we just add a checkbox to the PR template and tells the contributor to check it after following the news entry instruction. Up until now every new contributor I can remember automatically does the right thing without issues.

All those tools work more or less the same (a file is added for each feature, and those are collected into a section in the actual release note file when a release is made), so I’d imagine it shouldn’t be too difficult for Airflow to implement some kind of automation to keep the friction low for both contributors and reviewers.

TP




J.

On Mon, Jun 14, 2021 at 1:30 PM Ash Berlin-Taylor <[email protected]> wrote:

 Would it be possible to use the branch name for the "conventional" part -- 
i.e. fix/my-branch - feat/something? I guess not as once the PR is merged the name of the 
branch is not easily accessible anymore, right?

 -ash

 On Mon, Jun 14 2021 at 09:08:45 +0100, Ash Berlin-Taylor <[email protected]> 
wrote:

 I also don't like conventional commits - and ultimately I don't think for 
commit logs are the right tool for building a changelog - they are too granular 
and also too noisy.

 Primary reasons for not liking them: it uses up a lot of space in the already short 
commit subject "limit", it's subjective, it can't be changed after the commit 
is merged.

 If the goal is to make building change logs easier and more useful I'd rather 
we used a tool designed for that - https://docs.openstack.org/reno/latest/

 This also natively handles our cheery pick process, and also gives us the 
ability to edit changelogs if we notice a typo for instance.

 -ash

 On 14 June 2021 03:39:50 BST, Tzu-ping Chung <[email protected]> 
wrote:

 There is also a tool called commitizen that helps teams standardise commit 
messages. There is a Python implementation:

https://commitizen-tools.github.io/commitizen/

 I’m not a huge fan of semantic commit messages and never personally used any 
tooling for it, but one of commitizen’s co-maintainers is a friend of mine, and 
I’ve been listening to his pitches for a while now, so I guess I don’t really 
mind and can probably adapt to it if needed. As long as we don’t use emoji 
tags. Those are terrible.

 TP


 "Janardhan" <[email protected]> (13/06/21 19:31:52):

 Hi,

 I am new to Apache Airflow.

 May be the following example guide would also be helpful.

 There is a commit style guide[1] for Apache SystemDS based it's commit history 
over the last 10 years.

 It lists the tags used, and provides the type of commits including a list of 
attributes to be included in its description and example commits.

 Thank you,
 Janardhan


 [1] https://github.com/apache/systemds/blob/master/CONTRIBUTING.md#commit-style


 On Sunday, June 13, 2021, Tomasz Urbaszek <[email protected]> wrote:

 Related discussion from last year ("Use semantic pull request"):
https://lists.apache.org/thread.html/r076232c60600238f37277497f66fb7eb9507869b92403c5ef96dcb3e%40%3Cdev.airflow.apache.org%3E


 On Sun, 13 Jun 2021 at 12:56, Jarek Potiuk <[email protected]> wrote:
 >
 > Hey everyone,
 >
 > I would like to hear people's opinions on using semantic/conventional
 > commits. I see people occasionally using it, but unless we make it a
 > "standard" and mandatory (and fail CI if commits are not following
 > it), IMHO there is virtually no benefit for the whole community.
 >
 > I am now preparing the June provider's release (a little delayed due
 > to my unavailability - sorry) and with 60+ providers it's somewhat
 > manageable without it. I semi-automatically prepare and maintain all
 > the changelogs now for all providers (I implemented a very simple
 > heuristics to help with it and classify the commits based on the
 > commit message) but it requires quite some effort to re-classify the
 > changes. Not much, it's manageable, but having semantic/conventional
 > commits would make my (and other release managers) life a bit easier.
 >
 > For those who are not familiar with - here is the "gist" of it with links:
 > https://gist.github.com/joshbuchea/6f47e86d2510bce28f8e7f42ae84c716
 >
 > In short - here are examples of semantic/conventional commit messages:
 >
 > feat: add hat wobble
 > fix: fix the hole eaten by moles
 > doc: describe the hat etiquette
 > style: make hat follow latest hat conventions
 > refactor: replace hat underlying construction to be more sturdy
 > test: test the hat when it's raining
 > chore: cleanup the hat, it became dusty a bit
 >
 > Questions:
 >
 > * What's your experience with using the semantic/conventional commits?
 > * Do you like/dislike the semantic/conventional commits?
 > * Should we make them mandatory?
 > * Maybe there are other ways we can achieve the same results?
 >
 > J.
 >
 >
 > --
 > +48 660 796 129



--
+48 660 796 129

Reply via email to