@@ -113,13 +113,6 @@ want to clone your fork to your machine::
113
113
This creates the directory `pandas-yourname ` and connects your repository to
114
114
the upstream (main project) *pandas * repository.
115
115
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
-
123
116
Creating a branch
124
117
-----------------
125
118
@@ -432,7 +425,8 @@ Building master branch documentation
432
425
433
426
When pull requests are merged into the *pandas * ``master `` branch, the main parts of
434
427
the 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.
436
430
437
431
Contributing to the code base
438
432
=============================
@@ -444,8 +438,9 @@ Code standards
444
438
--------------
445
439
446
440
Writing 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.
449
444
Thus, good style is a requirement for submitting code to *pandas *.
450
445
451
446
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:
467
462
- we restrict line-length to 80 characters to promote readability
468
463
- every header file must include a header guard to avoid name collisions if re-included
469
464
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
471
467
and report any stylistic errors in your code. Therefore, it is helpful before
472
468
submitting code to run the check yourself::
473
469
@@ -514,7 +510,8 @@ the more common ``PEP8`` issues:
514
510
- we restrict line-length to 79 characters to promote readability
515
511
- passing arguments should have spaces after commas, e.g. ``foo(arg1, arg2, kw1='bar') ``
516
512
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
518
515
and report any stylistic errors in your code. Therefore, it is helpful before
519
516
submitting code to run the check yourself on the diff::
520
517
@@ -542,6 +539,35 @@ existing code, so don't break it if at all possible. If you think breakage is r
542
539
clearly state why as part of the pull request. Also, be careful when changing method
543
540
signatures and add deprecation warnings where needed.
544
541
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
+
545
571
Test-driven development/code writing
546
572
------------------------------------
547
573
@@ -875,12 +901,8 @@ updated. Pushing them to GitHub again is done by::
875
901
git push -f origin shiny-new-feature
876
902
877
903
This will automatically update your pull request with the latest code and restart the
878
- Travis-CI tests.
904
+ :ref: ` Continuous Integration < contributing.ci >` tests.
879
905
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.
884
906
885
907
Delete your merged branch (optional)
886
908
------------------------------------
0 commit comments