This is an automated email from the ASF dual-hosted git repository. sjaranowski pushed a commit to branch github-convention in repository https://gitbox.apache.org/repos/asf/maven-site.git
commit b25f4f9a847b9ddae0c6308ab6c8b0d0d36ad486 Author: Slawomir Jaranowski <s.jaranow...@gmail.com> AuthorDate: Sat Dec 7 18:01:18 2024 +0100 GitHub Convention --- content/markdown/developers/conventions/github.md | 106 ++++++++++++++++++++++ content/site.xml | 1 + 2 files changed, 107 insertions(+) diff --git a/content/markdown/developers/conventions/github.md b/content/markdown/developers/conventions/github.md new file mode 100644 index 00000000..59b931f4 --- /dev/null +++ b/content/markdown/developers/conventions/github.md @@ -0,0 +1,106 @@ +<!-- +Licensed to the Apache Software Foundation (ASF) under one +or more contributor license agreements. See the NOTICE file +distributed with this work for additional information +regarding copyright ownership. The ASF licenses this file +to you under the Apache License, Version 2.0 (the +"License"); you may not use this file except in compliance +with the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, +software distributed under the License is distributed on an +"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +KIND, either express or implied. See the License for the +specific language governing permissions and limitations +under the License. +--> +# Maven GitHub Conventions + +This document describes how Maven developers and contributors should use GitHub Issues and Pull Request. + +## GitHub Issue, Pull Request - Recommendations. + +**Minor changes** such as code reformatting, documentation fixes, etc. that aren't going to impact other users +can be committed without a GitHub Issue, but Pull Request is recommended. + +**Larger changes** such as bug fixes, API changes, significant refactoring, new classes, and pretty much any change +of more than 100 lines, and **New feature** should have GitHub Issue in order to first discus planed change. + +GitHub Issue should be referenced in commit message by `#issue-number`. + +GitHub Issue and Pull Request should have a label with 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. + +Simply we should always provide changes by Pull Request. Direct commits will be not visible in Release Notes. + +## Release Notes + +Only Pull Request wits status **Merged** will be visible in Release Notes. + +We use GitHub Release Notes. + +We use the [Release Drafter Action](https://github.com/marketplace/actions/release-drafter) +for automatically preparing Release Notes. + +Default labels configurations are in [maven-gh-actions-shared](https://github.com/apache/maven-gh-actions-shared/blob/main/.github/release-drafter.yml) project. + +## How To Use Issue and Pull Request Details? + +### Assignee + +Committers can assign an GitHub Issue, Pull Request to a specific committer that person seems +to be well-placed to address it. + +Merged Pull Request should be assigned to committer who merge 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 Request we use labels, like: + +- `bug` +- `dependencies` +- `documentation` +- `enhancement` + +### Component/s + +For assign an issue/PR to component we can use labels, like: `component:name` + +### Affects Version/s + +There is no dedicated field for `Affects Version/s` ... + +### Fix Version/s + +We use `Milestones` for assign to fix versions. + +Milestones are public available so we can use it during voting. + +### Development + +GitHub Issues and Pull Request should be linked by this field. + +## Further Links + +- [GitHUb Pull requests documentation](https://docs.github.com/en/pull-requests) +- [GitHub Issues documentation](https://docs.github.com/en/issues) +- [release-drafter](https://github.com/release-drafter/release-drafter) \ No newline at end of file diff --git a/content/site.xml b/content/site.xml index ae5bbb91..c8f7f617 100644 --- a/content/site.xml +++ b/content/site.xml @@ -158,6 +158,7 @@ under the License. <item name="Code Style and Conventions" href="/developers/conventions/code.html" /> <item name="JIRA Convention" href="/developers/conventions/jira.html" /> <item name="Git Convention" href="/developers/conventions/git.html" /> + <item name="GitHub Convention" href="/developers/conventions/github.html" /> <item name="Developing Maven" href="/guides/development/guide-maven-development.html" collapse="true"> <item name="Building Maven" href="/guides/development/guide-building-maven.html"/> <item name="Testing Development Plugins" href="/guides/development/guide-testing-development-plugins.html" />