Skip to content

Prevent zipping of single file artifacts in Releases

Problem to solve

During the research of #27300 (closed), we found that single files are zipped and this causes an unnecessary burden of time. We need to allow easy downloading of Binary Files. After we support binary files in Releases (#35893 (closed)), we should aim to improve the user experience of the single file zip.

  • if you compile phar(/exe/binary) files, they are already compressed so you gain nothing from ziping them again
  • you need to unzip them on the target server which requires zip to be installed
  • In comparsion to Github, they allow to add binary files as assets without the forced zipping
  • i can't control which compression is used, sometimes a user will want to use tar.gz or bzip2 instead if zip
  • if you are stuck at old puppet modules like https://forge.puppet.com/puppet/wget they simply can't unzip

instead of

wget https://github.com/composer/composer/releases/download/1.8.6/composer.phar

you have to

wget -q -O tmp.zip https://github.com/composer/composer/releases/download/1.8.6/composer.phar.zip && unz

Intended users

Mostly, the technical release managers will be using this feature:

Further details

  • Use Case: A user should be able to easily download a file without having it to be zipped

Proposal

  • Allow bin files to be added as assets without forced zipping

Permissions and Security

  • All single binary files should be included in this
  • User permissions should be inherited from project/roles to download the binary files

Documentation

Testing

  • when downloaded, single binary files should not be zipped
  • when downloaded, multiple binary files should be zipped

What does success look like, and how can we measure that?

  • Time spent downloading binary files should be reduced
  • Consumption of server space should be minimized as a result of not needing to establish a target server to unzip files

What is the type of buyer?

  • Community Edition

Links / references

Edited by Jackie Porter