...
- Defects are recorded as GitHub issue for the associated Pekko module.
- All changes to main and release branches must be made via pull requests.
- All pull requests
- must be reviewed and approved by at least one committer who is not the developer(s)
- Pekko reviewers should try to involve other Pekko committers if the change is not trivial
- large changes should have GitHub issues created for discussion first
- should be targeted at the `main` branch
- a backport PR can be considered when the original PR is merged
- any PR that changes existing APIs or internal behaviours is unlikely to be backported
- merges should ideally be of `Squash and Merge` type but we occasionally want to preserve the commit history of the PR branch and in this case, `Rebase and Merge` is okPekko committers should merge their own PRs when they have enough support to do so
- when a PR has been reviewed but requires trivial changes to be mergable (such as resolving a merge conflict without otherwise changing the general properties of the PR), the author may apply those changes and then merge the PR themselves. Larger updates require a new review.
- We enforce the minimum review requirements using GitHub protection rules (defined in our
.asf.yaml
file) but we encourage developers and reviewers to allow open discussion. At the moment, there are not many active contributors so there may not be a lot of discussion. - In the end of the day, it is possible to revert changes if someone misses the original discussion. These discussions should seek consensus and try to involve the developers and reviewers of the original changes.
- Try to assign milestone markers to Issues and PRs so that we can keep track of the versions where they are merged or where we intend to merge them.
...