diff options
author | Ismaël Bouya <ismael.bouya@normalesup.org> | 2019-11-30 20:05:11 +0100 |
---|---|---|
committer | Ismaël Bouya <ismael.bouya@normalesup.org> | 2019-11-30 20:05:11 +0100 |
commit | 573e17101354432a4167c21d832bb2873d6ad220 (patch) | |
tree | 80adb87a7de6df9d80976358baeada73c2ba019f /modules/private | |
parent | f78fbfbfbc5f2bb46ddb2b698369fe5961393734 (diff) | |
download | Nix-573e17101354432a4167c21d832bb2873d6ad220.tar.gz Nix-573e17101354432a4167c21d832bb2873d6ad220.tar.zst Nix-573e17101354432a4167c21d832bb2873d6ad220.zip |
Add normalesup website to CI
Diffstat (limited to 'modules/private')
-rw-r--r-- | modules/private/buildbot/projects/immaeEu/__init__.py | 40 |
1 files changed, 33 insertions, 7 deletions
diff --git a/modules/private/buildbot/projects/immaeEu/__init__.py b/modules/private/buildbot/projects/immaeEu/__init__.py index f611a6f..437af72 100644 --- a/modules/private/buildbot/projects/immaeEu/__init__.py +++ b/modules/private/buildbot/projects/immaeEu/__init__.py | |||
@@ -12,11 +12,13 @@ class E(): | |||
12 | SOCKET = "unix:/run/buildbot/{}.sock".format(PROJECT) | 12 | SOCKET = "unix:/run/buildbot/{}.sock".format(PROJECT) |
13 | PB_SOCKET = "unix:address=/run/buildbot/{}_pb.sock".format(PROJECT) | 13 | PB_SOCKET = "unix:address=/run/buildbot/{}_pb.sock".format(PROJECT) |
14 | RELEASE_PATH = "/var/lib/buildbot/outputs/immaeEu" | 14 | RELEASE_PATH = "/var/lib/buildbot/outputs/immaeEu" |
15 | GIT_URL = "gitolite@git.immae.eu:perso/Immae/Sites/Blog" | ||
16 | SSH_KEY_PATH = "/var/lib/buildbot/buildbot_key" | 15 | SSH_KEY_PATH = "/var/lib/buildbot/buildbot_key" |
17 | SSH_HOST_KEY = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIIFbhFTl2A2RJn5L51yxJM4XfCS2ZaiSX/jo9jFSdghF" | 16 | SSH_HOST_KEY = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIIFbhFTl2A2RJn5L51yxJM4XfCS2ZaiSX/jo9jFSdghF" |
18 | XMPP_RECIPIENTS = os.environ["BUILDBOT_XMPP_RECIPIENTS"].split(" ") | 17 | XMPP_RECIPIENTS = os.environ["BUILDBOT_XMPP_RECIPIENTS"].split(" ") |
19 | 18 | ||
19 | IMMAE_EU_GIT_URL = "gitolite@git.immae.eu:perso/Immae/Sites/Blog" | ||
20 | NORMALESUP_GIT_URL = "gitolite@git.immae.eu:perso/Immae/Projets/Sites/Normalesup" | ||
21 | |||
20 | # master.cfg | 22 | # master.cfg |
21 | SECRETS_FILE = os.getcwd() + "/secrets" | 23 | SECRETS_FILE = os.getcwd() + "/secrets" |
22 | LDAP_URL = "ldaps://ldap.immae.eu:636" | 24 | LDAP_URL = "ldaps://ldap.immae.eu:636" |
@@ -51,23 +53,25 @@ def configure(c): | |||
51 | c['workers'].append(worker.LocalWorker("generic-worker-immae-eu")) | 53 | c['workers'].append(worker.LocalWorker("generic-worker-immae-eu")) |
52 | 54 | ||
53 | c['schedulers'].append(hook_scheduler("ImmaeEu", timer=1)) | 55 | c['schedulers'].append(hook_scheduler("ImmaeEu", timer=1)) |
54 | c['schedulers'].append(force_scheduler("force_immae_eu", ["ImmaeEu_build"])) | 56 | c['schedulers'].append(hook_scheduler("Normalesup", timer=1)) |
57 | c['schedulers'].append(force_scheduler("force_immae_eu", ["ImmaeEu_build", "Normalesup_build"])) | ||
55 | 58 | ||
56 | c['builders'].append(factory()) | 59 | c['builders'].append(immae_eu_factory()) |
60 | c['builders'].append(normalesup_factory()) | ||
57 | 61 | ||
58 | c['services'].append(SlackStatusPush( | 62 | c['services'].append(SlackStatusPush( |
59 | name="slack_status_immae_eu_project", | 63 | name="slack_status_immae_eu_project", |
60 | builders=["ImmaeEu_build"], | 64 | builders=["ImmaeEu_build", "Normalesup_build"], |
61 | serverUrl=open(E.SECRETS_FILE + "/slack_webhook", "r").read().rstrip())) | 65 | serverUrl=open(E.SECRETS_FILE + "/slack_webhook", "r").read().rstrip())) |
62 | c['services'].append(XMPPStatusPush( | 66 | c['services'].append(XMPPStatusPush( |
63 | name="xmpp_status_immae_eu_project", | 67 | name="xmpp_status_immae_eu_project", |
64 | builders=["ImmaeEu_build"], | 68 | builders=["ImmaeEu_build", "Normalesup_build"], |
65 | recipients=E.XMPP_RECIPIENTS, | 69 | recipients=E.XMPP_RECIPIENTS, |
66 | password=open(E.SECRETS_FILE + "/notify_xmpp_password", "r").read().rstrip())) | 70 | password=open(E.SECRETS_FILE + "/notify_xmpp_password", "r").read().rstrip())) |
67 | 71 | ||
68 | def factory(): | 72 | def immae_eu_factory(): |
69 | factory = util.BuildFactory() | 73 | factory = util.BuildFactory() |
70 | factory.addStep(steps.Git(logEnviron=False, repourl=E.GIT_URL, | 74 | factory.addStep(steps.Git(logEnviron=False, repourl=E.IMMAE_EU_GIT_URL, |
71 | submodules=True, sshPrivateKey=open(E.SSH_KEY_PATH).read().rstrip(), | 75 | submodules=True, sshPrivateKey=open(E.SSH_KEY_PATH).read().rstrip(), |
72 | sshHostKey=E.SSH_HOST_KEY, mode="full", method="copy")) | 76 | sshHostKey=E.SSH_HOST_KEY, mode="full", method="copy")) |
73 | factory.addStep(steps.ShellCommand(name="build website", | 77 | factory.addStep(steps.ShellCommand(name="build website", |
@@ -80,3 +84,25 @@ def factory(): | |||
80 | factory.addStep(steps.MasterShellCommand(command="chmod -R a+rX {}".format(E.RELEASE_PATH))) | 84 | factory.addStep(steps.MasterShellCommand(command="chmod -R a+rX {}".format(E.RELEASE_PATH))) |
81 | 85 | ||
82 | return util.BuilderConfig(name="ImmaeEu_build", workernames=["generic-worker-immae-eu"], factory=factory) | 86 | return util.BuilderConfig(name="ImmaeEu_build", workernames=["generic-worker-immae-eu"], factory=factory) |
87 | |||
88 | def normalesup_factory(): | ||
89 | factory = util.BuildFactory() | ||
90 | factory.addStep(steps.Git(logEnviron=False, repourl=E.NORMALESUP_GIT_URL, | ||
91 | submodules=True, sshPrivateKey=open(E.SSH_KEY_PATH).read().rstrip(), | ||
92 | sshHostKey=E.SSH_HOST_KEY, mode="full", method="copy")) | ||
93 | factory.addStep(steps.ShellCommand(name="build website", | ||
94 | logEnviron=False, haltOnFailure=True, workdir="source", | ||
95 | command=["make", "build"])) | ||
96 | factory.addStep(steps.ShellCommand(name="give read access to all files", | ||
97 | logEnviron=False, haltOnFailure=True, workdir="source", | ||
98 | command="chmod -R a+rX build")) | ||
99 | factory.addStep(steps.ShellCommand(name="synchronize with phare", | ||
100 | logEnviron=False, haltOnFailure=True, workdir="source", | ||
101 | command=[ | ||
102 | "rsync", "-av", "--delete", | ||
103 | "-e", "ssh -i {} -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no -o CheckHostIP=no".format(E.SSH_KEY_PATH), | ||
104 | "build/", | ||
105 | "bouya@phare.normalesup.org:" | ||
106 | ])) | ||
107 | |||
108 | return util.BuilderConfig(name="Normalesup_build", workernames=["generic-worker-immae-eu"], factory=factory) | ||