Skip to content

Upgrade fastzip to v0.1.4

Arran Walker requested to merge ajwalker/upgrade-fastzip-v0.1.4 into master

What does this MR do?

Upgrades fastzip to v0.1.4. This fixes an incompatibility issue with the default archiver.

Why was this MR needed?

The default archiver assumes a certain sized uid/gid to be present in zip archives. It was easier to fix on the fastzip side (downside is that it produces slightly larger archives), rather than fix for the default archiver. The default archiver showed many warnings when extracting fastzip produced archives.

In the future, we should probably try to fix the default archiver too, if it continues to be used. Otherwise this issue may be repeated if we introduce yet another archiver.

What's the best way to test this MR?

Running this on master branch vs. this branch should reveal the problem:

# Produces an archive with known issues
npm install express
FF_USE_FASTZIP=1 ./gitlab-runner cache-archiver --path "node_modules/**/*" --file fastzip_archiver.zip

# Extract the archive. If on master, there will be many warnings. On this branch, warnings will be gone.
FF_USE_FASTZIP=0 ./gitlab-runner cache-extractor --file fastzip_archiver.zip

The related zipextra commit can be viewed here: https://github.com/saracen/zipextra/commit/7347a2ee3f10ce128f2056726826f1b51673080a

What are the relevant issue numbers?

Closes #27285 (closed)

Edited by Arran Walker

Merge request reports