選択できるのは25トピックまでです。 トピックは、先頭が英数字で、英数字とダッシュ('-')を使用した35文字以内のものにしてください。

110 行
2.5KB

  1. {{ansible_managed|comment}}
  2. from buildbot.plugins import *
  3. c = BuildmasterConfig = {}
  4. c['workers'] = []
  5. c['change_source'] = []
  6. c['schedulers'] = []
  7. c['builders'] = []
  8. c['services'] = []
  9. c['protocols'] = {'pb': {'port': 9989}}
  10. c['title'] = "buildbot title"
  11. c['titleURL'] = "https://github.com/covid-videoplattform"
  12. c['buildbotURL'] = "https://{{buildbot_server_name}}/"
  13. c['www'] = dict(
  14. port=8010,
  15. plugins = dict(
  16. waterfall_view={},
  17. console_view={},
  18. grid_view={},
  19. badges={"left_pad": 0, "right_pad": 0, "border_radius": 3, "style": "badgeio"},
  20. ),
  21. change_hook_dialects={
  22. 'github': {}
  23. },
  24. )
  25. c['db'] = {
  26. 'db_url' : "{{buildbot_database_url}}",
  27. }
  28. # Local Worker
  29. c['workers'].append(worker.LocalWorker("local-worker"))
  30. # Hello World Example
  31. {% if buildbot_hello_world_example %}
  32. factory = util.BuildFactory()
  33. factory.addStep(steps.Git(repourl='git://github.com/buildbot/hello-world.git', mode='incremental'))
  34. factory.addStep(steps.ShellCommand(command=["trial", "hello"], env={"PYTHONPATH": "."}))
  35. c['builders'].append(
  36. util.BuilderConfig(name="hello-world",
  37. workernames=["local-worker"],
  38. factory=factory))
  39. c['schedulers'].append(schedulers.ForceScheduler(
  40. name="force-hello-world",
  41. builderNames=["hello-world"],
  42. )
  43. {% endif %}
  44. # Ansible Defined Builders
  45. {% for builder_name in buildbot_builders.keys() %}
  46. {% set builder = buildbot_builders[builder_name] %}
  47. factory = util.BuildFactory()
  48. {% for repo in builder.repos %}
  49. {% if repo.type | default('github') == 'github' %}
  50. factory.addStep(steps.GitHub(
  51. name='{{repo.name}}',
  52. repourl='{{repo.repourl}}',
  53. mode='incremental',
  54. workdir='{{repo.workdir}}',
  55. alwaysUseLatest=True,
  56. ))
  57. {% elif repo.type == 'gitea' %}
  58. factory.addStep(steps.Gitea(
  59. name='{{repo.name}}',
  60. repourl='{{repo.repourl}}',
  61. mode='incremental',
  62. workdir='{{repo.workdir}}',
  63. branch="master",
  64. progress=True,
  65. logEnviron=False,
  66. ))
  67. {% endif %}
  68. {% endfor %}
  69. {% for cmd in builder.shell_commands %}
  70. factory.addStep(steps.ShellCommand(
  71. name='{{cmd.name}}',
  72. command='{{cmd.command}}',
  73. workdir='{{cmd.workdir}}',
  74. ))
  75. {% endfor %}
  76. c['builders'].append(
  77. util.BuilderConfig(
  78. name="{{builder_name}}",
  79. workernames=["local-worker"],
  80. factory=factory
  81. )
  82. )
  83. c['schedulers'].append(schedulers.SingleBranchScheduler(
  84. name="{{builder_name}}",
  85. change_filter=util.ChangeFilter(branch='master'),
  86. treeStableTimer=5,
  87. builderNames=['{{builder_name}}']))
  88. {% endfor %}