Maven GitHub Conventions
This document describes how Maven developers and contributors should use GitHub Issues and Pull Request.
GitHub Issues, Pull Request - Recommendations.
A GitHub Issue should be created to report a bug or request a new feature.
A GitHub Issue can be created to discuss of change before starting work on it. The developer mailing list can also be used to discuss proposed work.
When you provide a Pull Request - creating separate issue is not necessary as you can describe your proposition in Pull Request.
When fixing the issue by providing Pull Request, reference the issue in the commit message by #issue-number
.
A GitHub Issue and Pull Request should have a label with the type, like bug
, enhancement
and so on.
Pull Request without labels will be not categorized in Release Notes.
Closed GitHub Issue and Pull Request should have milestone in which was resolved.
Pull Request title is used to generate Release Notes - should be similar or the same as merged commit.
We should always provide changes by Pull Request. Direct commits will be not visible in Release Notes.
Release Notes
Only Pull Requests with status Merged will be visible in Release Notes.
We use GitHub Release Notes.
We use the Release Drafter Action to prepare Release Notes.
Default label configurations are in the maven-gh-actions-shared project.
How To Use Issue and Pull Request Details?
Assignee
Committers can assign a GitHub Issue or Pull Request to a specific committer if that person seems to be well-placed to address it.
Reviewers
We should invite persons to review for every change, even it is simply one, review can increase code quality.
Priority
For priority, we can use labels:
priority:low
priority:medium
priority:high
priority:critical
Type
For GitHub Issue and Pull Requests we use labels, like:
bug
dependencies
documentation
enhancement
maintenance
Component/s
To assign an issue/PR to component we can use labels, like: component:name
Fix Version/s
We use Milestones
to assign to fix versions.
Milestones are public available so we can use it during voting.