Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'build_files/buildbot-lts/docker/master.cfg')
-rw-r--r--build_files/buildbot-lts/docker/master.cfg240
1 files changed, 240 insertions, 0 deletions
diff --git a/build_files/buildbot-lts/docker/master.cfg b/build_files/buildbot-lts/docker/master.cfg
new file mode 100644
index 00000000000..1dfa8bbdf7c
--- /dev/null
+++ b/build_files/buildbot-lts/docker/master.cfg
@@ -0,0 +1,240 @@
+# -*- python -*-
+# ex: set filetype=python:
+
+import os
+
+from buildbot.plugins import *
+
+# This is a sample buildmaster config file. It must be installed as
+# 'master.cfg' in your buildmaster's base directory.
+
+# This is the dictionary that the buildmaster pays attention to. We also use
+# a shorter alias to save typing.
+c = BuildmasterConfig = {}
+
+####### WORKERS
+
+# The 'workers' list defines the set of recognized workers. Each element is
+# a Worker object, specifying a unique worker name and password. The same
+# worker name and password must be configured on the worker.
+
+c['workers'] = [worker.Worker("lts-worker", 'secret')]
+
+if 'BUILDBOT_MQ_URL' in os.environ:
+ c['mq'] = {
+ 'type' : 'wamp',
+ 'router_url': os.environ['BUILDBOT_MQ_URL'],
+ 'realm': os.environ.get('BUILDBOT_MQ_REALM', 'buildbot').decode('utf-8'),
+ 'debug' : 'BUILDBOT_MQ_DEBUG' in os.environ,
+ 'debug_websockets' : 'BUILDBOT_MQ_DEBUG' in os.environ,
+ 'debug_lowlevel' : 'BUILDBOT_MQ_DEBUG' in os.environ,
+ }
+# 'protocols' contains information about protocols which master will use for
+# communicating with workers. You must define at least 'port' option that workers
+# could connect to your master with this protocol.
+# 'port' must match the value configured into the workers (with their
+# --master option)
+c['protocols'] = {'pb': {'port': os.environ.get("BUILDBOT_WORKER_PORT", 9989)}}
+
+####### CHANGESOURCES
+
+# the 'change_source' setting tells the buildmaster how it should find out
+# about source code changes. We don't build when sources change.
+c['change_source'] = []
+
+####### SCHEDULERS
+
+# Configure the Schedulers, which decide how to react to incoming changes. In this
+# case, just kick off a 'runtests' build
+
+c['schedulers'] = [
+ schedulers.ForceScheduler(
+ name="build",
+ builderNames=["release-blender-283"],
+ properties=[
+ util.StringParameter(
+ name="blender_version",
+ label="Version of blender.",
+ default="2.83"),
+ util.StringParameter(
+ name="blender_version_full",
+ label="Version of blender (Full).",
+ default="2.83.1")
+ ]
+ ),
+
+ schedulers.Triggerable(
+ name="deploy-source-archive",
+ builderNames=["deploy-source-archive"]
+ ),
+
+ schedulers.Triggerable(
+ name="deploy-buildbot-packages",
+ builderNames=["deploy-buildbot-packages"]
+ ),
+]
+
+####### BUILDERS
+
+# The 'builders' list defines the Builders, which tell Buildbot how to perform a build:
+# what steps, and which workers can execute them. Note that any particular build will
+# only take place on one worker.
+
+deploy_source_archive_factory = util.BuildFactory()
+deploy_source_archive_factory.addStep(steps.Git(name="Checkout Blender Source", repourl='https://git.blender.org/blender.git', branch=util.Interpolate('blender-v%(prop:blender_version)s-release'), mode='full'))
+deploy_source_archive_factory.addStep(steps.ShellSequence(name="Make source archive", commands=[
+ util.ShellArg(command=["make", "source_archive"], logfile='make_source_archive'),
+ # The next two shell commands are only needed during development
+ util.ShellArg(command=["mv", "blender-2.83.2-beta.tar.xz", util.Interpolate('blender-v%(prop:blender_version_full)s.tar.xz')]),
+ util.ShellArg(command=["mv", "blender-2.83.2-beta.tar.xz.md5sum", util.Interpolate('blender-v%(prop:blender_version_full)s.tar.xz.md5sum')]),
+]))
+deploy_source_archive_factory.addStep(steps.FileUpload(
+ name="Upload source archive",
+ workersrc=util.Interpolate('blender-v%(prop:blender_version_full)s.tar.xz'),
+ masterdest=util.Interpolate('/var/lib/buildbot/builds//blender-v%(prop:blender_version_full)s/blender-v%(prop:blender_version_full)s.tar.xz')))
+deploy_source_archive_factory.addStep(steps.FileUpload(
+ name="Upload source archive checksum",
+ workersrc=util.Interpolate('blender-v%(prop:blender_version_full)s.tar.xz.md5sum'),
+ masterdest=util.Interpolate('/var/lib/buildbot/builds//blender-v%(prop:blender_version_full)s/blender-v%(prop:blender_version_full)s.tar.xz.md5sum')))
+deploy_source_archive_factory.addStep(steps.MasterShellCommand(
+ name="Upload source archive",
+ command=[
+ 'sh', '-C', '/var/lib/buildbot/bin/upload_file.sh',
+ util.Interpolate('/var/lib/buildbot/builds//blender-v%(prop:blender_version_full)s/blender-v%(prop:blender_version_full)s.tar.xz'),
+ util.Interpolate('/data/www/vhosts/download.blender.org/ftp/jeroen/')]))
+deploy_source_archive_factory.addStep(steps.MasterShellCommand(
+ name="Upload windows64.zip build",
+ command=[
+ 'sh', '-C', '/var/lib/buildbot/bin/upload_file.sh',
+ util.Interpolate('/var/lib/buildbot/builds//blender-v%(prop:blender_version_full)s/blender-v%(prop:blender_version_full)s.tar.xz.md5sum'),
+ util.Interpolate('/data/www/vhosts/download.blender.org/ftp/jeroen/')]))
+
+deploy_buildbot_packages_factory = util.BuildFactory()
+deploy_buildbot_packages_factory.addStep(steps.MasterShellCommand(
+ name="Download linux64 build",
+ command=[
+ 'wget', util.Interpolate('https://builder.blender.org/download/blender-%(prop:blender_version_full)s-linux64.tar.xz'),
+ "-O", util.Interpolate('/var/lib/buildbot/builds//blender-v%(prop:blender_version_full)s/blender-%(prop:blender_version_full)s-linux64.tar.xz')]))
+deploy_buildbot_packages_factory.addStep(steps.MasterShellCommand(
+ name="Download windows64.msi build",
+ command=[
+ 'wget', util.Interpolate('https://builder.blender.org/download/blender-%(prop:blender_version_full)s-windows64.msi'),
+ "-O", util.Interpolate('/var/lib/buildbot/builds//blender-v%(prop:blender_version_full)s/blender-%(prop:blender_version_full)s-windows64.msi')]))
+deploy_buildbot_packages_factory.addStep(steps.MasterShellCommand(
+ name="Download windows64.zip build",
+ command=[
+ 'wget', util.Interpolate('https://builder.blender.org/download/blender-%(prop:blender_version_full)s-windows64.zip'),
+ "-O", util.Interpolate('/var/lib/buildbot/builds//blender-v%(prop:blender_version_full)s/blender-%(prop:blender_version_full)s-windows64.zip')]))
+deploy_buildbot_packages_factory.addStep(steps.MasterShellCommand(
+ name="Download macOS build",
+ command=[
+ 'wget', util.Interpolate('https://builder.blender.org/download/blender-%(prop:blender_version_full)s-macOS.dmg'),
+ "-O", util.Interpolate('/var/lib/buildbot/builds//blender-v%(prop:blender_version_full)s/blender-%(prop:blender_version_full)s-macOS.dmg')]))
+deploy_buildbot_packages_factory.addStep(steps.MasterShellCommand(
+ name="Create checksum (md5/sha256)",
+ command=[
+ 'sh',
+ '-C',
+ '/var/lib/buildbot/bin/create_checksum.sh',
+ util.Interpolate('/var/lib/buildbot/builds//blender-v%(prop:blender_version_full)s/blender-%(prop:blender_version_full)s-*'),
+ util.Interpolate('/var/lib/buildbot/builds//blender-v%(prop:blender_version_full)s/blender-%(prop:blender_version_full)s'),
+]))
+deploy_buildbot_packages_factory.addStep(steps.MasterShellCommand(
+ name="Upload linux64 build",
+ command=[
+ 'sh', '-C', '/var/lib/buildbot/bin/upload_file.sh',
+ util.Interpolate('/var/lib/buildbot/builds//blender-v%(prop:blender_version_full)s/blender-%(prop:blender_version_full)s-linux64.tar.xz'),
+ util.Interpolate('/data/www/vhosts/download.blender.org/ftp/jeroen/')]))
+deploy_buildbot_packages_factory.addStep(steps.MasterShellCommand(
+ name="Upload windows64.msi build",
+ command=[
+ 'sh', '-C', '/var/lib/buildbot/bin/upload_file.sh',
+ util.Interpolate('/var/lib/buildbot/builds//blender-v%(prop:blender_version_full)s/blender-%(prop:blender_version_full)s-windows64.msi'),
+ util.Interpolate('/data/www/vhosts/download.blender.org/ftp/jeroen/')]))
+deploy_buildbot_packages_factory.addStep(steps.MasterShellCommand(
+ name="Upload windows64.zip build",
+ command=[
+ 'sh', '-C', '/var/lib/buildbot/bin/upload_file.sh',
+ util.Interpolate('/var/lib/buildbot/builds//blender-v%(prop:blender_version_full)s/blender-%(prop:blender_version_full)s-windows64.zip'),
+ util.Interpolate('/data/www/vhosts/download.blender.org/ftp/jeroen/')]))
+deploy_buildbot_packages_factory.addStep(steps.MasterShellCommand(
+ name="Upload macOS build",
+ command=[
+ 'sh', '-C', '/var/lib/buildbot/bin/upload_file.sh',
+ util.Interpolate('/var/lib/buildbot/builds//blender-v%(prop:blender_version_full)s/blender-%(prop:blender_version_full)s-macOS.dmg'),
+ util.Interpolate('/data/www/vhosts/download.blender.org/ftp/jeroen/')]))
+deploy_buildbot_packages_factory.addStep(steps.MasterShellCommand(
+ name="Upload md5 checksum",
+ command=[
+ 'sh', '-C', '/var/lib/buildbot/bin/upload_file.sh',
+ util.Interpolate('/var/lib/buildbot/builds//blender-v%(prop:blender_version_full)s/blender-%(prop:blender_version_full)s.md5'),
+ util.Interpolate('/data/www/vhosts/download.blender.org/ftp/jeroen/')]))
+deploy_buildbot_packages_factory.addStep(steps.MasterShellCommand(
+ name="Upload sha256 checksum",
+ command=[
+ 'sh', '-C', '/var/lib/buildbot/bin/upload_file.sh',
+ util.Interpolate('/var/lib/buildbot/builds//blender-v%(prop:blender_version_full)s/blender-%(prop:blender_version_full)s.sha256'),
+ util.Interpolate('/data/www/vhosts/download.blender.org/ftp/jeroen/')]))
+
+factory = util.BuildFactory()
+factory.addStep(steps.MasterShellCommand(name="Init release folder", command=["mkdir", "-p", util.Interpolate('/var/lib/buildbot/builds//blender-v%(prop:blender_version_full)s')]))
+factory.addStep(steps.Trigger(
+ name='Deploy',
+ schedulerNames=[
+ 'deploy-source-archive',
+ 'deploy-buildbot-packages',
+ ],
+ waitForFinish=True,
+ set_properties={
+ 'blender_version_full': util.Property('blender_version_full'),
+ 'blender_version': util.Property('blender_version'),
+ }
+))
+
+# Download builds from builder.blender.org
+c['builders'] = [
+ util.BuilderConfig(name="release-blender-283",
+ workernames=["lts-worker"],
+ factory=factory),
+ util.BuilderConfig(name="deploy-source-archive",
+ workernames=["lts-worker"],
+ factory=deploy_source_archive_factory),
+ util.BuilderConfig(name="deploy-buildbot-packages",
+ workernames=["lts-worker"],
+ factory=deploy_buildbot_packages_factory),
+]
+
+####### STATUS TARGETS
+
+# 'status' is a list of Status Targets. The results of each build will be
+# pushed to these targets. buildbot/status/*.py has a variety to choose from,
+# like IRC bots.
+
+# c['status'] = []
+
+####### PROJECT IDENTITY
+
+# the 'title' string will appear at the top of this buildbot installation's
+# home pages (linked to the 'titleURL').
+
+c['title'] = "Blender Release LTS"
+c['titleURL'] = "https://www.blender.org/download/lts/"
+
+# the 'buildbotURL' string should point to the location where the buildbot's
+# internal web server is visible. This typically uses the port number set in
+# the 'www' entry below, but with an externally-visible host name which the
+# buildbot cannot figure out without some help.
+
+c['buildbotURL'] = os.environ.get("BUILDBOT_WEB_URL", "http://localhost:8010/")
+
+# minimalistic config to activate new web UI
+c['www'] = dict(port=os.environ.get("BUILDBOT_WEB_PORT", 8010),
+ plugins=dict(waterfall_view={}, console_view={}))
+
+####### DB URL
+
+c['db'] = {
+ # This specifies what database buildbot uses to store its state. You can leave
+ # this at its default for all but the largest installations.
+ 'db_url' : os.environ.get("BUILDBOT_DB_URL", "sqlite://").format(**os.environ),
+} \ No newline at end of file