{{ansible_managed|comment}} from buildbot.plugins import * c = BuildmasterConfig = {} c['workers'] = [] c['change_source'] = [] c['schedulers'] = [] c['builders'] = [] c['services'] = [] c['protocols'] = { 'pb': { 'port': "tcp:9989:interface=127.0.0.1" } } c['title'] = "{{buildbot_title}}" c['titleURL'] = "{{buildbot_title_url}}" c['buildbotURL'] = "{{ buildbot_base_url }}" c['www'] = dict( port="unix:address=/run/buildbot/{{buildbot_server_name}}.www.sock", plugins = dict( waterfall_view={}, console_view={}, grid_view={}, badges={"left_pad": 0, "right_pad": 0, "border_radius": 3, "style": "badgeio"}, ), change_hook_dialects={ {% if buildbot_github_change_hook %} 'github': {}, {% endif %} {% if buildbot_gitea_change_hook %} 'gitea': { 'secret': '{{buildbot_gitea_webhook_secret}}', 'onlyIncludePushCommit': False, }, {% endif %} }, ) c['db'] = { 'db_url' : "{{buildbot_database_url}}", } # Local Worker {% if buildbot_local_worker %} c['workers'].append(worker.LocalWorker("local-worker")) {% endif %} # Ansible Defined Workers {% for worker_name in buildbot_workers.keys() %} {% set worker = buildbot_workers[worker_name] %} c['workers'].append(worker.Worker('{{worker_name}}', '{{worker.password|default(ansible_local.buildbot.workers[worker_name].password)}}')) {% endfor %} # Hello World Example {% if buildbot_hello_world_example %} factory = util.BuildFactory() factory.addStep(steps.Git(repourl='git://github.com/buildbot/hello-world.git', mode='incremental')) factory.addStep(steps.ShellCommand(command=["trial", "hello"], env={"PYTHONPATH": "."})) c['builders'].append( util.BuilderConfig( name="hello-world", workernames=["local-worker"], factory=factory ) ) c['schedulers'].append(schedulers.ForceScheduler( name="force-hello-world", builderNames=["hello-world"], )) {% endif %} # Ansible Defined Builders {% for builder_name in buildbot_builders.keys() %} {% set builder = buildbot_builders[builder_name] %} factory = util.BuildFactory() {#{% for repo in builder.repos %}#} {% set repo = builder.repo %} {% if repo.type | default('github') == 'github' %} factory.addStep(steps.GitHub( name='{{repo.name}}', repourl='{{repo.repourl}}', mode='incremental', workdir='{{repo.workdir}}', alwaysUseLatest=True, )) {% elif repo.type == 'gitea' %} factory.addStep(steps.Gitea( name='{{repo.name}}', repourl='{{repo.repourl}}', mode='incremental', workdir='{{repo.workdir}}', progress=True, logEnviron=False, )) {% endif %} {#{% endfor %}#} {% for cmd in builder.shell_commands %} factory.addStep(steps.ShellCommand( name='{{cmd.name}}', command='{{cmd.command}}', workdir='{{cmd.workdir}}', )) {% endfor %} c['builders'].append( util.BuilderConfig( name="{{builder_name}}", workernames={{builder.worker_names|to_json}}, factory=factory ) ) c['schedulers'].append(schedulers.SingleBranchScheduler( name="{{builder_name}}", change_filter=util.ChangeFilter(branch='{{repo.branch|default('master')}}'), treeStableTimer=5, builderNames=['{{builder_name}}'], )) {% if builder.force_scheduler | default(false) %} c['schedulers'].append(schedulers.ForceScheduler( name="force-{{builder_name}}", builderNames=["{{builder_name}}"], )) {% endif %} {% endfor %}