return list(builds)
+ def get_recent_builds(self, limit=None, offset=None):
+ builds = self.backend.builds._get_builds("""
+ SELECT
+ builds.*
+ FROM
+ repository_builds
+ LEFT JOIN
+ builds ON repository_builds.build_id = builds.id
+ WHERE
+ builds.deleted_at IS NULL
+ AND
+ repository_builds.repo_id = %s
+ AND
+ repository_builds.removed_at IS NULL
+ ORDER BY
+ repository_builds.added_at DESC
+ LIMIT
+ %s
+ OFFSET
+ %s
+ """, self.id, limit, offset,
+ )
+
+ return list(builds)
+
@lazy_property
def total_builds(self):
res = self.db.get("""
""", self.id,
)
- return res.count
+ return res.count or 0
def get_builds_by_name(self, name):
"""
)
if res:
- return res.size
+ return res.size or 0
return 0
</div>
</div>
</section>
+
+ {% set builds = repo.get_recent_builds(limit=6) %}
+
+ {# Builds #}
+ {% if builds %}
+ <section class="section">
+ <div class="container">
+ <h4 class="title is-4">{{ _("Recently Added Builds") }}</h4>
+
+ {% module BuildsList(builds) %}
+
+ <a class="button is-primary" href="{{ repo.url }}/builds">
+ {{ _("Show All Builds") }}
+ </a>
+ </div>
+ </section>
+ {% end %}
{% end block %}