diff --git a/doc/source/_static/ci.png b/doc/source/_static/ci.png
new file mode 100644
index 0000000000000..82985ff8c204a
Binary files /dev/null and b/doc/source/_static/ci.png differ
diff --git a/doc/source/contributing.rst b/doc/source/contributing.rst
index 83cc1777b35f6..82f9b18c1e2eb 100644
--- a/doc/source/contributing.rst
+++ b/doc/source/contributing.rst
@@ -113,13 +113,6 @@ want to clone your fork to your machine::
This creates the directory `pandas-yourname` and connects your repository to
the upstream (main project) *pandas* repository.
-The testing suite will run automatically on Travis-CI and Appveyor once your
-pull request is submitted. However, if you wish to run the test suite on a
-branch prior to submitting the pull request, then Travis-CI and/or AppVeyor
-need to be hooked up to your GitHub repository. Instructions for doing so
-are `here `__ for
-Travis-CI and `here `__ for AppVeyor.
-
Creating a branch
-----------------
@@ -432,7 +425,8 @@ Building master branch documentation
When pull requests are merged into the *pandas* ``master`` branch, the main parts of
the documentation are also built by Travis-CI. These docs are then hosted `here
-`__.
+`__, see also
+the :ref:`Continuous Integration ` section.
Contributing to the code base
=============================
@@ -444,8 +438,9 @@ Code standards
--------------
Writing good code is not just about what you write. It is also about *how* you
-write it. During testing on Travis-CI, several tools will be run to check your
-code for stylistic errors. Generating any warnings will cause the test to fail.
+write it. During :ref:`Continuous Integration ` testing, several
+tools will be run to check your code for stylistic errors.
+Generating any warnings will cause the test to fail.
Thus, good style is a requirement for submitting code to *pandas*.
In addition, because a lot of people use our library, it is important that we
@@ -467,7 +462,8 @@ Here are *some* of the more common ``cpplint`` issues:
- we restrict line-length to 80 characters to promote readability
- every header file must include a header guard to avoid name collisions if re-included
-Travis-CI will run the `cpplint `_ tool
+:ref:`Continuous Integration `. will run the
+`cpplint `_ tool
and report any stylistic errors in your code. Therefore, it is helpful before
submitting code to run the check yourself::
@@ -514,7 +510,8 @@ the more common ``PEP8`` issues:
- we restrict line-length to 79 characters to promote readability
- passing arguments should have spaces after commas, e.g. ``foo(arg1, arg2, kw1='bar')``
-Travis-CI will run the `flake8 `_ tool
+:ref:`Continuous Integration ` will run
+the `flake8 `_ tool
and report any stylistic errors in your code. Therefore, it is helpful before
submitting code to run the check yourself on the diff::
@@ -542,6 +539,35 @@ existing code, so don't break it if at all possible. If you think breakage is r
clearly state why as part of the pull request. Also, be careful when changing method
signatures and add deprecation warnings where needed.
+.. _contributing.ci:
+
+Testing Thru Continuous Integration
+-----------------------------------
+
+The pandas testing suite will run automatically on Travis-CI, Appveyor, and Circle CI
+continuous integration services, once your pull request is submitted.
+However, if you wish to run the test suite on a branch prior to submitting the pull request,
+then Travis-CI, Appveyor and/or CircleCI need to be hooked up to your GitHub repository.
+Instructions for doing so are `here `__ for
+Travis-CI, `here `__ for Appveyor, and
+`here `__ for CircleCI.
+
+A pull-request will be considered for merging when you have an all 'green' build. See
+this example.
+
+.. image:: _static/ci.png
+
+
+.. note::
+
+ Pushing to *your* branch will cancel any non-currently-running tests for that
+ same pull-request for Appveyor. For Travis CI, you can enable the auto-cancel feature
+ `here `__ and
+ for CircleCI `here `__.
+
+.. _contributing.tdd:
+
+
Test-driven development/code writing
------------------------------------
@@ -875,12 +901,8 @@ updated. Pushing them to GitHub again is done by::
git push -f origin shiny-new-feature
This will automatically update your pull request with the latest code and restart the
-Travis-CI tests.
+:ref:`Continuous Integration ` tests.
-If your pull request is related to the ``pandas.io.gbq`` module, please see
-the section on :ref:`Running Google BigQuery Integration Tests
-` to configure a Google BigQuery service
-account for your pull request on Travis-CI.
Delete your merged branch (optional)
------------------------------------