@@ -113,13 +113,6 @@ want to clone your fork to your machine::
113113This creates the directory `pandas-yourname ` and connects your repository to
114114the upstream (main project) *pandas * repository.
115115
116- The testing suite will run automatically on Travis-CI and Appveyor once your
117- pull request is submitted. However, if you wish to run the test suite on a
118- branch prior to submitting the pull request, then Travis-CI and/or AppVeyor
119- need to be hooked up to your GitHub repository. Instructions for doing so
120- are `here <http://about.travis-ci.org/docs/user/getting-started/ >`__ for
121- Travis-CI and `here <https://www.appveyor.com/docs/ >`__ for AppVeyor.
122-
123116Creating a branch
124117-----------------
125118
@@ -432,7 +425,8 @@ Building master branch documentation
432425
433426When pull requests are merged into the *pandas * ``master `` branch, the main parts of
434427the documentation are also built by Travis-CI. These docs are then hosted `here
435- <http://pandas-docs.github.io/pandas-docs-travis> `__.
428+ <http://pandas-docs.github.io/pandas-docs-travis> `__, see also
429+ the :ref: `Continuous Integration <contributing.ci >` section.
436430
437431Contributing to the code base
438432=============================
@@ -444,8 +438,9 @@ Code standards
444438--------------
445439
446440Writing good code is not just about what you write. It is also about *how * you
447- write it. During testing on Travis-CI, several tools will be run to check your
448- code for stylistic errors. Generating any warnings will cause the test to fail.
441+ write it. During :ref: `Continuous Integration <contributing.ci >` testing, several
442+ tools will be run to check your code for stylistic errors.
443+ Generating any warnings will cause the test to fail.
449444Thus, good style is a requirement for submitting code to *pandas *.
450445
451446In 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:
467462 - we restrict line-length to 80 characters to promote readability
468463 - every header file must include a header guard to avoid name collisions if re-included
469464
470- Travis-CI will run the `cpplint <https://pypi.python.org/pypi/cpplint >`_ tool
465+ :ref: `Continuous Integration <contributing.ci >`. will run the
466+ `cpplint <https://pypi.python.org/pypi/cpplint >`_ tool
471467and report any stylistic errors in your code. Therefore, it is helpful before
472468submitting code to run the check yourself::
473469
@@ -514,7 +510,8 @@ the more common ``PEP8`` issues:
514510 - we restrict line-length to 79 characters to promote readability
515511 - passing arguments should have spaces after commas, e.g. ``foo(arg1, arg2, kw1='bar') ``
516512
517- Travis-CI will run the `flake8 <http://pypi.python.org/pypi/flake8 >`_ tool
513+ :ref: `Continuous Integration <contributing.ci >` will run
514+ the `flake8 <http://pypi.python.org/pypi/flake8 >`_ tool
518515and report any stylistic errors in your code. Therefore, it is helpful before
519516submitting code to run the check yourself on the diff::
520517
@@ -542,6 +539,35 @@ existing code, so don't break it if at all possible. If you think breakage is r
542539clearly state why as part of the pull request. Also, be careful when changing method
543540signatures and add deprecation warnings where needed.
544541
542+ .. _contributing.ci :
543+
544+ Testing Thru Continuous Integration
545+ -----------------------------------
546+
547+ The pandas testing suite will run automatically on Travis-CI, Appveyor, and Circle CI
548+ continuous integration services, once your pull request is submitted.
549+ However, if you wish to run the test suite on a branch prior to submitting the pull request,
550+ then Travis-CI, Appveyor and/or CircleCI need to be hooked up to your GitHub repository.
551+ Instructions for doing so are `here <http://about.travis-ci.org/docs/user/getting-started/ >`__ for
552+ Travis-CI, `here <https://www.appveyor.com/docs/ >`__ for Appveyor, and
553+ `here <https://circleci.com/ >`__ for CircleCI.
554+
555+ A pull-request will be considered for merging when you have an all 'green' build. See
556+ this example.
557+
558+ .. image :: _static/ci.png
559+
560+
561+ .. note ::
562+
563+ Pushing to *your * branch will cancel any non-currently-running tests for that
564+ same pull-request for Appveyor. For Travis CI, you can enable the auto-cancel feature
565+ `here <https://docs.travis-ci.com/user/customizing-the-build/#Building-only-the-latest-commit >`__ and
566+ for CircleCI `here <https://circleci.com/changelog-legacy/#option-to-auto-cancel-redundant-builds >`__.
567+
568+ .. _contributing.tdd :
569+
570+
545571Test-driven development/code writing
546572------------------------------------
547573
@@ -875,12 +901,8 @@ updated. Pushing them to GitHub again is done by::
875901 git push -f origin shiny-new-feature
876902
877903This will automatically update your pull request with the latest code and restart the
878- Travis-CI tests.
904+ :ref: ` Continuous Integration < contributing.ci >` tests.
879905
880- If your pull request is related to the ``pandas.io.gbq `` module, please see
881- the section on :ref: `Running Google BigQuery Integration Tests
882- <contributing.gbq_integration_tests>` to configure a Google BigQuery service
883- account for your pull request on Travis-CI.
884906
885907Delete your merged branch (optional)
886908------------------------------------
0 commit comments