continuous integration for gnome
play

Continuous integration for GNOME Juan Jos Snchez Penas - PowerPoint PPT Presentation

Continuous integration for GNOME Juan Jos Snchez Penas <jjsanchez@igalia.com> Guadec 2006, Vilanova i la Geltr Proposed table of contents What is continuous integration? Why CI for Gnome? History of CI inside the GNOME


  1. Continuous integration for GNOME Juan José Sánchez Penas <jjsanchez@igalia.com> Guadec 2006, Vilanova i la Geltrú

  2. 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ú

  3. 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ú

  4. 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ú

  5. 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ú

  6. 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ú

  7. 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ú

  8. 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ú

  9. 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ú

  10. 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ú

  11. 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ú

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend