Skip to content

dev: create convention commit syntax#19089

Merged
jtuglu1 merged 2 commits into
apache:masterfrom
jtuglu1:conventional-commits
Mar 20, 2026
Merged

dev: create convention commit syntax#19089
jtuglu1 merged 2 commits into
apache:masterfrom
jtuglu1:conventional-commits

Conversation

@jtuglu1

@jtuglu1 jtuglu1 commented Mar 5, 2026

Copy link
Copy Markdown
Contributor

Description

Something I've seen many large open source projects adopt:

  1. Conventional commit syntax (easier to auto-generate release notes, bisect for issues, etc. as it requires more context to be stored in the commits themselves, and not the PR/issue).

Release note

Enforce conventional commit format. This will also help making debugging issues, etc. as in addition to GH tags (something not persisted in the git lineage) breaking changes/bug fixes/feature information is recorded in the git tree.


This PR has:

  • been self-reviewed.
  • added documentation for new or modified features or behaviors.
  • a release note entry in the PR description.
  • added Javadocs for most classes and all non-trivial methods. Linked related entities via Javadoc links.
  • added or updated version, license, or notice information in licenses.yaml
  • added comments explaining the "why" and the intent of the code wherever would not be obvious for an unfamiliar reader.
  • added unit tests or modified existing tests to cover new code paths, ensuring the threshold for code coverage is met.
  • added integration tests.
  • been tested in a test Druid cluster.

@jtuglu1 jtuglu1 closed this Mar 5, 2026
@jtuglu1 jtuglu1 reopened this Mar 7, 2026
@jtuglu1
jtuglu1 requested review from gianm and kfaraz and removed request for gianm March 10, 2026 03:56
@jtuglu1
jtuglu1 force-pushed the conventional-commits branch from 75ae480 to 1150bfb Compare March 10, 2026 08:12
Comment thread .github/workflows/pr-checks.yml Outdated
Comment thread .github/workflows/pr-checks.yml Outdated
Comment thread .github/workflows/pr-checks.yml Outdated
Comment thread benchmarks/pom.xml
@jtuglu1
jtuglu1 force-pushed the conventional-commits branch from 3cbe4a6 to 918b140 Compare March 14, 2026 03:15
@jtuglu1 jtuglu1 changed the title chore: create convention commit syntax and ensure poms are sorted minor: create convention commit syntax and ensure poms are sorted Mar 14, 2026
@jtuglu1

jtuglu1 commented Mar 14, 2026

Copy link
Copy Markdown
Contributor Author

@gianm updated. I think we should also make the default repo settings on PRs to do a merge and take the PR description (e.g. not just force a *-list of commit messages (which often aren't descriptive at all).

@jtuglu1
jtuglu1 requested a review from gianm March 14, 2026 03:18
@jtuglu1
jtuglu1 marked this pull request as ready for review March 14, 2026 03:18
@jtuglu1 jtuglu1 changed the title minor: create convention commit syntax and ensure poms are sorted minor: create convention commit syntax Mar 14, 2026
@jtuglu1
jtuglu1 force-pushed the conventional-commits branch from 918b140 to bab78f4 Compare March 14, 2026 04:03
@jtuglu1

jtuglu1 commented Mar 16, 2026

Copy link
Copy Markdown
Contributor Author

@gianm thoughts here?

@jtuglu1

jtuglu1 commented Mar 19, 2026

Copy link
Copy Markdown
Contributor Author

@gianm any thoughts here?

@gianm gianm left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I like the idea. Hard to see it causing problems, it's relatively unobtrusive.

@gianm

gianm commented Mar 20, 2026

Copy link
Copy Markdown
Contributor

@gianm updated. I think we should also make the default repo settings on PRs to do a merge and take the PR description (e.g. not just force a *-list of commit messages (which often aren't descriptive at all).

By "do a merge" you mean "squash and merge"? I think that's already the default and IMO is best.

I'm not sure how I feel about the default description. The problem with concatenating the commits is it can include a bunch of junk. The problem with using the PR description is they tend to be long, IMO too long to be good commit messages. I generally try to edit the commit message when I'm merging a PR. I think there's no way around manual edits being a good idea. Anyway, I'm sort of ambivalent about the default messages, as a result.

@jtuglu1 jtuglu1 closed this Mar 20, 2026
@jtuglu1 jtuglu1 reopened this Mar 20, 2026
@jtuglu1

jtuglu1 commented Mar 20, 2026

Copy link
Copy Markdown
Contributor Author

@gianm updated. I think we should also make the default repo settings on PRs to do a merge and take the PR description (e.g. not just force a *-list of commit messages (which often aren't descriptive at all).

By "do a merge" you mean "squash and merge"? I think that's already the default and IMO is best.

I'm not sure how I feel about the default description. The problem with concatenating the commits is it can include a bunch of junk. The problem with using the PR description is they tend to be long, IMO too long to be good commit messages. I generally try to edit the commit message when I'm merging a PR. I think there's no way around manual edits being a good idea. Anyway, I'm sort of ambivalent about the default messages, as a result.

Ah – I wasn't referring to the merge method itself, but rather the default commit message provided by GH when merging (I notice it's a *-bulleted list of commit messages, which aren't that descriptive). I was thinking the commit message could be by default the PR description (and people can trim as needed). Just a minor thing, not too important.

@jtuglu1
jtuglu1 force-pushed the conventional-commits branch from 82d5996 to 57e5253 Compare March 20, 2026 16:26
@jtuglu1
jtuglu1 force-pushed the conventional-commits branch from 57e5253 to 3c08150 Compare March 20, 2026 16:29
@jtuglu1 jtuglu1 changed the title minor: create convention commit syntax not_valid: create convention commit syntax Mar 20, 2026
@jtuglu1 jtuglu1 changed the title not_valid: create convention commit syntax minor: create convention commit syntax Mar 20, 2026
@gianm

gianm commented Mar 20, 2026

Copy link
Copy Markdown
Contributor

Btw, this PR should probably be dev:? It doesn't seem like a minor thing, as it will affect the dev workflow for everyone. To me minor: is for stuff like correcting spelling errors. And here we go with second-guessing the tags before they're even added 😄

@jtuglu1 jtuglu1 changed the title minor: create convention commit syntax dev: create convention commit syntax Mar 20, 2026
@jtuglu1
jtuglu1 merged commit 30c8b33 into apache:master Mar 20, 2026
36 of 37 checks passed
@github-actions github-actions Bot added this to the 37.0.0 milestone Mar 20, 2026
@jtuglu1

jtuglu1 commented Mar 20, 2026

Copy link
Copy Markdown
Contributor Author

Btw, this PR should probably be dev:? It doesn't seem like a minor thing, as it will affect the dev workflow for everyone. To me minor: is for stuff like correcting spelling errors. And here we go with second-guessing the tags before they're even added 😄

Done. I think that difference is largely immaterial; what does matter is that we are now recording context inside the git tree, which makes it WAY easier to bisect for issues without digging through PR links. It also helps that GH release notes structure can be auto-generated from the conventional commit syntax (meaning you don't need to rely on users specifying Release Notes tag and instead do something like (fix!: blah) to know that it's a breaking change).

I could add a general guide on how/what to label things in the workflow – that might be helpful.

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

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants