-
Notifications
You must be signed in to change notification settings - Fork 55
Release Process
The master branch is integrated with Pull Approve. This provides a neat way to encapsulate our review process in an automated fashion:
- All tests much pass before a PR is approved.
- All commits must have a "
Signed-off-by" entry. - Two Team members are required to review and approve every PR.
The file which controls this process is .pullapprove.yml.
If you review a PR and decide it should be approved, add one of the following "special comments" at the start of a line:
lgtmLGTM:+1:ApproveApproved
NOTE: for some reason, we cannot get pullapprove to accept a simple +1. Comments on a postcard please... :-)
lgtm.
lgtm. I love the way you implemented the foo() function! :-)
This line contains the same lgtm string. But, because the "lgtm" doesn't start at the beginning of a line,
it will not count as an approval.
Travis is employed for our CI process. Every commit to the master branch is tested by Travis to ensure the code builds and all unit and functional tests in the tests/ directory in the git repository pass successfully.
Further, all branches that have associated PRs (Pull Requests) associated with them are expected to build cleanly in Travis before the PR will be merged.
On a daily basis, our QA team will take the latest commit in the master branch and run a further barrage of tests on it. If those tests pass, they will push a "daily tag" which is a git tag in ISO-8601 format (YYYY-MM-DD). They will also trigger a daily Coverity Scan by merging the tested master commit into the coverity_scan branch.
Periodically, an Open Build Service (OBS) run will be triggered to generate new distribution-specific packages.