Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Use yaml for buildbot steps #325

Merged
merged 12 commits into from Apr 20, 2016

Clean up master.cfg to pass flake8

Also rename LINUX_RESERVED_SLAVES to LINUX_SLAVES, since all of our
builders are now on reserved instances.
  • Loading branch information
aneeshusa committed Apr 20, 2016
commit 056ed34ec10c9275054cc0364cca7ce3063dfe9c
@@ -1,17 +1,18 @@
# -*- python -*-
# ex: set syntax=python:

from buildbot.plugins import *
from buildbot.plugins import buildslave, changes, schedulers, util
from buildbot.status import html, status_push, web, words

import factories
from passwords import HTTP_USERNAME, HTTP_PASSWORD, SLAVE_PASSWORD, CHANGE_PASSWORD
from passwords import HTTP_USERNAME, HTTP_PASSWORD
from passwords import SLAVE_PASSWORD, CHANGE_PASSWORD
from passwords import HOMU_BUILDBOT_SECRET

LINUX_RESERVED_SLAVES = ["servo-linux1", "servo-linux2"]

LINUX_SLAVES = ["servo-linux1", "servo-linux2"]
MAC_SLAVES = ["servo-mac1", "servo-mac2", "servo-mac3"]
CROSS_SLAVES = ["servo-linux-cross1", "servo-linux-cross2"]
WINDOWS_SLAVES = ["servo-windows1"]


c = BuildmasterConfig = {}
c['protocols'] = {'pb': {'port': 9001}}
c['caches'] = {
@@ -20,34 +21,57 @@ c['caches'] = {
'chdicts': 1000,
}

####### BUILDSLAVES

##################
# BUILDSLAVES
##################


c['slaves'] = []
for s in MAC_SLAVES + CROSS_SLAVES + LINUX_RESERVED_SLAVES + WINDOWS_SLAVES:
for s in MAC_SLAVES + CROSS_SLAVES + LINUX_SLAVES + WINDOWS_SLAVES:
c['slaves'].append(buildslave.BuildSlave(s, SLAVE_PASSWORD, max_builds=1))

####### CHANGESOURCES

c['change_source'] = []
c['change_source'].append(changes.PBChangeSource(passwd=CHANGE_PASSWORD))
##################
# CHANGESOURCES
##################


c['change_source'] = [changes.PBChangeSource(passwd=CHANGE_PASSWORD)]


##################
# SCHEDULERS
##################

####### SCHEDULERS

def servo_auto_try_filter(c):
if c.project == 'servo/servo' and c.who.startswith('bors-servo') and c.branch in ["auto", "try"]:
return True
return False
return (c.project == 'servo/servo' and
c.who.startswith('bors-servo') and
c.branch in ["auto", "try"])


def servo_master_filter(c):
if c.project == 'servo/servo' and c.who.startswith('bors-servo') and c.branch == "master":
return True
return False
return (c.project == 'servo/servo' and
c.who.startswith('bors-servo') and
c.branch == "master")


c['schedulers'] = []
c['schedulers'].append(schedulers.AnyBranchScheduler(
name="servo-auto",
treeStableTimer=None,
builderNames=["linux-dev", "linux-rel", "mac-rel-wpt", "mac-dev-unit", "mac-rel-css", "android", "arm32", "arm64", "windows"],
builderNames=[
"linux-dev",
"linux-rel",
"mac-rel-wpt",
"mac-dev-unit",
"mac-rel-css",
"android",
"arm32",
"arm64",
"windows",
],
change_filter=util.ChangeFilter(filter_fn=servo_auto_try_filter),
))
c['schedulers'].append(schedulers.SingleBranchScheduler(
@@ -58,35 +82,51 @@ c['schedulers'].append(schedulers.SingleBranchScheduler(
))
c['schedulers'].append(schedulers.ForceScheduler(
name="force",
builderNames=["linux-dev", "linux-rel", "mac-rel-wpt", "mac-dev-unit", "mac-rel-css", "android", "arm32", "arm64", "android-nightly", "windows"]
builderNames=[
"linux-dev",
"linux-rel",
"mac-rel-wpt",
"mac-dev-unit",
"mac-rel-css",
"android",
"arm32",
"arm64",
"android-nightly",
"windows",
],
))
c['schedulers'].append(schedulers.Nightly(
name="Nightly",
branch="master",
builderNames=["android-nightly"],
hour=1,
minute=0
minute=0,
))

####### BUILDERS

##################
# BUILDERS
##################


def branch_priority(builder, requests):
for r in requests:
if r.source.branch != "try":
return r
return requests[0]


c['builders'] = []
c['builders'].append(util.BuilderConfig(
name="linux-dev",
slavenames=LINUX_RESERVED_SLAVES,
slavenames=LINUX_SLAVES,
factory=factories.linux_dev,
nextBuild=branch_priority,
category="auto",
))
c['builders'].append(util.BuilderConfig(
name="linux-rel",
slavenames=LINUX_RESERVED_SLAVES,
slavenames=LINUX_SLAVES,
factory=factories.linux_rel,
nextBuild=branch_priority,
category="auto",
@@ -142,7 +182,7 @@ c['builders'].append(util.BuilderConfig(
))
c['builders'].append(util.BuilderConfig(
name="doc",
slavenames=LINUX_RESERVED_SLAVES,
slavenames=LINUX_SLAVES,
factory=factories.doc,
category="auto",
))
@@ -154,53 +194,57 @@ c['builders'].append(util.BuilderConfig(
category="auto",
))

####### STATUS TARGETS

from buildbot.status.status_push import HttpStatusPush
##################
# STATUS TARGETS
##################


c['status'] = []
c['status'].append(HttpStatusPush(
c['status'].append(status_push.HttpStatusPush(
serverUrl='http://build.servo.org:54856/buildbot',
extra_post_params={'secret': HOMU_BUILDBOT_SECRET},
))

from buildbot.status import html
from buildbot.status.web import authz, auth



authz_cfg=authz.Authz(
auth=auth.BasicAuth([(HTTP_USERNAME, HTTP_PASSWORD)]),
gracefulShutdown = 'auth',
forceBuild = 'auth',
forceAllBuilds = 'auth',
pingBuilder = 'auth',
stopBuild = 'auth',
stopAllBuilds = 'auth',
cancelPendingBuild = 'auth',
authz_cfg = web.authz.Authz(
auth=web.auth.BasicAuth([(HTTP_USERNAME, HTTP_PASSWORD)]),
gracefulShutdown='auth',
forceBuild='auth',
forceAllBuilds='auth',
pingBuilder='auth',
stopBuild='auth',
stopAllBuilds='auth',
cancelPendingBuild='auth',
)
c['status'].append(html.WebStatus(http_port=8010, authz=authz_cfg))

from buildbot.status import words
c['status'].append(words.IRC(host="irc.mozilla.org",
port=6697,
useSSL=True,
nick="servo_buildbot",
channels=["#servo-bots"],
notify_events={
'exception':1,
'finished':1,
'success':1,
'failure':1
}))

####### PROJECT IDENTITY
port=6697,
useSSL=True,
nick="servo_buildbot",
channels=["#servo-bots"],
notify_events={
'exception': 1,
'finished': 1,
'success': 1,
'failure': 1,
}))


##################
# PROJECT IDENTITY
##################


c['title'] = "Servo"
c['titleURL'] = "http://github.com/servo/servo"
c['buildbotURL'] = "http://build.servo.org/"

####### DB URL

##################
# DATABASE URL
##################


c['db'] = {
'db_url': "sqlite:///state.sqlite",
ProTip! Use n and p to navigate between commits in a pull request.
You can’t perform that action at this time.