starting to rework qadevel-stg buildmaster
This commit is contained in:
parent
d334b16998
commit
d76f4e992b
2 changed files with 43 additions and 4 deletions
|
@ -30,6 +30,7 @@ mariadb_config: my.cnf.phabricator
|
||||||
mariadb_user: '{{ qadevel_stg_mariadb_user }}'
|
mariadb_user: '{{ qadevel_stg_mariadb_user }}'
|
||||||
mariadb_password: '{{ qadevel_stg_mariadb_password }}'
|
mariadb_password: '{{ qadevel_stg_mariadb_password }}'
|
||||||
|
|
||||||
|
# phabricator config
|
||||||
phabricator_db_prefix: 'phabricatorstg'
|
phabricator_db_prefix: 'phabricatorstg'
|
||||||
enable_phabricator_git: True
|
enable_phabricator_git: True
|
||||||
phabricator_vcs_user: git
|
phabricator_vcs_user: git
|
||||||
|
@ -44,10 +45,12 @@ phabricator_mail_enabled: True
|
||||||
phabricator_mail_domain: stg.fedoraproject.org
|
phabricator_mail_domain: stg.fedoraproject.org
|
||||||
ircnick: fedoraqabot
|
ircnick: fedoraqabot
|
||||||
|
|
||||||
|
# backup details (for parity with prod, not actually used)
|
||||||
backup_dir: /srv/backup
|
backup_dir: /srv/backup
|
||||||
backup_username: root
|
backup_username: root
|
||||||
backup_ssh_pubkey: ssh-dss AAAAB3NzaC1kc3MAAACBAJr3xqn/hHIXeth+NuXPu9P91FG9jozF3Q1JaGmg6szo770rrmhiSsxso/Ibm2mObqQLCyfm/qSOQRynv6tL3tQVHA6EEx0PNacnBcOV7UowR5kd4AYv82K1vQhof3YTxOMmNIOrdy6deDqIf4sLz1TDHvEDwjrxtFf8ugyZWNbTAAAAFQCS5puRZF4gpNbaWxe6gLzm3rBeewAAAIBcEd6pRatE2Qc/dW0YwwudTEaOCUnHmtYs2PHKbOPds0+Woe1aWH38NiE+CmklcUpyRsGEf3O0l5vm3VrVlnfuHpgt/a/pbzxm0U6DGm2AebtqEmaCX3CIuYzKhG5wmXqJ/z+Hc5MDj2mn2TchHqsk1O8VZM+1Ml6zX3Hl4vvBsQAAAIALDt5NFv6GLuid8eik/nn8NORd9FJPDBJxgVqHNIm08RMC6aI++fqwkBhVPFKBra5utrMKQmnKs/sOWycLYTqqcSMPdWSkdWYjBCSJ/QNpyN4laCmPWLgb3I+2zORgR0EjeV2e/46geS0MWLmeEsFwztpSj4Tv4e18L8Dsp2uB2Q== root@backup03-rdiff-backup
|
backup_ssh_pubkey: ssh-dss AAAAB3NzaC1kc3MAAACBAJr3xqn/hHIXeth+NuXPu9P91FG9jozF3Q1JaGmg6szo770rrmhiSsxso/Ibm2mObqQLCyfm/qSOQRynv6tL3tQVHA6EEx0PNacnBcOV7UowR5kd4AYv82K1vQhof3YTxOMmNIOrdy6deDqIf4sLz1TDHvEDwjrxtFf8ugyZWNbTAAAAFQCS5puRZF4gpNbaWxe6gLzm3rBeewAAAIBcEd6pRatE2Qc/dW0YwwudTEaOCUnHmtYs2PHKbOPds0+Woe1aWH38NiE+CmklcUpyRsGEf3O0l5vm3VrVlnfuHpgt/a/pbzxm0U6DGm2AebtqEmaCX3CIuYzKhG5wmXqJ/z+Hc5MDj2mn2TchHqsk1O8VZM+1Ml6zX3Hl4vvBsQAAAIALDt5NFv6GLuid8eik/nn8NORd9FJPDBJxgVqHNIm08RMC6aI++fqwkBhVPFKBra5utrMKQmnKs/sOWycLYTqqcSMPdWSkdWYjBCSJ/QNpyN4laCmPWLgb3I+2zORgR0EjeV2e/46geS0MWLmeEsFwztpSj4Tv4e18L8Dsp2uB2Q== root@backup03-rdiff-backup
|
||||||
|
|
||||||
|
# buildmaster details
|
||||||
buildmaster_db_host: localhost
|
buildmaster_db_host: localhost
|
||||||
buildmaster_template: ci.master.cfg.j2
|
buildmaster_template: ci.master.cfg.j2
|
||||||
buildmaster_endpoint: builds
|
buildmaster_endpoint: builds
|
||||||
|
@ -59,6 +62,10 @@ buildslave_poll_interval: 1800
|
||||||
master_dir: /home/buildmaster/master
|
master_dir: /home/buildmaster/master
|
||||||
master_user: buildmaster
|
master_user: buildmaster
|
||||||
|
|
||||||
|
# build details
|
||||||
|
repo_base: 'https://phab.qadeve.stg.fedoraproject.org/diffusion/'
|
||||||
|
docs_build_dir: /var/www/docs/
|
||||||
|
|
||||||
# for now, we're just doing a local slave so we need the slave vars in here
|
# for now, we're just doing a local slave so we need the slave vars in here
|
||||||
slave_home: /home/buildslave/
|
slave_home: /home/buildslave/
|
||||||
slave_dir: /home/buildslave/slave
|
slave_dir: /home/buildslave/slave
|
||||||
|
|
|
@ -27,6 +27,7 @@ c['slaves'] = [
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
]
|
]
|
||||||
|
|
||||||
|
{% if deployment_type == 'qadevel-prod' %}
|
||||||
c['slaves'].append(
|
c['slaves'].append(
|
||||||
openstack.OpenStackLatentBuildSlave(
|
openstack.OpenStackLatentBuildSlave(
|
||||||
"{{ qadevel_stg_buildslave_user }}",
|
"{{ qadevel_stg_buildslave_user }}",
|
||||||
|
@ -39,7 +40,7 @@ c['slaves'].append(
|
||||||
os_auth_url="https://fed-cloud02.cloud.fedoraproject.org:5001/v2.0"
|
os_auth_url="https://fed-cloud02.cloud.fedoraproject.org:5001/v2.0"
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
|
{% endif %}
|
||||||
# 'slavePortnum' defines the TCP port to listen on for connections from slaves.
|
# 'slavePortnum' defines the TCP port to listen on for connections from slaves.
|
||||||
# This must match the value configured into the buildslaves (with their
|
# This must match the value configured into the buildslaves (with their
|
||||||
# --master option)
|
# --master option)
|
||||||
|
@ -56,6 +57,7 @@ from buildbot.changes.gitpoller import GitPoller
|
||||||
interval = {{ buildslave_poll_interval }}
|
interval = {{ buildslave_poll_interval }}
|
||||||
|
|
||||||
c['change_source'] = []
|
c['change_source'] = []
|
||||||
|
{% if deployment_type == 'qadevel-prod' %}
|
||||||
c['change_source'].append(GitPoller(
|
c['change_source'].append(GitPoller(
|
||||||
'https://bitbucket.org/fedoraqa/taskotron-trigger.git',
|
'https://bitbucket.org/fedoraqa/taskotron-trigger.git',
|
||||||
workdir='gitpoller-workdir-trigger', branch='develop',
|
workdir='gitpoller-workdir-trigger', branch='develop',
|
||||||
|
@ -85,7 +87,7 @@ c['change_source'].append(GitPoller(
|
||||||
workdir='gitpoller-workdir-fake_fedorainfra', branch='develop',
|
workdir='gitpoller-workdir-fake_fedorainfra', branch='develop',
|
||||||
pollinterval=interval,
|
pollinterval=interval,
|
||||||
project='fake_fedorainfra'))
|
project='fake_fedorainfra'))
|
||||||
|
{% endif %}
|
||||||
####### SCHEDULERS
|
####### SCHEDULERS
|
||||||
|
|
||||||
# Configure the Schedulers, which decide how to react to incoming changes. In this
|
# Configure the Schedulers, which decide how to react to incoming changes. In this
|
||||||
|
@ -96,6 +98,7 @@ from buildbot.schedulers.forcesched import ForceScheduler
|
||||||
from buildbot.changes import filter
|
from buildbot.changes import filter
|
||||||
c['schedulers'] = []
|
c['schedulers'] = []
|
||||||
|
|
||||||
|
{% if deployment_type == 'qadevel-prod' %}
|
||||||
c['schedulers'].append(SingleBranchScheduler(
|
c['schedulers'].append(SingleBranchScheduler(
|
||||||
name="trigger-scheduler",
|
name="trigger-scheduler",
|
||||||
change_filter=filter.ChangeFilter(project='trigger', branch='develop'),
|
change_filter=filter.ChangeFilter(project='trigger', branch='develop'),
|
||||||
|
@ -127,8 +130,15 @@ c['schedulers'].append(ForceScheduler(
|
||||||
c['schedulers'].append(ForceScheduler(
|
c['schedulers'].append(ForceScheduler(
|
||||||
name="openstack-force",
|
name="openstack-force",
|
||||||
builderNames=["openstack-builder"]))
|
builderNames=["openstack-builder"]))
|
||||||
|
{% endif %}
|
||||||
|
{% if deployment_type == 'qadevel-stg' %}
|
||||||
|
c['schedulers'].append(SingleBranchScheduler(
|
||||||
|
name="libtaskotron",
|
||||||
|
builderNames=['libtaskotron-builder'],
|
||||||
|
treeStableTimer=None,
|
||||||
|
change_filter=filter.ChangeFilter(project='libtaskotron',
|
||||||
|
branch='develop')))
|
||||||
|
{% endif %}
|
||||||
####### BUILDERS
|
####### BUILDERS
|
||||||
|
|
||||||
# The 'builders' list defines the Builders, which tell Buildbot how to perform a build:
|
# The 'builders' list defines the Builders, which tell Buildbot how to perform a build:
|
||||||
|
@ -141,6 +151,7 @@ from buildbot.steps.shell import ShellCommand
|
||||||
from buildbot.process.properties import Interpolate
|
from buildbot.process.properties import Interpolate
|
||||||
|
|
||||||
|
|
||||||
|
{% if deployment_type == 'qadevel-prod' %}
|
||||||
def create_test_factory(repo_name, func=True):
|
def create_test_factory(repo_name, func=True):
|
||||||
factory = BuildFactory()
|
factory = BuildFactory()
|
||||||
factory.addStep(Git(repourl=Interpolate('https://bitbucket.org/fedoraqa/%s.git' % repo_name),
|
factory.addStep(Git(repourl=Interpolate('https://bitbucket.org/fedoraqa/%s.git' % repo_name),
|
||||||
|
@ -157,11 +168,25 @@ libtaskotron_factory = create_test_factory('libtaskotron')
|
||||||
resultsdb_factory = create_test_factory('resultsdb')
|
resultsdb_factory = create_test_factory('resultsdb')
|
||||||
resultsdb_api_factory = create_test_factory('resultsdb_api')
|
resultsdb_api_factory = create_test_factory('resultsdb_api')
|
||||||
fake_fedorainfra_factory = create_test_factory('fake_fedorainfra')
|
fake_fedorainfra_factory = create_test_factory('fake_fedorainfra')
|
||||||
|
{% endif %}
|
||||||
|
|
||||||
|
{% if deployment_type == 'qadevel-stg' %}
|
||||||
|
def create_test_factory(repo_name, func=True):
|
||||||
|
factory = BuildFactory()
|
||||||
|
factory.addStep(Git(repourl=Interpolate('{{ repo_base }}/%s.git' % repo_name),
|
||||||
|
mode='full', method='clobber'))
|
||||||
|
factory.addStep(ShellCommand(command=['virtualenv', '--system-site-packages', 'env']))
|
||||||
|
factory.addStep(ShellCommand(command=['bash', '-c', 'source env/bin/activate; pip install -r requirements.txt']))
|
||||||
|
factory.addStep(ShellCommand(command=['bash', '-c', 'source env/bin/activate; TEST="true" py.test %s testing/' % '-F' if func else ''], name=repo_name))
|
||||||
|
|
||||||
|
return factory
|
||||||
|
|
||||||
|
libtaskotron_factory = create_test_factory('LTRN/libtaskotron')
|
||||||
|
{% endif %}
|
||||||
from buildbot.config import BuilderConfig
|
from buildbot.config import BuilderConfig
|
||||||
|
|
||||||
c['builders'] = []
|
c['builders'] = []
|
||||||
|
{% if deployment_type == 'qadevel-prod' %}
|
||||||
c['builders'].append(
|
c['builders'].append(
|
||||||
BuilderConfig(name="trigger-builder",
|
BuilderConfig(name="trigger-builder",
|
||||||
slavenames=[{% for buildslave in buildslaves %}"{{ buildslave }}",{% endfor %}],
|
slavenames=[{% for buildslave in buildslaves %}"{{ buildslave }}",{% endfor %}],
|
||||||
|
@ -187,8 +212,15 @@ c['builders'].append(
|
||||||
BuilderConfig(name="openstack-builder",
|
BuilderConfig(name="openstack-builder",
|
||||||
slavenames=["{{ qadevel_stg_buildslave_user }}"],
|
slavenames=["{{ qadevel_stg_buildslave_user }}"],
|
||||||
factory=trigger_factory))
|
factory=trigger_factory))
|
||||||
|
{% endif %}
|
||||||
|
|
||||||
|
{% if deployment_type == 'qadevel-stg' %}
|
||||||
|
c['builders'].append(
|
||||||
|
BuilderConfig(name="libtaskotron-builder",
|
||||||
|
slavenames=[{% for buildslave in buildslaves %}"{{ buildslave }}",{% endfor %}],
|
||||||
|
factory=libtaskotron_factory))
|
||||||
|
|
||||||
|
{% endif %}
|
||||||
####### STATUS TARGETS
|
####### STATUS TARGETS
|
||||||
|
|
||||||
# 'status' is a list of Status Targets. The results of each build will be
|
# 'status' is a list of Status Targets. The results of each build will be
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue