diff --git a/docs/testing/continuous-integration.md b/docs/testing/continuous-integration.md index d8d939c16ef2960d641536a37f8fa1471cbabb1d..9d97317af91c3b5388a86e715e936e6cf910c93e 100644 --- a/docs/testing/continuous-integration.md +++ b/docs/testing/continuous-integration.md @@ -1,12 +1,12 @@ # Jenkins -To prevent defects from entering the system or remaining in the system, the tests are executed automatically Jenkins. Jenkins first runs php and javascript style checks through the usage of `civilint` before running unit tests. +To prevent defects from entering the system or remaining in the system, the tests are executed automatically by Jenkins. Jenkins first runs php and javascript style checks through the usage of `civilint` before running unit tests. -Jenkins runs two different types of jobs a PR test job and a matrix Job. The results of the tests are published at [test.civicrm.org][jenkins-test-results] [testing-readme]: https://github.com/civicrm/civicrm-core/blob/master/tests/README.md +Jenkins runs two different types of jobs: a pull-request (PR) job and a matrix job. The results of the tests are published at [test.civicrm.org][jenkins-test-results]. ## PR Test Jobs -Jenkins runs a "PR Test" job which is triggered whenever a pull request is created or updated in gihub PR test jobs can take anywhere from 5 - 90min to complete. This works for the following repos: +Jenkins runs a "PR Test" job which is triggered whenever a pull request is created or updated in Github. PR test jobs can take anywhere from 5 - 90 min to complete. This works for the following repos: * `civicrm-core` * `civicrm-packages` @@ -23,30 +23,30 @@ There are seven main groups or suites of tests: * Upgrade Tests - This is a test where it takes a known databasse state loads it into the test db and then runs the upgrade script to try and upgrade the database to the current code version. * Webtests - These are selenium webtests that are run occassionally and haven't been well maintained -To run all the tests in one of the suites locally you can use [civi-test-run](/tools/civi-test-run.md). +To run all the tests in one of the suites locally, you can use [civi-test-run](/tools/civi-test-run.md). The tests that are run are variable depending on the repository that is triggered. -* civicrm-core: Upgrade, karma, CRM, api_v3, E2E and Civi tests are run -* civicrm-packages: same as civicrm-core -* civicrm-drupal: Upgrade, Karma and E2E tests are run -* civicrm-backdrop: same as civicrm-drupal +* `civicrm-core`: Upgrade, karma, CRM, api_v3, E2E and Civi tests +* `civicrm-packages`: same as civicrm-core +* `civicrm-drupal`: Upgrade, Karma and E2E tests +* `civicrm-backdrop`: same as civicrm-drupal -For PR test jobs against civicrm-core and civicrm-packages jenkins only builds a drupal site to run the tests against. If you are fixing an issue with another CMS you may need to build yourself a local test environment with that CMS +For PR test jobs against `civicrm-core` and `civicrm-packages`, Jenkins only builds a Drupal site to run the tests against. If you are fixing an issue with another CMS you may need to build yourself a local test environment with that CMS If the tests have failed for something that we suspect is a random failure, we can ask Jenkins to run the tests again by commenting in the PR "Jenkins, test this please" -## Matrix Test jobs +## Matrix Test Jobs -The other type of Job that jenkins runs is what is desccribed as a "matrix" job. This is a much more extended version of the PR job and is usually run against multiple different webserver configurations. +The other type of job that Jenkins runs is what is described as a "matrix" job. This is a much more extended version of the PR job and is usually run against multiple webserver configurations. -The main difference between the `civicrm-core-matrix` job and a PR test job is that it runs more upgrade tests than the CiviCRM Core PR. +The main difference between the `CiviCRM-Core-Matrix` job and a PR test job is that it runs more upgrade tests than the `CiviCRM-Core-PR`. The other matrix job is one that runs the webtests. -The matrix jobs operate on two main combinations a PHP5.5 + MySQL5.5 server and a PHP7.0 + MySQL5.7 test seerver. +The matrix jobs operate on two main combinations, a PHP5.5 + MySQL5.5 server and a PHP7.0 + MySQL5.7 test seerver. -Due to the length and the test regieme matrix jobs can take from 2 to 24hours to complete depending on the job. +Due to the length of the full test suites, matrix jobs can take from 2 to 24 hours to complete. ### Build Schedule