Skip to content

Commit 30c2389

Browse files
committed
report: Update download grcov function to handle the new compression format
Given https://bugzilla.mozilla.org/show_bug.cgi?id=1729406
1 parent 44aa80a commit 30c2389

File tree

2 files changed

+9
-5
lines changed

2 files changed

+9
-5
lines changed

report/firefox_code_coverage/codecoverage.py

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@
1818
import magic
1919
import requests
2020
import tenacity
21+
import zstandard
2122

2223
from firefox_code_coverage import taskcluster
2324

@@ -26,7 +27,7 @@
2627
STATUS_VALUE = {"exception": 1, "failed": 2, "completed": 3}
2728

2829
GRCOV_INDEX = "gecko.cache.level-3.toolchains.v3.linux64-grcov.latest"
29-
GRCOV_ARTIFACT = "public/build/grcov.tar.xz"
30+
GRCOV_ARTIFACT = "public/build/grcov.tar.zst"
3031

3132
logger = logging.getLogger(__name__)
3233

@@ -284,15 +285,17 @@ def download_grcov():
284285
local_version = os.path.join(os.getcwd(), "grcov_ver")
285286

286287
dest = tempfile.mkdtemp(suffix="grcov")
287-
archive = os.path.join(dest, "grcov.tar.xz")
288+
archive = os.path.join(dest, "grcov.tar.zst")
288289
index = taskcluster.get_service("index")
289290
url = index.buildUrl("findArtifactFromTask", GRCOV_INDEX, GRCOV_ARTIFACT)
290291
download_binary(url, archive)
291292

292293
# Extract archive in temp
293-
tar = tarfile.open(archive, "r:xz")
294-
tar.extractall(dest)
295-
tar.close()
294+
dctx = zstandard.ZstdDecompressor()
295+
with open(archive, "rb") as f:
296+
with dctx.stream_reader(f) as reader:
297+
with tarfile.open(mode="r|", fileobj=reader) as tar:
298+
tar.extractall(dest)
296299
os.remove(archive)
297300

298301
# Get version from grcov binary

report/requirements.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
11
python-magic==0.4.24
22
taskcluster==44.2.2
33
tenacity==8.0.1
4+
zstandard==0.15.2

0 commit comments

Comments
 (0)