Fastzip created archives have warnings files when extracted by default archiver
Fastzip and the default archiver both support the infozip 0x7875 extras extension, adding uid/gid information for each file.
Both implementations arguably adhere to the specification of 0x7875, but because it's loosely defined, it's lead to a problem where fastzip archives are not correctly supported by the default archiver.
Fastzip encodes UID/GIDs using a variable length, depending on the value.
The default archiver expects UID/GIDs to be 4 bytes (a signed 32-bit integer).
One workaround is to ensure that
FF_USE_FASTZIP is enabled on both sides, for archiving and extracting.
Another is to modify the UID/GID to
2147483647:2147483647 (this forces the variable length to equal 4 bytes) of your paths at the end of the job. For example:
my_job: script: - .. do things .. after_script: - chown -R 2147483647:2147483647 node_modules/ artifacts: paths: - node_modules/**/*
Files on the extraction side will now have an invalid UID/GID, so you may run into issues if you're not running as root inside of your container. I recognize this is not ideal and I wouldn't usually suggest this incredibly odd fix, but I recognize that some would still sooner have faster caches.