INSTALL: Describe steps to use/install continuous integration
authorThomas Graf <tgraf@noironetworks.com>
Thu, 28 Aug 2014 23:50:21 +0000 (01:50 +0200)
committerBen Pfaff <blp@nicira.com>
Fri, 29 Aug 2014 17:17:03 +0000 (10:17 -0700)
Describe the steps required to setup use of travis-ci for any
GitHub ovs repository.

Signed-off-by: Thomas Graf <tgraf@noironetworks.com>
Signed-off-by: Ben Pfaff <blp@nicira.com>
INSTALL

diff --git a/INSTALL b/INSTALL
index 7e0097b..15e93c5 100644 (file)
--- a/INSTALL
+++ b/INSTALL
@@ -553,6 +553,49 @@ test failures that you believe to represent bugs in Open vSwitch.
 Include the precise versions of Open vSwitch and Ryu in your bug
 report, plus any other information needed to reproduce the problem.
 
+Continuous Integration with Travis-CI
+-------------------------------------
+
+A .travis.yml file is provided to automatically build Open vSwitch with
+various build configurations and run the testsuite using travis-ci.
+Builds will be performed with gcc, sparse and clang with the -Werror
+compiler flag included, therefore the build will fail if a new warning
+has been introduced.
+
+The CI build is triggered via git push (regardless of the specific
+branch) or pull request against any Open vSwitch GitHub repository that
+is linked to travis-ci.
+
+Instructions to setup travis-ci for your GitHub repository:
+
+1. Go to http://travis.ci.org/ and sign in using your GitHub ID.
+2. Go to the "Repositories" tab and enable the ovs repository. You
+   may disable builds for pushes or pull requests.
+3. In order to avoid forks sending build failures to the upstream
+   mailing list, the notification email recipient is encrypted. If you
+   want to receive email notification for build failures, replace the
+   the encrypted string:
+   3.1) Install the travis-ci CLI (Requires ruby >=2.0):
+           gem install travis
+   3.2) In your Open vSwitch repository:
+           travis encrypt mylist@mydomain.org
+   3.3) Add/replace the notifications section in .travis.yml and fill
+        in the secure string as returned by travis encrypt:
+
+         notifications:
+           email:
+             recipients:
+               - secure: "....."
+
+   (You may remove/omit the notifications section to fall back to
+    default notification behaviour which is to send an email directly
+    to the author and committer of the failing commit. Note that the
+    email is only sent if the author/committer have commit rights for
+    the particular GitHub repository).
+
+4. Pushing a commit to the repository which breaks the build or the
+   testsuite will now trigger a email sent to mylist@mydomain.org
+
 Bug Reporting
 =============