gecko-dev/taskcluster
Gregory Szorc 74778951f0 Bug 1359965 - Support and generate tar.gz WPT archive; r=glandium
Several years ago there was a single zip file for all test files. Clients
would only extract the files they needed. Thus, zip was a reasonable
archive format because it allowed direct access to members without
having to decompress the entirety of the stream.

We have since split up that monolithic archive into separate,
domain-specific archives. e.g. 1 archive for mochitests and one
for xpcshell tests. This drastically cut down on network I/O
required on testers because they only fetched archives/data that
was relevant. It also enabled parallel generation of test archives,
we shaved dozens of seconds off builds due to compression being
a long pole.

Despite the architectural changes to test archive management, we
still used zip files. This is not ideal because we no longer access
specific files in test archives and thus don't care about single/partial
member access performance.

This commit implements support for generating tar.gz test archives.
And it switches the web-platform archive to a tar.gz file.

The performance implications for archive generation are significant:

before: 48,321,250 bytes; 6.05s
after:  31,844,267 bytes; 4.57s

The size is reduced because we have a single compression context
so data from 1 file can benefit compression in a subsequent file.
CPU usage is reduced because the compressor has to work less with
1 context than it does with N. While I didn't measure it, decompression
performance should also be improved for the same reasons. And of course
network I/O will be reduced.

mozharness consumers use a generic method for handling unarchiving.
This method automagically handles multiple file extensions. So as long
as downstream consumers aren't hard coding ".zip" this change should
"just work."

MozReview-Commit-ID: LQa5MIHLsms

--HG--
extra : rebase_source : cd029cdbbcccc1d16f03d63a5f1fdf60be5db4fd
extra : source : a0e257e346ccf3c1db332ec5903241f4eeb9a7ee
2017-05-08 17:19:05 -07:00
..
actions Bug 1353520 - Better default for environment envs for retriggerable jobs r=gbrown 2017-04-04 16:17:17 -04:00
ci Bug 1367408 - Make the mochitest-media test suite tier-1 on linux64-qr. r=catlee,dustin 2017-05-24 09:20:08 -04:00
docker Bug 1366070 - Override product name in Balrog submission. r=bhearsum a=release DONTBUILD 2017-05-19 09:23:18 -04:00
docs Backed out changeset 1aeb99ce3e6c (bug 1340564) for hoping that fix the packageName issue 2017-05-12 15:59:56 +02:00
scripts Bug 1362599 - Bump number of allowed hazards until it can be sorted out a=bustage 2017-05-05 16:20:05 -07:00
taskgraph Bug 1359965 - Support and generate tar.gz WPT archive; r=glandium 2017-05-08 17:19:05 -07:00
mach_commands.py Bug 1333255: introduce graph morphs, use them to make index tasks; r=jonasfj 2017-03-07 20:39:27 +00:00
moz.build Bug 1344871 - add BUG_COMPONENT to taskcluster/* files. r=garndt 2017-03-07 13:06:50 -05:00