publications/ci-roadmap-folsom/notes

70 lines
1.9 KiB
Plaintext

[title]
Hi. I'm Monty This is Jim.
[Lineage]
Our build infrasturcture and many of its philosophies come from:
MySQL - Launchpad/bzr
Drizzle - gated trunk, using all of the launchpad features
OpenStack - automated gated trunk via tarmac
[gated trunk]
So with openStack, we did automated checks of every proposed commit through
jenkins and everything was happy
[Git Revolt]
Then we had a revolt, because the developers wanted to use git.
Launchpad has no git support (or in-line code reviews)
Github's pull-request have no approval state
[Enter Gerrit]
Gerrit, from google used by android, has all of the things we needed
Except for Launchpad integration
So we added it
[Bug Integration]
Gerrit review launchpad links on bug metions
Gerrit topics set from bugs
[Launchpad side]
Gerrit sends bug control emails with links to the review and the commit
State changes- in progress when review is submitted. Fix committed when
patch is accepted
[Blueprint Integration]
Blueprint links in commit messages
Topics set from blueprint mentions
[Launchpad side]
Inject information on commits to blueprints just like bugs
Have to use the whiteboard
Link to review - but also to the general gerrit topic, since a blueprint
might have more than one branch
[SSO]
Gerrit and Jenkins both use Launchpad OpenID for auth
[Jenkins Integration]
Gerrit has deep jenkins integration. Listens on an ssh stream and takes
active action. Posts back to the review with jenkins links on success or
failure
[Gerrit Verification]
Jenkins fills the gerrit role of verifier.
In addition to being approved or denied, a given change can be verified as
working or not.
[Feature REquest time]
Subscribably event triggers
Verification status
launchpadlib api bindings in non-python
[While we're at it]
Foreign merge props - bugs were cool, lots of people do code review
elsewhere
mirrored branches
Branch/merge prop integration with blueprints
Structured info in blueprints