We would like to make it easier for community members to contribute to ATF using pull requests. This makes the process of contributing a little easier for the contributor since they don't need to concern themselves with the question, "What branch do I base my changes on?" This is already called out in the CONTRIBUTING.md.
Many of these terms have more than one meaning. For the purposes of this document, the following terms refer to specific things.
contributor - A person who makes a change to ATF and submits a change set in the form of a pull request.
reviewer - A person responsible for reviewing a pull request.
master branch - The base branch.
develop branch - The branch where bug fixes against the latest release or release candidate are merged.
- Add Unit tests.
- All tests pass (see Run all tests section).
- Check component design
- Check amount of required memory, memory leaks.
- Assertion must be used in the right way.
- Are there cyclic dependencies?
- Is level of abstraction adequate?
- Are there any platform gotchas? (Does a change make an assumption about platform specific behavior that is incompatible with other platforms? e.g. Windows paths vs. POSIX paths).
- No deadlocks.
- Comments and logs should be provided for tricky parts of code.
- There are no Google code style errors in Lua part. (According to Lua Style Guide)
- There are no Google code style errors in C++ part. (You can download Google cppint.py)
- Check branch naming.
- Check correct commit messages in commits (see Pull request message section).
- Check correct pull request target (
master
ordevelop
) - Check correct pull request message
- Add reviewers
- Run in root build directory
make test
Branch name should be:
hotfix/<task name>
orfeature/<task name>
orfix/<task name>
- Describe the reason why you created pull request and what changes there are.
- If there was an old pull request, add link. ( EXAMPLE:
Old pull request is [here](put direct link here)
)
- Add one domain expert
- Add your mentor (for junior developers only)
- Add all junior developers (for junior developers only)
Note
: Everyone from SDL team developers can review any pull request ("reviewed" comment is not required)
- Reviewers can leave comments to code only in
commits
tab. - Contributor must answer each comment (Contributor should specify addressee in comment).
- In case contributor is disagree with reviewer, contributor writes his opinion
- In case contributor is agree with reviewer, contributor leaves link to new commit with changes.
- When reviewer is agree with all changes in pull request, he must leave
Reviewed
comment.
- Contributor answered to all comments
- Contributor fixed all mistakes
- All reviewers left
Reviewed
comment
- Successfully passed review.
- Rebase in case of existing conflicts.
- Contributor can squash commits in case of adding same code in different commits.
- Contact @AGaliuzov and @anosach-luxoft to merge pull request.
- For C++ core Google cppint.py
- For Lua part Lua Style Guide
- Git commit best practices
- GitHub Working with formatting