- builderNames=["GSMCells_build"], dayOfWeek=6, hour=3))
- c['schedulers'].append(force_scheduler("force_immae_eu", [
- "ImmaeEu_build", "Normalesup_build", "Cours_build",
- ]))
- c['schedulers'].append(schedulers.ForceScheduler(
- name="GSMCells-force", label="Force build",
- buttonName="Force build",
- reason=util.StringParameter(name="reason", label="Reason", default="Force build"),
- codebases=[
- util.CodebaseParameter("",
- branch=util.FixedParameter(name="branch", default=""),
- revision=util.FixedParameter(name="revision", default=""),
- repository=util.FixedParameter(name="repository", default=""),
- project=util.FixedParameter(name="project", default=""),
- ),
- ],
- username=util.FixedParameter(name="username", default="Web button"),
- builderNames=["GSMCells_build"]
- ))
-
- c['builders'].append(immae_eu_factory())
- c['builders'].append(normalesup_factory())
- c['builders'].append(cours_factory())
- c['builders'].append(gsm_cells_factory())
-
- c['services'].append(SlackStatusPush(
- name="slack_status_immae_eu_project",
- builders=[
- "ImmaeEu_build", "Normalesup_build", "Cours_build",
- "GSMCells_build"
- ],
- serverUrl=open(E.SECRETS_FILE + "/slack_webhook", "r").read().rstrip()))
- c['services'].append(XMPPStatusPush(
- name="xmpp_status_immae_eu_project",
- builders=[
- "ImmaeEu_build", "Normalesup_build", "Cours_build",
- "GSMCells_build"
- ],
- recipients=E.XMPP_RECIPIENTS,
- password=open(E.SECRETS_FILE + "/notify_xmpp_password", "r").read().rstrip()))
-
-def immae_eu_factory():
+ builderNames=[builder_name], dayOfWeek=6, hour=3))
+ c['builders'].append(util.BuilderConfig(name=builder_name, workernames=[worker_name], factory=gsm_cells_build_factory()))
+
+ return builder_name
+
+def _configure(name, factory, c, worker_name):
+ if name == "bip39":
+ capitalized = "BIP39"
+ else:
+ capitalized = "".join([n.capitalize() for n in name.split('_')])
+ builder_name = "{}_build".format(capitalized)
+
+ c['schedulers'].append(git_hook_scheduler(capitalized, [builder_name]))
+ c['builders'].append(util.BuilderConfig(name=builder_name, workernames=[worker_name], factory=factory()))
+
+ return builder_name
+
+def configure_symfony_isabelle_aten(c, worker_name):
+ return _configure_symfony("IsabelleAten", c, worker_name,
+ "gitolite@git.immae.eu:perso/Immae/Sites/Aten", parameters_path=None,
+ other_steps=lambda path_env : [
+ NixShellCommand(name="Install yarn",
+ logEnviron=False, haltOnFailure=True,
+ env=path_env, command="yarn install"),
+ NixShellCommand(name="Build frontend",
+ logEnviron=False, haltOnFailure=True,
+ env=path_env, command="yarn run encore production")
+ ]
+ )
+
+def _configure_symfony(name, c, worker_name, *args, **kwargs):
+ builder_name = "Symfony_{}_build".format(name)
+
+ c['schedulers'].append(git_hook_scheduler("Symfony_{}".format(name), [builder_name]))
+ c['builders'].append(util.BuilderConfig(name=builder_name, workernames=[worker_name], factory=symfony_project_factory(name, *args, **kwargs)))
+
+ return builder_name
+
+def history_build_factory():
+ path_env = {
+ "PATH": "/run/current-system/sw/bin"
+ }
+ factory = util.BuildFactory()
+ factory.addStep(steps.Git(logEnviron=False, repourl=E.HISTORY_GIT_URL,
+ submodules=True, sshPrivateKey=open(E.SSH_KEY_PATH).read().rstrip(),
+ sshHostKey=E.SSH_HOST_KEY, mode="full", method="fresh"))
+ factory.addStep(NixShellCommand(name="build website",
+ logEnviron=False, haltOnFailure=True,
+ env=path_env, command="jekyll build"))
+ factory.addStep(steps.MasterShellCommand(command="rm -rf {}".format(E.HISTORY_RELEASE_PATH)))
+ factory.addStep(steps.DirectoryUpload(workersrc="_site",
+ masterdest=E.HISTORY_RELEASE_PATH,
+ url="https://www.immae.eu/history"))
+ factory.addStep(steps.MasterShellCommand(command="chmod -R a+rX {}".format(E.HISTORY_RELEASE_PATH)))
+
+ return factory
+
+def docs_build_factory():
+ path_env = {
+ "PATH": "/run/current-system/sw/bin"
+ }
+ factory = util.BuildFactory()
+ factory.addStep(steps.Git(logEnviron=False, repourl=E.DOCS_GIT_URL,
+ submodules=True, sshPrivateKey=open(E.SSH_KEY_PATH).read().rstrip(),
+ sshHostKey=E.SSH_HOST_KEY, mode="full", method="fresh"))
+ factory.addStep(NixShellCommand(name="build website",
+ logEnviron=False, haltOnFailure=True,
+ env=path_env, command="make html"))
+ factory.addStep(steps.MasterShellCommand(command="rm -rf {}".format(E.DOCS_RELEASE_PATH)))
+ factory.addStep(steps.DirectoryUpload(workersrc="_build/html",
+ masterdest=E.DOCS_RELEASE_PATH,
+ url="https://www.immae.eu/docs"))
+ factory.addStep(steps.MasterShellCommand(command="chmod -R a+rX {}".format(E.DOCS_RELEASE_PATH)))
+
+ return factory
+
+def recettes_build_factory():
+ path_env = {
+ "PATH": "/run/current-system/sw/bin"
+ }
+ factory = util.BuildFactory()
+ factory.addStep(steps.Git(logEnviron=False, repourl=E.RECETTES_GIT_URL,
+ submodules=True, sshPrivateKey=open(E.SSH_KEY_PATH).read().rstrip(),
+ sshHostKey=E.SSH_HOST_KEY, mode="full", method="fresh"))
+ factory.addStep(NixShellCommand(name="build website",
+ logEnviron=False, haltOnFailure=True,
+ env=path_env, command="jekyll build --trace --baseurl /recettes"))
+ factory.addStep(steps.MasterShellCommand(command="rm -rf {}".format(E.RECETTES_RELEASE_PATH)))
+ factory.addStep(steps.DirectoryUpload(workersrc="_site",
+ masterdest=E.RECETTES_RELEASE_PATH,
+ url="https://www.immae.eu/recettes"))
+ factory.addStep(steps.MasterShellCommand(command="chmod -R a+rX {}".format(E.RECETTES_RELEASE_PATH)))
+
+ return factory
+
+def bip39_build_factory():
+ path_env = {
+ "PATH": "/run/current-system/sw/bin",
+ "NIX_PATH": "nixpkgs=channel:nixos-unstable",
+ }
+ factory = util.BuildFactory()
+ factory.addStep(steps.Git(logEnviron=False, repourl=E.BIP39_GIT_URL,
+ submodules=True, mode="full", method="fresh"))
+ factory.addStep(NixShellCommand(name="build file", nixPackages=["python3"],
+ logEnviron=False, haltOnFailure=True, env=path_env, command="python compile.py"))
+ factory.addStep(steps.FileUpload(name="upload file", workersrc="bip39-standalone.html",
+ masterdest=E.BIP39_RELEASE_PATH + "/index.html",
+ url="https://tools.immae.eu/BIP39", mode=0o644))
+ factory.addStep(steps.MasterShellCommand(command="chmod -R a+rX {}".format(E.BIP39_RELEASE_PATH)))
+
+ return factory
+
+def immae_eu_build_factory():