...
- Ignite employs both Review-Then-Commit (RTC) process for most of the components and Commit-Then-Review (CTR) for few ones.
- Any change that touches code or test, whether reviewed or not, must have full TeamCity CI test suite pass.
- As a guideline, trivial changes, like updates to documentation or tests, etc. should not need a review prior to committing, and often can be made directly in the master branch.
Info |
---|
|
Ignite "master" branch should always be release-ready. Please avoid any commits or merges to the "master" branch unless the whole TeamCity CI suite has passed. |
Changes to a RTC module should be reviewed at least by one maintainer for that module (which may or may not be the same as the main reviewer) before being merged.
...
- Fix / implement JIRA ticket in your fork. Provide Java docs whenever required. If you add a new package make sure that package-info.java file in it is in place with a description. Commit branch to origin (origin = your fork). It's recommended to develop IGNITE-xxx ticket at ignite-xxx branch.
- If your contribution is significant (new functionality, deeply reworked existed functionality API) then add an example of usage to 'ignite-example' and add an article to Apache Ignite Documentation.
- Create pull request from the new remote branch in the fork to master of Apache Ignite mirror. Please, start a title of the pull request from 'IGNITE-xxx'. An email about the pull request will be send to dev-list and the same JIRA comment will be added to the IGNITE-xxx ticket.
- Trigger validation of those test suites that have been affected by your changes on TeamCity:
- Locate a test suite you have to check, press button named "..." that is located on the left of "Run" button. "Run custom build" dialog will appear;
- Go to "Changes" tab and choose "pull/<pull-request-number>/head" in "Build branch" dropdown list;
- Press "Run build" button and monitor tests results.
- Once tests are passed, the pull request can be reviewed and merged by a committer. Move a corresponding JIRA ticket to "Patch Available" state by clicking on "Submit Patch" button and let the community know that you're ready for review.
...
If you do everything correctly, then all necessary TeamCity test builds will be triggered automatically in 3 minutes period, and a comment with triggered build information (test package names, TeamCity build links) will be added to the JIRA.
...
Info |
---|
icon | false |
---|
title | Run All for patch (manually) |
---|
|
Note: All TeamCity test builds can be triggered manually via "Ignite/ -> Run All for patch" (by 'Jira number'). A comment will be added to the jira with all new triggered builds. |
...
Whenever working on bigger features, committers can also create 'ready to be reviewed' branch ignite-XXXX, where XXXX is the number of the JIRA ticket.
TeamCity should be forced to run all tests on created branch before review. Once tests are passed, the branch has be reviewed by module's maintainer.
...
In case new module added, make sure source and binary distributions contains correct license files at modules folders. Covered by Licenses & Javadoc TeamCity task.
Can be checked manually by running command
...