summaryrefslogtreecommitdiff
path: root/ick2/workapi.py
diff options
context:
space:
mode:
authorLars Wirzenius <liw@liw.fi>2017-11-18 22:03:00 +0100
committerLars Wirzenius <liw@liw.fi>2017-11-18 22:03:00 +0100
commit1b4d3ab9cee0a47737aab8f4a603bb36e498ee0d (patch)
treef761ed57e32a27c526528e5cb37caf56ce21f22a /ick2/workapi.py
parenta1467ca4dc025337a5c28ad15f9e534df697a444 (diff)
downloadick2-1b4d3ab9cee0a47737aab8f4a603bb36e498ee0d.tar.gz
Refactor: simplify how a build is started
Diffstat (limited to 'ick2/workapi.py')
-rw-r--r--ick2/workapi.py36
1 files changed, 18 insertions, 18 deletions
diff --git a/ick2/workapi.py b/ick2/workapi.py
index 9d0a582..f6765f6 100644
--- a/ick2/workapi.py
+++ b/ick2/workapi.py
@@ -48,7 +48,11 @@ class WorkAPI(ick2.APIbase):
pipeline['status'] = 'building'
self._projects.update_project(project)
- build_id = self._start_build(project, pipeline, worker)
+ build_id = project.get('build_id', 0) + 1
+ project['build_id'] = build_id
+ self._projects.update_project(project)
+
+ self._start_build(project, pipeline, worker, build_id)
self._start_log(build_id)
index = 0
@@ -78,6 +82,19 @@ class WorkAPI(ick2.APIbase):
return project, pipeline
return None, None
+ def _start_build(self, project, pipeline, worker, build_id):
+ ick2.log.log('info', msg_text='Starting new build', build_id=build_id)
+ build = {
+ 'build_id': build_id,
+ 'log': '/logs/{}'.format(build_id),
+ 'worker': worker,
+ 'project': project['project'],
+ 'pipeline': pipeline['name'],
+ 'status': 'building',
+ }
+ self._state.add_resource('builds', str(build_id), build)
+ return build_id
+
def update_work(self, update):
if 'worker' not in update: # pragma: no cover
raise ick2.BadUpdate('no worker specified')
@@ -147,23 +164,6 @@ class WorkAPI(ick2.APIbase):
return p, pl
raise ick2.NotFound()
- def _start_build(self, project, pipeline, worker):
- ick2.log.log('info', msg_text='Starting new build')
- build_id = project.get('build_id', 0)
- build_id += 1
- project['build_id'] = build_id
- self._projects.update_project(project)
- build = {
- 'build_id': build_id,
- 'log': '/logs/{}'.format(build_id),
- 'worker': worker,
- 'project': project['project'],
- 'pipeline': pipeline['name'],
- 'status': 'building',
- }
- self._state.add_resource('builds', str(build_id), build)
- return build_id
-
def _start_log(self, build_id):
ick2.log.log('info', msg_text='Starting new log', build_id=build_id)
log = {