What Is Continuous Integration?

What Is Continuous Integration?

Continuous integration for GNOME Juan José Sánchez Penas <[email protected]> Guadec 2006, Vilanova i la Geltrú Proposed table of contents ● What is continuous integration? ● Why CI for Gnome? ● History of CI inside the GNOME project ● Present of CI inside the GNOME project ● Goals of the continous integration ● Discussion about the available tools: – C.I. tools: jhautobuild, tinderbox, bulidbot,... – Value added tools: check, gcov,... ● Creation of the continous integration team ● Definition of the roadmap for the next year 2 Continuous integration for Gnome ± Guadec 2006, Vilanova i la Geltrú What is Continuous Integration (CI)? ● Wikipedia defines it as follows: – Continuous Integration is a software engineering term describing a process that completely rebuilds and tests an application frequently. – Tipically refers to the eXtreme Programming practice. – The more popular form (also called Automated Continuous Integration) takes the form of a server process or daemon that monitors a version control system and automatically runs the build process (and then runs test scripts). 3 Continuous integration for Gnome ± Guadec 2006, Vilanova i la Geltrú Why CI for Gnome? ● Detect new errors in the software - early. ● Automatic testing: unit testing, functional testing, performance (speed and memory), code coverage, functionality texting...) ● The Pango/Cairo problem in Federico's Keynote could be detected automatically. ● ... 4 Continuous integration for Gnome ± Guadec 2006, Vilanova i la Geltrú History of CI inside GNOME ● Before? ● Summer 2005: Luis Villa's work on Tinderbox (MicroTinder) ● Summer2005-Summer2006: No continuous integration for Gnome 5 Continuous integration for Gnome ± Guadec 2006, Vilanova i la Geltrú Present of CI inside GNOME ● Currently for Gnome: – jhAutoBuild (http://jhbuild.bxlug.be/) – Tinderbox 2 for Gnome (http://tinderbox.igalia.com) – Tinderbox 3 for Gnome (http://tbox3.igalia.com) ● Other free software projects – Freedesktop: http://tinderbox.anholt.net (Tinderbox 3) – Gstreamer: http://build.fluendo.com:8080/ (BuildBot) – Fisterra: http://tinderbox.fisterra.org (Tinderbox 2) – Samba: http://build.samba.org/ (custom development) – PostgreSQL: http://www.pgbuildfarm.org/ (custom dev) 6 Continuous integration for Gnome ± Guadec 2006, Vilanova i la Geltrú Goals of the CI for GNOME (I) ● (Luis Villa's) Hard Requirements: – Supports Big List O'Modules – Many build types/sources – Reporting (easy view for non-experts, per-module) – Tests (supports LDTP/Dogtail), xvfb integration, – Documented (how to make the tool work with Gnome) ● Also interesting: – Integration with other tools like CVS/Bonsai/Bugzilla/LXR... (all the Mozilla tools) – Security (authentication, encription, etc.) – Easy to deploy (installation should be trivial) 7 Continuous integration for Gnome ± Guadec 2006, Vilanova i la Geltrú Goals of the CI for GNOME (II) ● (Luis Villa's) Bonus requirements: – Handle module dependencies – Notification features – Minimal duplication of build information – Distributed – Easy to set up/maintain – Builds Ekiga :-) – Active development community 8 Continuous integration for Gnome ± Guadec 2006, Vilanova i la Geltrú Goals of the CI for GNOME ● (Luis Villa's) Serius Bonus: – Records last successful build of a module – Output binaries – Records Dogtail/LDTP tests with VNC2SWF or something similar – Mail maintainers of a broken module – Deposit special files in special locations – Support local patches (only used for CI) 9 Continuous integration for Gnome ± Guadec 2006, Vilanova i la Geltrú Which tools should Gnome use? ● For the continuous integration (one or several?): – jhAutobuild? – Tinderbox3? – Buildbot? ● Complementary tools (value added): – Check – gcov – LDTP/Dogtail – ... 10 Continuous integration for Gnome ± Guadec 2006, Vilanova i la Geltrú How to organize the work? ● Creating the CI Team – Volunteers? – Team structure? Roles? – Mailing lists, wiki sections, etc. ● Definition of a roadmap (priorities) – What to do before the end of the year – What to do during 2007 11 Continuous integration for Gnome ± Guadec 2006, Vilanova i la Geltrú.

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    11 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us