Diff for "Trunk/Glue"

Not logged in - Log In / Register

Differences between revisions 1 and 2
Revision 1 as of 2009-09-01 00:07:12
Size: 613
Editor: mwhudson
Comment:
Revision 2 as of 2009-09-01 01:20:19
Size: 1942
Editor: mwhudson
Comment:
Deletions are marked like this. Additions are marked like this.
Line 7: Line 7:
 * PQM -- this is how changes get into the devel and db-devel branches
Line 8: Line 9:
 * PQM -- this is how changes get into branches.
Line 11: Line 11:
NOTE: I don't yet completely understand how a commit to a Bazaar branch on Launhpad ends up triggering a build in buildbot. There is a (currently private) branch on launchpad that contains the buildbot config and the buildbot-poll.py script.

The buildbot UI is currently also private, but this will change, hopefully soon.

== PQM ==

PQM is a robot that processes requests to merge branches into either devel or db-devel.

For devel, all the requests come from developers.

For db-devel, many requests are generated by buildbot-poll.py merging stable into db-devel.

PQM checks that the commit message matches the required regexp, that the branch merges cleanly into the target branch, and, for devel only, that the change does not introduce any database changes.

PQM has two configs: the default config and the 'testfix' config. The buildbot-poll.py script is responsible for switching between the configs.
Line 15: Line 29:
== PQM == Buildbot is our continuous integration tool of choice.

At one level, it's fairly simple: when a change is detected on the devel or db-devel branches on launchpad, the tests are run on that branch and their success or failure noted.

NOTE: I don't yet completely understand how a commit to a Bazaar branch on Launchpad ends up triggering a build in buildbot.
Line 18: Line 36:

This script checks the status of the builds on buildbot and does two main things depending on what it finds:

 1. it swaps PQM in and out of 'testfix' mode, depending
 1. it makes sure the stable and db-stable branches are up to date with the last known good revision.

How the 4 trunk branches and buildbot work together

This page aims to explain the mechanisms that make the wonderful diagrams on the "where is trunk?" page work.

There are three main components:

  • PQM -- this is how changes get into the devel and db-devel branches
  • buildbot -- this is what runs the tests.
  • buildbot-poll.py -- this script monitors the branches and builds on buildbot and implements much of our policy.

There is a (currently private) branch on launchpad that contains the buildbot config and the buildbot-poll.py script.

The buildbot UI is currently also private, but this will change, hopefully soon.

PQM

PQM is a robot that processes requests to merge branches into either devel or db-devel.

For devel, all the requests come from developers.

For db-devel, many requests are generated by buildbot-poll.py merging stable into db-devel.

PQM checks that the commit message matches the required regexp, that the branch merges cleanly into the target branch, and, for devel only, that the change does not introduce any database changes.

PQM has two configs: the default config and the 'testfix' config. The buildbot-poll.py script is responsible for switching between the configs.

Buildbot

Buildbot is our continuous integration tool of choice.

At one level, it's fairly simple: when a change is detected on the devel or db-devel branches on launchpad, the tests are run on that branch and their success or failure noted.

NOTE: I don't yet completely understand how a commit to a Bazaar branch on Launchpad ends up triggering a build in buildbot.

buildbot-poll.py

This script checks the status of the builds on buildbot and does two main things depending on what it finds:

  1. it swaps PQM in and out of 'testfix' mode, depending
  2. it makes sure the stable and db-stable branches are up to date with the last known good revision.

Trunk/Glue (last edited 2019-10-04 11:26:34 by cjwatson)