-
Notifications
You must be signed in to change notification settings - Fork 31
docs: add major version upgrade documentation #647
Conversation
@@ -0,0 +1,62 @@ | |||
# Upgrading |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
+1. Breaking out this guidance about major version upgrades from the bulk of CHANGELOG
is a great idea. It really emphasizes what there is to know about this upgrading (or if somehow we've overlooked something, what the gaps are). Big +1 from me, nicely done.
54f8bfe
to
2d0b8c2
Compare
had to rewrite history because I pushed a commit message that started with "chore:" and that's apparently not valid. I wish it would just assume that it's a minor version commit unless I tell it otherwise. |
I could have sworn that I have successfully used |
It used to be, Angular is in the process of changing their commit conventions, edit see ongoing conversation in #648 |
That can be done with a new rule set for commitlint and/or semantic release. The question is, is that really what is wanted? |
I just don't think contributor commit messages is the right place for any of this. The closest I've come to agreeing with commit messages is using a commitlintbot to check the title of a pull request so that when the committer squashes and merges it, the commit message is correct in the canonical repo. If we enforce it in contributor commit messages, I'd want one of two scenarios:
The idea that we allow an additional arbitrary set of types that we require the contributor to know and classify their commits correctly is absurd. As a contributor, I don't trust myself to do it correctly, why should I trust anyone else? The committers role is to investigate the suggested changes and to correctly classify them. |
Nitpick: I think there might be some conflating |
yup, sorry. I definitely meant patch, not minor. |
I agree that tooling around this should continue to improve, and that is should be handled somehow in pull requests.
Poeple don't need to know the types, commitizen and commitlint prompt provide a UI that lists the types and descriptions, and allows them to be selected. I also strong disagree with the idea that contributors needing to know can classify their commits is absurd. There is an argument that this could be done via PR comments, but those comments happen hours, days or even weeks after the change is made, by the time the discussion starts the original contributor is thinking about a new problem, and is forgetting the context of the change in review.
We don't expect people to handle commit messages perfectly.
I agree that committers should investigate and help to classify commits correctly. |
We expect them to know what the impact of those changes will be on the existing codebase and the direction of development. The contributor can help them fix problems in the code by giving them context, but that's up to the contributor.
Like it or not, the buck stops at the committer. It ultimately doesn't matter how much effort and verification the contributor puts in, because the committer will need to assume the responsibility.
That is perfectly achievable in many different ways (and often happens organically), it does not require commit message linting. Also, not all contributors want to become committers.
Yes, CI and static analysis can help with that, but they are not acting as helpers for this project. They have been set up as gatekeepers. We require CI to pass before a pull request can be accepted. They literally prevent commits if their build fails. Ultimately this is why I push back so much on these linters and commit hooks: Every one of these adds an extraneous burden to contributing. These should be adopted cautiously and sparingly. Here's my own personal opinion and then I'll drop this: We shouldn't put restrictions on contributors because being a committer is hard. That's the job. Yes, we use tools to make the job easier, but we don't shift the burden. |
Colleagues, If this conversation needs to continue (and eventually I do think some form of it needs to continue to get to resolution), let's do it in a better context than as comments on a tangentially related Pull Request. uportal-dev@ list, on a uP developer call, as an ad-hoc Hangout, on a GitHub Issue focused on this very topic -- any of those please. For whatever it's worth, I see merit in both your perspectives. I myself ended up abandoning documentation improvements I'd drafted because I couldn't then cope with getting linting to pass. And I'm grateful that recent MyUW commit messages trend way more thoughtful than some of the early commit messages - it made a real difference in my ability to analyze e.g. our uPortal mods. I'll look forward to doing my part to continue to work through these tradeoffs -- in a better discussion context please. :) -Andrew |
deletes in progress response 😅 |
Contributor License Agreement adherence: