KDE-Apps.org Applications for the KDE-Desktop 
 GTK-Apps.org Applications using the GTK Toolkit 
 GnomeFiles.org Applications for GNOME 
 MeeGo-Central.org Applications for MeeGo 
 CLI-Apps.org Command Line Applications 
 Qt-Apps.org Free Qt Applications 
 Qt-Prop.org Proprietary Qt Applications 
 Maemo-Apps.org Applications for the Maemo Plattform 
 Java-Apps.org Free Java Applications 
 eyeOS-Apps.org Free eyeOS Applications 
 Wine-Apps.org Wine Applications 
 Server-Apps.org Server Applications 
 apps.ownCloud.com ownCloud Applications 
 KDE-Look.org Artwork for the KDE-Desktop 
 GNOME-Look.org Artwork for the GNOME-Desktop 
 Xfce-Look.org Artwork for the Xfce-Desktop 
 Box-Look.org Artwork for your Windowmanager 
 E17-Stuff.org Artwork for Enlightenment 
 Beryl-Themes.org Artwork for the Beryl Windowmanager 
 Compiz-Themes.org Artwork for the Compiz Windowmanager 
 EDE-Look.org Themes for your EDE Desktop 
 Debian-Art.org Stuff for Debian 
 Gentoo-Art.org Artwork for Gentoo Linux 
 SUSE-Art.org Artwork for openSUSE 
 Ubuntu-Art.org Artwork for Ubuntu 
 Kubuntu-Art.org Artwork for Kubuntu 
 LinuxMint-Art.org Artwork for Linux Mint 
 Arch-Stuff.org Art And Stuff for Arch Linux 
 Frugalware-Art.org Themes for Frugalware 
 Fedora-Art.org Artwork for Fedora Linux 
 Mandriva-Art.org Artwork for Mandriva Linux 
 KDE-Files.org Files for KDE Applications 
 OpenTemplate.org Documents for OpenOffice.org
 GIMPStuff.org Files for GIMP
 InkscapeStuff.org Files for Inkscape
 ScribusStuff.org Files for Scribus
 BlenderStuff.org Textures and Objects for Blender
 VLC-Addons.org Themes and Extensions for VLC
 KDE-Help.org Support for your KDE Desktop 
 GNOME-Help.org Support for your GNOME Desktop 
 Xfce-Help.org Support for your Xfce Desktop 
openDesktop.orgopenDesktop.org:   Applications   Artwork   Linux Distributions   Documents    Linux42.org    OpenSkillz.com   

- News . 
click to vote up

Jason Gerard DeRose: Daily builds are your canary in the mine shaft

Published May 1 2012 via RSS

We're now doing daily builds of all the Novacut components for Ubuntu Quantal (in addition to Precise), even though we'll continue to run Precise on our dev machines for some time. With just a bit of initial setup, these daily builds give us an early warning about packaging or code changes that might be needed for Novacut to work well on the next Ubuntu release.

Our daily PPA has pumped out 814 builds so far, and of those 20 have been "failures"... occasions when the daily build gave us exactly the early warning we wanted.

We do our daily builds using Launchpad Source Package Recipes, and I can't recommend them enough. For example, here's the Source Package Recipe for filestore.

We also run most of our unit tests during the builds (I don't know why, but for some reason you can't import Gtk inside the build environments, so that's why not all our tests are run). We've adopted the setup.py test convention for running our Python unit tests, because that's what Barry Warsaw says you should do, and he's awesome. So you can run the unit tests for any of the Novacut components like this:

./setup.py test

Also following Barry Warsaw's advice, here's the debian/rules file for filestore, which you can use as an example of how to run setup.py test during your Debian package build.

If you look in this filestore build log, you'll see that all 72 unit tests were run and passed (starts a bit past half-way into the log).

Between the builds and the unit tests, we can be fairly certain that our packages will install and work correctly on the next Ubuntu release. And most importantly, we don't have to lift a finger for it. Each time a commit is made to trunk, Launchpad will automatically do a build (up to 1 per day automatically, although you can manually trigger more than that when needed).

And one last note: if you follow this approach, you might need to add some additional packages needed for your unit tests into your Build-Depends in debian/control.

So are you using Source Package Recipes to help you deliver higher quality software to your Ubuntu users? If not, Quantal is a great time to start!

Update: Thanks to help from Rodney Dawes, apparently this is the trick to get around the issue I had importing Gtk in the build environments:

unset GTK_MODULES && xvfb-run -a ./setup.py test

Rodney also said:

(07:20:00 AM) dobey: also, you need to be careful with setup.py test
(07:21:06 AM) dobey: as it can potentially test against things which aren't actually
in the distro
(07:21:25 AM) dobey: since it has the "download and build deps from pypi magic" stuff

Which is a good word of caution. Myself, I've always avoided "pypi magic", preferring real packaging instead :P Thanks, Rodney!

BackRead original postSend to a friend

Add commentAdd comment
Show all posts

 Who we are
More about us
Frequently Asked Questions
Updates on identi.ca
Updates on Twitter
Add App
Public API
About addons.videolan.org
Legal Notice
Spreadshirt Shop
CafePress Shop
Report Abuse

Copyright 2011-2016 addons.videolan.org Team  
All rights reserved. addons.videolan.org is not liable for any content or goods on this site.
All contributors are responsible for the lawfulness of their uploads.
VideoLAN, VLC media player and x264 are trademarks registered (or in registration process) by the VideoLAN non-profit organization