+import datetime
import os
import unittest
import flask_migrate
assert build.build_id == 1
assert build.build_runner_id == "foobar"
+class TestWeb(UsesModels):
+
+ def test_home(self):
+ build1 = Build(build_id=1)
+ runner = Runner(runner_name="foobar", runner_id="foobar")
+ build2 = Build(build_id=2, build_status="success", build_device="mako", build_version="cm-14.1", build_type="userdebug", build_date=datetime.datetime.now(), build_runner=runner)
+ db.session.add(build1)
+ db.session.add(runner)
+ db.session.add(build2)
+ db.session.commit()
+ response = self.client.get("/")
+ assert response.status_code == 200
+
if __name__ == "__main__":
unittest.main()
@app.route('/')
def main():
- return render_template('index.html')
+ return render_template('index.html', builds=models.Build.query.all())
@app.route("/webhook", methods=('POST',))
def process_webhook():
SQLALCHEMY_DATABASE_URI = os.environ.get("SQLALCHEMY_DATABASE_URI", 'sqlite:////tmp/ui.db')
CACHE_TYPE = 'simple'
-GITLAB_WEBHOOK_TOKEN = 'secret'
+GITLAB_WEBHOOK_TOKEN = os.environ.get("GITLAB_WEBHOOK_TOKEN", "secret")
PRESERVE_CONTEXT_ON_EXCEPTION = False
<th>Version</th>
<th>Type</th>
<th>Date</th>
+ <th>Runner</th>
</tr>
{% for build in builds %}
<tr>
- <td>{{build.id}}</td>
- <td>{{build.status}}</td>
- <td>{{build.device}}</td>
- <td>{{build.version}}</td>
- <td>{{build.type}}</td>
- <td>{{build.date}}</td>
+ <td><a href="https://gitlab.com/LineageOS/builder/lineage_builder/pipelines/{{build.build_id}}">{{build.build_id}}</a></td>
+ <td>{{build.build_status}}</td>
+ <td>{{build.build_device}}</td>
+ <td>{{build.build_version}}</td>
+ <td>{{build.build_type}}</td>
+ <td>{{build.build_date}}</td>
+ <td><a href="/runners/{{build.build_runner.runner_name}}">{{build.build_runner.runner_name}}</a></td>
</tr>
{% endfor %}
</table>