...
PATCH AVAILABLE
state....
After development is finished, QA cycle starts, then release procedure follows.
...
Master
should become the development branch for the next release....
Master
should become the development branch for the next release (current sprint).master
. This way master
can be used to develop functionality of the next release. All release fixes get merged to release branch and then to master
.master
branch (or release branch if one exists - in this case changes get merged to release branch and then to master
branch). Changes get merged to master
branch of the project Git via process described at Contribution waysWorkflow.master
(or release) branch.Each sprint development goes in master
branch in project's git repo. At the moment build goes to QA release branch is created out of master, for example:
ignite-1.3.0.
Normally, project repo should contain Normally, project repo should contain only master
branch, very few branches for ongoing releases and commiter's branches ready to be reviewed. Committers and PMC members are in charge to make everyone follow this rule.
Contributors should attach patch to JIRA issue and change issue's status to Patch Available
. After CI passes (http://204.14.53.153/overview.html), issue should be reassigned to committer for review and incorporation of the changes to sprint branch. See CI part below for more information about patch creation and patch validation.
Committers may create a patch, a pull request, or create a branch.
Instructions on how to build source and binary Instructions on how to build source and binary releases can be found at IGNITE_PROJECT_ROOT
/DEVNOTES.txt
. Please see Ignite Release Instructions
section.
...
+-----------------+
...
To start:
You will need to update a local master sometimes (to merge to your development branches sometimes). How to do it:
Add remote for Apache Ignite mirror (you need to do it once)
git remote add upstream https://github.com/apache/ignite.git
Each time when you want to update your local master do the following:
Code Block |
---|
git pull upstream git checkout master |
...
...
In additional to contributors configuration, committers need to have one more remote reoi - for working with Apache Git repo. It can be added like this:
...
git fetch upstream pull/<id>/head:pull-<id>-head
git merge --squash pull-<id>-head
git commit --author=“<saved_author>" -s -m “<comment> - Fixes #<id>.”
Now, you will have one commit at master with all changes from pull-request. Changes can be reviewed again. If you accept all changes and want to push it, do next:
git push apache master
...
You can start by cloning the Ignite GIT repo.
Info | ||
---|---|---|
| ||
git clone https: //git-wip-us .apache.org /repos/asf/incubator-ignite |
...
We use git as our version control system. To streamline the process of giving proper credit to the contributors when committing patches, we encourage contributors to submit patches generated using "git format-patch"
command. This has many benefits:
...
Info | ||||
---|---|---|---|---|
| ||||
Note: All TC 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. |
...
Contributor patches have to be applied by next command.
...
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'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 can be reviewed by another committer.
Created branch name should be attached to a JIRA ticket and the ticket status should be changed on Patch Available.
Branch can be merged to master on sucessful review by at least one another committer.
Branch should be deleted successful review and merging on branch merged to master or issue cancelled. Committers are in charge of deleting their branches.