Koha Test Wiki MW Canasta on Koha Portainer
Test major Koha Wiki changes or bug fixes here without fear of breaking the production wiki.
For the current Koha Wiki, visit https://wiki.koha-community.org .Continuous Integration
Jump to navigation
Jump to search
This documentation needs reviewed (written during kohacon12 after Chris(c) presentation).
In general
Continuous Integration is when you automatically build things (unit test, documentation or whatever else) each time a commit is done and system provide notification for each fail.
In Koha
The tool which provide CI server is Jenkins: http://jenkins.koha-community.org/
One line is called a job with its characteristics: name / git branch built / scripts ran / etc.
Zoom on Koha_Master job : http://jenkins.koha-community.org/job/Koha_master/
- Build history on the left shows built failed (red) and success
- Each time a build failed, a notification by mail is sent to RM and the person who breaks the build
- HTML_Report gives the cover of tests by file / sub
Other tools
- There is a jenkins_koha bot on irc (#koha)
- You can follow jenkins on twitter too :) https://twitter.com/?category=people#!/KohaJenkins
#!/bin/bash -x # # Don't forget to run autoconf and ./configure, if that's what your project # needs. make clean source install_misc/environment_Makefile.PL || exit 1 perl Makefile.PL # Actually build the project make || exit 3 export KOHA_CONF=/var/lib/jenkins/jobs/Koha_master/workspace/blib/KOHA_CONF_DIR/koha-conf.xml export PERL5LIB=/var/lib/jenkins/jobs/Koha_master/workspace export TEST_QA=1 prove_cover t/ t/db_dependent/ t/db_dependent/Labels xt/author/icondirectories.t xt/author/podcorrectness.t xt/author/translatable-templates.t xt/author/valid-templates.t xt/permissions.t xt/tt_valid.t --harness=TAP::Harness::JUnit cover -report clover measureperl-checkstyle --max_sub_lines 100 --max_sub_mccabe_complexity 10 --directory C4/ > checkstyle-result.xml
- Slaves can be setup for helping the server for building (take +40-50 minutes) or run your own jobs
Koha Documentation
Koha's manuals are done with Sphinx and built and deployed using gitlab ci. See: gitlab-ci.yml
Good practices
- Getting involved | Development workflow | Bug Reporting Guidelines | RFCs | Plugins | Plugin hooks
- Version Control Using Git | git bz | Commit messages | Sign off on patches | QA Test Tools | How to QA | Debugging in VIM
- Coding Guidelines | Koha Objects | Rest Api HowTo | Coding Guidelines - API | Unit Tests | Continuous Integration | Interface patterns | Database updates | Adding a syspref | Bootstrap and LESS
- Debian Packages | Building Debian Packages | Easy Package Building | Commands
- External: Dashboard | Bugzilla | Schema | perldoc | Jenkins