This month Novacut switched to a new release process, and I wanted to share my experience because I think it could be useful for many projects.
The gist is to have a staging PPA where you prepare and test your packages (we use ppa:novacut/pre-stable), and then after you validate the release, move them into your stable PPA by using the Launchpad "Copy packages" feature... and for the copy options, chose Copy existing binaries.
I made a screencast of me releasing Novacut 11.12, which you should watch if you'd like releases that are both higher-quality and less stressful. Seriously, I'm a believer now.
There are 2 key benefits this brought Novacut, the first which applies to all projects, and the second which applies to any project composed of multiple components that must be delivered in unison:
Does anyone know of other projects that use a staging PPA like this? I'd love to see other examples, get ideas on how we could further refine the Novacut release process.
The gist is to have a staging PPA where you prepare and test your packages (we use ppa:novacut/pre-stable), and then after you validate the release, move them into your stable PPA by using the Launchpad "Copy packages" feature... and for the copy options, chose Copy existing binaries.
I made a screencast of me releasing Novacut 11.12, which you should watch if you'd like releases that are both higher-quality and less stressful. Seriously, I'm a believer now.
There are 2 key benefits this brought Novacut, the first which applies to all projects, and the second which applies to any project composed of multiple components that must be delivered in unison:
- It gives you time to sort out issues that might occur in a build from your release tarball, but do not occur in your daily builds from bzr
- The Novacut project now spans seven independent components and often there are API changes between the layers, so any build lag in the stable PPA means things temporarily break... and that's where Copy existing binaries is your new best friend because you can deliver multiple packages together with one click
Does anyone know of other projects that use a staging PPA like this? I'd love to see other examples, get ideas on how we could further refine the Novacut release process.