Skip to content
This repository has been archived by the owner on Nov 27, 2018. It is now read-only.

develer-staff/positronic-brain

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

89 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Positronic Brain

Opinionated BuildBot workflow.

Build Status Coverage Status License

Positronic Brain makes it extremely easy to get up and running with your BuildBot server by dropping few lines in your master.cfg file. Gone are the days of having to figure out how to wire all pieces together.

Adding a positronic brain to your BuildBot brings you:

  • Sensible defaults for your BuildBot master.
  • Notification emails sent to developers after a build failure.
  • Notification emails sent to administrators for all builds on all projects.
  • No need to mess with Change Sources or Schedulers.
  • Archiving of artifacts on the master after each successful build.
  • Automatic deletion of old artifacts on the master.

Installation

This package is not being published to PyPI, so for the time being you have to install it by running:

pip install https://github.com/develersrl/positronic-brain/archive/master.zip#egg=positronic-brain

Please note that this package depends on a very specific version of the BuildBot master and you have to make sure to have it installed first (see requirements.txt for more details).

Usage

In your BuildBot master configuration file (master.cfg) import everything from the "positronic.brain" package and perform some basic initialization:

from positronic.brain import *

#      basedir=basedir looks weird, but we need it.
master(basedir=basedir, url='https://buildbot.example.com/')

worker('my-first-worker', 'secretpassword')
worker('my-second-worker', 'anothersecretpassword')

with FreestyleJob('my-project', workers=['my-first-worker', 'my-second-worker']) as j:
    j.checkout('project', 'svn+ssh://svn.example.com/svn/project', 'trunk')
    j.command('make')
    j.command('make', 'check')
    j.command('make', 'packages')
    j.notify('dev1@example.com')

Releases

No releases published

Packages

No packages published

Languages