pear:qa:ci

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
pear:qa:ci [2012/04/12 23:21] – More detail re dep management clockwerxpear:qa:ci [2017/09/22 13:28] (current) – external edit 127.0.0.1
Line 5: Line 5:
 http://test.pear.php.net/ hosts continuous integration tools http://test.pear.php.net/ hosts continuous integration tools
   * [[http://test.pear.php.net/|Pearweb test installation]]   * [[http://test.pear.php.net/|Pearweb test installation]]
-  * [[http://test.pear.php.net/unit-test-results/|Test results overview]] 
   * [[http://test.pear.php.net:8080/|Jenkins]]   * [[http://test.pear.php.net:8080/|Jenkins]]
 +  * [[http://test.pear.php.net/unit-test-results/|(old) Test results overview]]
   * [[https://github.com/pear/pear-svn-git|Migrate to github script]]   * [[https://github.com/pear/pear-svn-git|Migrate to github script]]
  
Line 12: Line 12:
  
 ===== Jenkins ===== ===== Jenkins =====
-Jenkins is a continuous integration platform. Currently, all packages in both PEAR and PEAR2 are built by it.+Jenkins is a continuous integration platform. Currently, all packages in both PEAR and PEAR2 were scanned for the presence of a 'tests' folder, and corresponding jenkins jobs were created. 
 + 
 +==== Access === 
 +Jenkins is configured to authenticate against the github organisations of pear / pear2. You simply need to be associated with one of the organisations to modify builds. 
 + 
 +==== Adding a new job/build ==== 
 +  * Create job 
 +  * Enter package name 
 +  * Enter link to github 
 +  * Enter the read-only git url into source management 
 +  * Select 'build on push from github' as a trigger 
 +  * Add either manual build steps or invoke an ant build.xml target. Manual steps should include executing  
 +    * phpunit --coverage-html build/coverage/ --coverage-clover build/logs/clover.xml --log-junit build/logs/junit.xml tests/ 
 +    * php ~/pyrus.phar package 
 +  * Add in Post-build Actions for 'Publish junit test result report'
  
 ==== How do I make sure my tests work? ==== ==== How do I make sure my tests work? ====
-In general, we encourage the use of an AllTests.php - we target PHPUnit 3.at this time.+In general, we encourage the use of an appropriate phpunit.xml - we target PHPUnit 3.at this time.
  
-Your package directory layout should allow you to successfully run your test suite as below:+Your package directory layout should allow you to successfully run your test suite as below (assuming svn):
 <code bash> <code bash>
 $ cd Foo_Bar/trunk $ cd Foo_Bar/trunk
-php tests/AllTests.php+phpunit -c phpunit.xml tests/
 </code> </code>
  
-... or as per the phpunit command above. 
- 
-http://jenkins-php.org/ is also worth a look. 
  
 ==== My directory layout doesn't work === ==== My directory layout doesn't work ===
Line 41: Line 52:
  
 # Run tests to confirm no fatal errors, using one of # Run tests to confirm no fatal errors, using one of
-$ php tests/AllTests.php 
 $ pear run-tests -r tests/ $ pear run-tests -r tests/
 $ phpunit tests/ $ phpunit tests/
Line 104: Line 114:
  
  
-The second is to utilise [http://getcomposer.org|composer.phar] in combination with a relevant phpunit.xml+The second is to utilise [[http://getcomposer.org|composer.phar]] in combination with a relevant phpunit.xml
  
 ==== Todo ==== ==== Todo ====
pear/qa/ci.1334272863.txt.gz · Last modified: 2017/09/22 13:28 (external edit)