This page is about Launchpad's continuous integration system. |
Tarmac Merge Machinery
Operator's Guide
Developer Notes
Bug tracking
While the implementation project is in progress, please tag all bugs with merge-machinery-story.
When the project is complete, please tag all bugs with build-infrastructure.
How do I fix a bug in Launchpad's Tarmac?
We maintain a fork of the Tarmac project for our own use at lp:~launchpad/tarmac/lp-tarmac. You will have to modify the fork if you want to make changes to Tarmac or our in-house Tarmac bundle-merge command.
To patch and deploy the Tarmac sources:
bzr branch lp:~launchpad/tarmac/lp-tarmac
- Make your changes
Push your changes back to lp:~launchpad/tarmac/lp-tarmac
Note: pushing code like this is risky - we should find a better way to handle code updates.
Go to the packaging recipe and click on the "Request build(s)" link to request a build on Lucid for the Launchpad team PPA. (This takes around 90 minutes to complete.)
Ask a LOSA to deploy the new package to sapote. They will modify the version string and deploy it using their own tools. (Again, takes around 90 minutes.)
- If you have not already done so, clean up your changes and as them to be merged into Tarmac project mainline.
How do I modify Tarmac's commit message checking plugin, or other Launchpad Tarmac configuration?
The commit message checking plugin and the other configuration files live outside of the tarmac package itself, in a branch at lp:lp-tarmac-config. The plugin has to be modified and installed separately from the Tarmac source code.
To patch and deploy the plugin:
bzr branch lp:lp-tarmac-config
- Make your changes
Push your changes back to lp:lp-tarmac-config
Ask a LOSA to copy the lpcommit.py file from lp:lp-tarmac-config into ~/.config/tarmac/plugins on sapote.
Do the same for other similar files.