in backend/code_coverage_backend/gcp.py [0:0]
def __init__(self, reports_dir=None):
# Open redis connection
redis_url = taskcluster.secrets["REDIS_URL"]
# Are we dealing with a redis ssl/tls connection?
if redis_url.startswith("rediss:"):
# The cert is self signed so do not check it
self.redis = redis.from_url(redis_url, ssl_cert_reqs="none")
else:
# No we are not, we are connecting transparently
self.redis = redis.from_url(redis_url)
assert self.redis.ping(), "Redis server does not ping back"
# Open gcp connection to bucket
assert (
taskcluster.secrets["GOOGLE_CLOUD_STORAGE"] is not None
), "Missing GOOGLE_CLOUD_STORAGE secret"
self.bucket = get_bucket(taskcluster.secrets["GOOGLE_CLOUD_STORAGE"])
# Local storage for reports
self.reports_dir = reports_dir or os.path.join(
tempfile.gettempdir(), "ccov-reports"
)
os.makedirs(self.reports_dir, exist_ok=True)
logger.info("Reports will be stored in {}".format(self.reports_dir))
# Load most recent reports in cache
for repo in REPOSITORIES:
for report in self.list_reports(repo, nb=1):
try:
download_report(self.reports_dir, self.bucket, report.name)
except Exception as e:
logger.warn(
"Failure downloading report {}: {}".format(report.name, e)
)