summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorParménides GV <parmegv@sdf.org>2015-08-10 14:43:58 +0200
committerParménides GV <parmegv@sdf.org>2015-08-10 14:43:58 +0200
commit25ff4616448f2d63090d9828255e402e989439df (patch)
treedf780f58783f0c2d5a24898e10f75fbb889f1174
parent40273e720f0df2e18b1b0c4a6400140a72aea968 (diff)
[feat] Publish leap wheels
- Related: #7368
-rw-r--r--master.cfg32
1 files changed, 30 insertions, 2 deletions
diff --git a/master.cfg b/master.cfg
index 5d7a14e..5d144ad 100644
--- a/master.cfg
+++ b/master.cfg
@@ -166,12 +166,14 @@ def create_builder(repo_name):
for repo_name, repo_branch, _, namespace, in sorted(REPOS, key = lambda repo: repo[order_repos_index])[0:repo_index]:
add_repo_to_factory(factory, repo_name, repo_branch, namespace, venv_name)
- factory.addStep(
- ShellCommand(command=['pep8', '--exclude=setup.py,versioneer.py,src._version', '--ignore=E501', '.'],env=venv_path_factory,haltOnFailure=False, workdir=repo_name, name="pep8 on " + repo_name))
+ factory.addSteps([
+ ShellCommand(command=['pep8', '--exclude=setup.py,versioneer.py,src._version', '--ignore=E501', '.'],env=venv_path_factory,haltOnFailure=False, workdir=repo_name, name="pep8 on " + repo_name)])
if namespace is not '':
factory.addStep(ShellCommand(command=['trial', namespace], env=venv_path_factory, workdir=repo_name, name="trial "+namespace))
+ publish_leap_wheels(factory, repo_name, venv_path_factory)
+
if repo_name == 'bitmask_client':
publish_sumo = publish_sumo_command('`ls -t *SUMO.tar.gz | head -1`')
@@ -189,6 +191,32 @@ def create_builder(repo_name):
return BuilderConfig(name=builder_name, slavenames=[localhost_slave], factory=factory)
+def publish_leap_wheels(factory, repo_name, env):
+ env_soledad = {'PATH': env['PATH'].replace('../', '../../', 1)}
+
+ if repo_name == 'soledad':
+ for subpackage in ["common", "client", "server"]:
+ factory.addSteps([
+ ShellCommand(command=['python', 'setup.py', 'bdist_wheel'], env=env_soledad, haltOnFailure=True, workdir=repo_name+'/'+subpackage, name="leap wheels for " + repo_name+"."+subpackage),
+ ShellCommand(command=publish_leap_wheels_soledad(subpackage, '`ls -t *.whl | head -1`'), env=env_soledad, haltOnFailure=True, workdir=repo_name+'/'+subpackage+'/dist', name="publish leap wheels for " + repo_name+"."+subpackage)])
+ else:
+ factory.addSteps([
+ ShellCommand(command=['python', 'setup.py', 'bdist_wheel'], env=env, workdir=repo_name, name="Generate leap wheels for "+repo_name),
+ ShellCommand(command=publish_leap_wheels_command(repo_name, '`ls -t *.whl | head -1`'), env=env, workdir=repo_name + '/dist', name="Publish leap wheels for "+repo_name)
+ ])
+
+def publish_leap_wheels_command(repo_name, location):
+ directory = config.get('ftp', 'leap_wheels_directory')
+ command = ftp_publish_command(location, directory) + ' && ' + ftp_soft_link(location, directory, 'leap.' + repo_name + '-latest.whl')
+
+ return command
+
+def publish_leap_wheels_soledad(subpackage, location):
+ directory = config.get('ftp', 'leap_wheels_directory')
+ command = ftp_publish_command(location, directory) + ' && ' + ftp_soft_link(location, directory, 'leap.soledad.' + subpackage + '-latest.whl')
+
+ return command
+
def publish_sumo_command(location):
directory = config.get('ftp', 'sumo_target_directory')
command = ftp_publish_command(location, directory) + ' && ' + ftp_soft_link(location, directory, 'leap.bitmask-latest-SUMO.tar.gz')