TITLE_URL = "https://oms.syanni.eu"
TITLE = "Syanni website"
-class CustomBase(webhooks.base):
- def getChanges(self, request):
- try:
- content = request.content.read()
- args = json.loads(bytes2unicode(content))
- except Exception as e:
- raise ValueError("Error loading JSON: " + str(e))
-
- args.setdefault("comments", "")
- args.setdefault("repository", "")
- args.setdefault("author", args.get("who", "unknown"))
-
- return ([args], None)
-
def configure(c):
c["buildbotURL"] = E.BUILDBOT_URL
c["www"]["port"] = E.SOCKET
- c["www"]["change_hook_dialects"]["base"] = {
- "custom_class": CustomBase
- }
- c['workers'].append(worker.LocalWorker("generic-worker-denise"))
+ worker_name = "generic-worker-denise"
+ c['workers'].append(worker.LocalWorker(worker_name))
+
+ configure_bingo(c, worker_name)
+ configure_oms(c, worker_name)
+ configure_aventuriers(c, worker_name)
+
+ c['schedulers'].append(force_scheduler("force_denise", all_builder_names(c)))
+
+def configure_bingo(c, worker_name):
+ builder_name = "DeniseBingo_build"
+
+ c['schedulers'].append(git_hook_scheduler("DeniseBingo", [builder_name]))
+ c['builders'].append(util.BuilderConfig(name=builder_name, workernames=[worker_name], factory=bingo_build_factory()))
+
+def configure_oms(c, worker_name):
+ builder_name = "DeniseOMS_build"
+
+ c['schedulers'].append(git_hook_scheduler("DeniseOMS", [builder_name]))
+ c['builders'].append(util.BuilderConfig(name=builder_name, workernames=[worker_name], factory=oms_build_factory()))
- c['schedulers'].append(hook_scheduler("DeniseBingo", timer=1))
- c['schedulers'].append(hook_scheduler("DeniseOMS", timer=1))
- c['schedulers'].append(hook_scheduler("DeniseAventuriers", timer=1))
- c['schedulers'].append(force_scheduler("force_denise", [
- "DeniseBingo_build", "DeniseOMS_build", "DeniseAventuriers_build"
- ]))
+def configure_aventuriers(c, worker_name):
+ builder_name = "DeniseAventuriers_build"
- c['builders'].append(denise_oms_factory())
- c['builders'].append(denise_bingo_factory())
- c['builders'].append(denise_aventuriers_factory())
+ c['schedulers'].append(git_hook_scheduler("DeniseAventuriers", [builder_name]))
+ c['builders'].append(util.BuilderConfig(name=builder_name, workernames=[worker_name], factory=aventuriers_build_factory()))
-def denise_bingo_factory():
+def bingo_build_factory():
@util.renderer
def bingo_run_path(props):
if props.hasProperty("branch") and len(props["branch"]) > 0 and props["branch"] == "master":
factory = util.BuildFactory()
factory.addStep(steps.Git(logEnviron=False, repourl=E.BINGO_GIT_URL,
submodules=True, sshPrivateKey=open(E.SSH_KEY_PATH).read().rstrip(),
- sshHostKey=E.SSH_HOST_KEY, mode="full", method="copy"))
+ sshHostKey=E.SSH_HOST_KEY, mode="full", method="fresh"))
factory.addStep(steps.MasterShellCommand(command=util.Interpolate("rm -rf %(kw:bingo_path)s", bingo_path=bingo_path)))
- factory.addStep(steps.DirectoryUpload(workersrc="../source",
- masterdest=bingo_path,
- url=bingo_url))
+ factory.addStep(steps.DirectoryUpload(workersrc=".", masterdest=bingo_path, url=bingo_url))
factory.addStep(steps.MasterShellCommand(command=util.Interpolate("chmod -R a+rX %(kw:bingo_path)s", bingo_path=bingo_path)))
factory.addStep(steps.MasterShellCommand(command=util.Interpolate("/run/wrappers/bin/sudo systemctl restart %(kw:bingo_service)s.service", bingo_service=bingo_systemd_service)))
- return util.BuilderConfig(name="DeniseBingo_build", workernames=["generic-worker-denise"], factory=factory)
+ return factory
-def denise_oms_factory():
+def oms_build_factory():
@util.renderer
def oms_run_path(props):
if props.hasProperty("branch") and len(props["branch"]) > 0 and props["branch"] == "master":
factory = util.BuildFactory()
factory.addStep(steps.Git(logEnviron=False, repourl=E.OMS_GIT_URL,
submodules=True, sshPrivateKey=open(E.SSH_KEY_PATH).read().rstrip(),
- sshHostKey=E.SSH_HOST_KEY, mode="full", method="copy"))
+ sshHostKey=E.SSH_HOST_KEY, mode="full", method="fresh"))
factory.addStep(steps.MasterShellCommand(command=util.Interpolate("rm -rf %(kw:oms_path)s", oms_path=oms_path)))
- factory.addStep(steps.DirectoryUpload(workersrc="../source",
- masterdest=oms_path,
- url=oms_url))
+ factory.addStep(steps.DirectoryUpload(workersrc=".", masterdest=oms_path, url=oms_url))
factory.addStep(steps.MasterShellCommand(command=util.Interpolate("chmod -R a+rX %(kw:oms_path)s", oms_path=oms_path)))
factory.addStep(steps.MasterShellCommand(command=util.Interpolate("/run/wrappers/bin/sudo systemctl restart %(kw:oms_service)s.service", oms_service=oms_systemd_service)))
- return util.BuilderConfig(name="DeniseOMS_build", workernames=["generic-worker-denise"], factory=factory)
+ return factory
-def denise_aventuriers_factory():
+def aventuriers_build_factory():
path_env = {
"PATH": os.environ["BUILDBOT_PATH_Aventuriers"] + ":${PATH}",
"TZ": "Europe/Paris",
factory.addStep(steps.Git(logEnviron=False, repourl=E.AVENTURIERS_GIT_URL,
submodules=True, mode="full", method="fresh"))
factory.addStep(steps.ShellCommand(name="build files",
- logEnviron=False, haltOnFailure=True, workdir="build",
+ logEnviron=False, haltOnFailure=True,
env=path_env, command=["make", "tout", "encyclo"]))
factory.addStep(steps.MasterShellCommand(command="rm -rf {}".format(E.AVENTURIERS_RELEASE_PATH)))
- factory.addStep(steps.DirectoryUpload(workersrc="../build/html",
+ factory.addStep(steps.DirectoryUpload(workersrc="html",
masterdest=E.AVENTURIERS_RELEASE_PATH,
url="https://aventuriers.syanni.eu"))
factory.addStep(steps.FileUpload(name="upload epub file", workersrc="aventuriers.epub",
- workdir="build", masterdest=E.AVENTURIERS_RELEASE_PATH + "/aventuriers.epub",
+ masterdest=E.AVENTURIERS_RELEASE_PATH + "/aventuriers.epub",
url="https://aventuriers.syanni.eu/aventuriers.epub", mode=0o644))
factory.addStep(steps.FileUpload(name="upload mobi file", workersrc="aventuriers.mobi",
- workdir="build", masterdest=E.AVENTURIERS_RELEASE_PATH + "/aventuriers.mobi",
+ masterdest=E.AVENTURIERS_RELEASE_PATH + "/aventuriers.mobi",
url="https://aventuriers.syanni.eu/aventuriers.mobi", mode=0o644))
factory.addStep(steps.FileUpload(name="upload pdf file", workersrc="aventuriers.pdf",
- workdir="build", masterdest=E.AVENTURIERS_RELEASE_PATH + "/aventuriers.pdf",
+ masterdest=E.AVENTURIERS_RELEASE_PATH + "/aventuriers.pdf",
url="https://aventuriers.syanni.eu/aventuriers.pdf", mode=0o644))
factory.addStep(steps.FileUpload(name="upload encyclo pdf file", workersrc="encyclo.pdf",
- workdir="build", masterdest=E.AVENTURIERS_RELEASE_PATH + "/encyclo.pdf",
+ masterdest=E.AVENTURIERS_RELEASE_PATH + "/encyclo.pdf",
url="https://aventuriers.syanni.eu/encyclo.pdf", mode=0o644))
factory.addStep(steps.MasterShellCommand(command="chmod -R a+rX {}".format(E.AVENTURIERS_RELEASE_PATH)))
- return util.BuilderConfig(name="DeniseAventuriers_build", workernames=["generic-worker-denise"], factory=factory)
+ return factory