in backend/code_coverage_backend/gcp.py [0:0]
def ingest_pushes(self, repository, platform, suite, min_push_id=None, nb_pages=3):
"""
Ingest HGMO changesets and pushes into our Redis Cache
The pagination goes from oldest to newest, starting from the optional min_push_id
"""
ingested = False
for push_id, push in hgmo_pushes(repository, min_push_id, nb_pages):
for changeset in push["changesets"]:
report = Report(
self.reports_dir,
repository,
changeset,
platform,
suite,
push_id=push_id,
date=push["date"],
)
# Always link changeset to push to find closest available report
self.redis.hmset(
KEY_CHANGESET.format(
repository=report.repository, changeset=report.changeset
),
{"push": report.push_id, "date": report.date},
)
if not ingested and self.ingest_report(report):
logger.info(
"Found report in that push", push_id=push_id, report=str(report)
)
# Only ingest first report found in a push in order to stay below 30s response time
ingested = True