Files
documentation/docs/Process_Merge-Policy.md

102 lines
4.0 KiB
Markdown
Raw Permalink Normal View History

# Merge Policy
## Overview
2019-06-09 04:53:31 +00:00
2019-06-09 18:54:59 +00:00
_Note: This document is a Work In Progress and is subject to change. Definitions may be relocated to a seperate document in the future._
2019-06-09 04:53:31 +00:00
This policy is targeted for Maintainers for Lead Maintainers who have commit access to `master` branch. This document describes the tags needed for different merge types. See Definitions.
2019-06-09 04:53:31 +00:00
The types of code maintained fall into the following categories:
* Kernel
* U-Boot
* Build scripts
2019-06-09 04:53:31 +00:00
Kernel and U-Boot maintainers are usually grouped by SoC Architecture.
Supported boards will have the most scrunity with code review.
## U-Boot Patches
2019-06-09 04:53:31 +00:00
- Standard contributors provide _tested-by_ submitter (`armbianmonitor -u` with a fresh build).
- SoC maintainer may submit a PR reviewed by of the lead SoC maintainer only.
2019-06-09 04:53:31 +00:00
## Kernel Related Patches
2019-06-09 04:53:31 +00:00
### legacy and current branches
2019-06-09 04:53:31 +00:00
- DT changes reviewed by at least one person familiar with this SoC (lead maintainer or deputy), _tested-by_ the contributor who sends it (armbianmonitor).
- Trivial module activation doesn't matter.
2019-06-09 04:53:31 +00:00
### dev/edge branches
2019-06-09 04:53:31 +00:00
Constraints are at the discretion of the SoC mantainer. This builds are not expected to be stable.
2019-06-09 04:53:31 +00:00
## Armbian Build Scripts
2019-06-09 04:53:31 +00:00
This pertains to code used to build system images, OS configuration, and supporting packages (basically anything not u-boot or kernel source).
2019-06-09 17:22:59 +00:00
### lib scripts
2019-06-09 04:53:31 +00:00
* Requires at least one _Reviewed-by_.
2019-06-09 18:54:59 +00:00
### Configuration
#### board promotion
2019-06-09 18:54:59 +00:00
Boards have different levels of commitment / support. EOL, CSC, WIP, Supported. To promote a board from WIP to Supported an Acked-by from a Lead Maintainer is required.
#### kernel config
2019-06-09 18:54:59 +00:00
* Changes in legacy & current kernel config should provide at least _tested-by_ with `armbianmonitor -u`.
* Changes in edge are at the discretion of maintainer. No constraints.
#### kernel sources
2019-06-09 18:54:59 +00:00
Change kernel source repos, branches, versions can be very disruptive to stable builds. Sufficient communication should occur stable changes.
* U-Boot and kernel version bump for legacy and current requires _tested-by_ from Maintainers and/or testers on at least two different boards for the impacted platform.
* Kernel sources switch (legacy current) needs a discussion on forum or github or IRC and documented in PR and _Acked-by_ Lead Maintainer. These changes are risky and things can go terrible wrong here...
* edge source changes are at the discretion of the Lead Maintainer.
* Board family tweaks require at least _reviewed-by_.
#### packages
2019-06-09 18:54:59 +00:00
* minimum require _Acked-by_
## Definitions
### Code Review Terms
2019-06-09 04:53:31 +00:00
2019-06-09 18:54:59 +00:00
[click here for attribution to terms used below](https://lists.x.org/archives/xorg-devel/2009-October/003036.html)
2019-06-09 04:53:31 +00:00
#### Signed-off-by
2019-06-09 04:53:31 +00:00
Certifies that you wrote it or otherwise have the right to pass it on as a open-source patch.
2019-06-09 04:53:31 +00:00
#### Acked-by
2019-06-09 04:53:31 +00:00
If a person was not directly involved in the preparation or handling of a patch but wishes to signify and record their approval of it then they can arrange to have an Acked-by: line. Acked-by: does not necessarily indicate acknowledgement of the entire patch.
2019-06-09 04:53:31 +00:00
#### Tested-by
2019-06-09 04:53:31 +00:00
A Tested-by: tag indicates that the patch has been successfully tested (in some environment) by the person named. This tag informs maintainers that some testing has been performed, provides a means to locate testers for future patches, and ensures credit for the testers.
2019-06-09 17:22:59 +00:00
#### Reviewed-by
2019-06-09 17:22:59 +00:00
A Reviewed-by tag is a statement of opinion that the patch is an appropriate modification of the kernel without any remaining serious technical issues. Any interested reviewer (who has done the work) can offer a Reviewed-by tag for a patch.
2019-06-09 17:22:59 +00:00
### Other
2019-06-09 17:22:59 +00:00
#### Maintainer
2019-06-09 17:22:59 +00:00
An Individual designated to moderate, support and make decisions for a codebase or component. There can be multiple maintainers assigned to any given thing.
2019-06-09 17:22:59 +00:00
#### Lead Maintainer
A more experienced maintainer that will decide on high-impact and stategic changes and have final say in disputes. A lead maintainer may share or designiate responsibility to some or all components within their domain of responsibility.
#### SoC
2019-06-09 17:22:59 +00:00
System on-a-Chip.