shin- 11 жил өмнө
parent
commit
80522a7338

+ 2 - 1
stackbrew/app.py

@@ -49,10 +49,11 @@ if config['debug']:
     @app.route('/build/force', methods=['POST'])
     def force_build():
         build_task()
+        return utils.resp(app, 'OK')
 
 
 def build_task():
-    summary = data.new_summary()
+    summary = data.new_summary(config['repos_folder'])
     library = brew.StackbrewLibrary(config['library_repo'])
     builder = brew.LocalBuilder(
         library=library, namespaces=config['namespaces'],

+ 7 - 3
stackbrew/lib/db.py

@@ -25,12 +25,16 @@ summary_item = sql.Table(
 
 
 class SummaryV2(object):
-    def __init__(self, engine, summary_id):
+    def __init__(self, engine, summary_id, errorlogs=None):
         self.summary_id = summary_id
         self._engine = engine
+        self.errorlogs = errorlogs
 
     def handle_build_result(self, exc, repo, version, img_id, build_result):
         c = self._engine.connect()
+        if exc and self.errorlogs:
+            with open('{2}/{0}.{1}.error.log'.format(repo.name, version[1], self.errorlogs)) as f:
+                f.write(build_result)
         ins = summary_item.insert().values(
             repo_name=repo.name,
             exception=str(exc),
@@ -72,14 +76,14 @@ class DbManager(object):
                 c.execute(ins)
         return summary_id
 
-    def new_summary(self):
+    def new_summary(self, errorlogs=None):
         c = self._engine.connect()
         ins = summary.insert().values(
             result=True, build_date=str(datetime.datetime.now())
         )
         r = c.execute(ins)
         summary_id = r.inserted_primary_key[0]
-        return SummaryV2(self._engine, summary_id)
+        return SummaryV2(self._engine, summary_id, errorlogs)
 
     def latest_status(self):
         c = self._engine.connect()