Changes between Version 1 and Version 2 of DevQualityAssurance
- Timestamp:
- Jan 22, 2015, 12:50:13 AM (10 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
DevQualityAssurance
v1 v2 14 14 * support testing multiple language on portions of the VCS (C++, PHP, Java) 15 15 16 == Tools == 17 [http://jenkins-ci.org/ Jenkins] is a continuous integration server that is extended using plugins: 18 * already supports JUnit and javadoc 19 * supports git via the [https://wiki.jenkins-ci.org/display/JENKINS/Git+Plugin git plugin] 20 * the [https://wiki.jenkins-ci.org/display/JENKINS/xUnit+Plugin xUnit plugin] can show reports from JUnit, PHPUnit and !CppUnit test tools 21 * there is also a [https://wiki.jenkins-ci.org/display/JENKINS/Cppcheck+Plugin cppcheck plugin] 22 Those plugins only compile a report from each of those tools. The tools need to be installed and configured separately. 23 24 Using JUnit, PHPUnit and !CppUnit should simplify the creation and maintenance of test cases. 25 26 Jenkins support distributed workers as build nodes. 16 == Travis CI == 17 [http://travis-ci.org/ Travis-CI] is a continuous integration service that is free for Open Source projects: 18 * tracks all commits and pull request made in the BOINC github mirror repository 19 * installs needed software in a VM (Ubuntu 12.04) and tries to build the different BOINC components separately 20 * failures are recognized (exit code != 0) and a notification is send to the boinc_cvs mailinglist 21 * supports only Linux and Mac OS X at the moment 27 22 28 23 === problems === 29 * Jenkins has no built-in user authentication30 * How does Jenkins handle multi-language code bases?24 * It is difficult to handle the android build as it needs a complete different .travis.yml configuration file. A solution would be to have a separate branch 'android_build' with a modified .travis.yml file that only builds the android client. This would require to merge in the android specific changes by hand without overwriting the .travis.yml file. 25 * Since the build is triggered on every commit or pull request it might not be ideal to generate documentation or reports within the VM 31 26 32 === links ===33 * [https://wiki.jenkins-ci.org/display/JENKINS/Jenkins+and+PHP Jenkins and PHP] 34 * [https://wiki.jenkins-ci.org/display/JENKINS/Terminology Jenkins Terminology]35 36 == Workflow == 27 === future changes === 28 In order to enhance the usefulness of the automated build the following changes are possible: 29 * add a simple syntax test for php Code 30 * add a more elaborate test that creates a project inside the VM 31 * explore if it's useful to add a [https://scan.coverity.com/travis_ci Coverty scan] (free but limited in builds per week) 37 32 38 33 == On creating test cases ==