+def history_factory():
+ path_env = {
+ "PATH": os.environ["BUILDBOT_PATH_History"] + ":${PATH}"
+ }
+ 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="copy"))
+ factory.addStep(steps.ShellCommand(name="build website",
+ logEnviron=False, haltOnFailure=True, workdir="source",
+ env=path_env, command=["jekyll", "build"]))
+ factory.addStep(steps.MasterShellCommand(command="rm -rf {}".format(E.HISTORY_RELEASE_PATH)))
+ factory.addStep(steps.DirectoryUpload(workersrc="../source/_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 util.BuilderConfig(name="History_build", workernames=["generic-worker-immae-eu"], factory=factory)
+
+def docs_factory():
+ path_env = {
+ "PATH": os.environ["BUILDBOT_PATH_Docs"] + ":${PATH}"
+ }
+ 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="copy"))
+ factory.addStep(steps.ShellCommand(name="build website",
+ logEnviron=False, haltOnFailure=True, workdir="source",
+ env=path_env, command=["make", "clean", "html"]))
+ factory.addStep(steps.MasterShellCommand(command="rm -rf {}".format(E.DOCS_RELEASE_PATH)))
+ factory.addStep(steps.DirectoryUpload(workersrc="../source/_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 util.BuilderConfig(name="Docs_build", workernames=["generic-worker-immae-eu"], factory=factory)
+
+def recettes_factory():
+ path_env = {
+ "PATH": os.environ["BUILDBOT_PATH_Recettes"] + ":${PATH}"
+ }
+ 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="copy"))
+ factory.addStep(NixShellCommand(name="build website",
+ logEnviron=False, haltOnFailure=True, workdir="source",
+ 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="../source/_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 util.BuilderConfig(name="Recettes_build", workernames=["generic-worker-immae-eu"], factory=factory)
+
+def bip39_factory():
+ path_env = {
+ "PATH": os.environ["BUILDBOT_PATH_BIP39"] + ":${PATH}"
+ }
+ factory = util.BuildFactory()
+ factory.addStep(steps.Git(logEnviron=False, repourl=E.BIP39_GIT_URL,
+ submodules=True, mode="full", method="copy"))
+ factory.addStep(steps.ShellCommand(name="build file",
+ logEnviron=False, haltOnFailure=True, workdir="source",
+ env=path_env, command=["python", "compile.py"]))
+ factory.addStep(steps.FileUpload(name="upload file", workersrc="bip39-standalone.html",
+ workdir="source", 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 util.BuilderConfig(name="BIP39_build", workernames=["generic-worker-immae-eu"], factory=factory)
+