-
Notifications
You must be signed in to change notification settings - Fork 726
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
upload-artifact
double-zips a zip
#39
Comments
This is an issue on the This will be fixed with the |
@konradpabjan , thanks!
Very interesting knowing that the assets aren't being zipped by the upload action (potentially wasting space?), and instead the zipping is done by the downloader service. Well, I'm not picky about what happens behind the curtain, but happy you're on this and that we won't have zipped-zips come v2! |
@konradpabjan When will |
Ref #3 (comment) |
We're planning on having a |
I'd really appreciate if we could get uploading of verbatim single files going asap, so I can avoid setting up an interim FTP upload. |
Ran into this as well. Using 7zip as part of the build is order of magnitude faster than having upload-artifact handle the zipping. For our specific repo timings are (3719 files, 150MB uncompressed, 44MB compressed):
|
Thanks @konradpabjan -- just checking in on how this is going; any news? |
The Initially I thought we would get this done for Basically, this double-zip isn't caused by how the artifact get uploaded, but rather it's a limitation of the GitHub UI in terms of how you can later download the artifact. The long term fix is to offer a more enhanced experience in terms of how to download artifacts (browse and download individual components from the UI). For See my comment here for more information: #3 (comment) (same things applies to an individual file that gets uploaded, a zip is the only supported way that you can currently download an artifact from the UI) There is GZip compression that is used during upload (which I initially though was responsible for this, apologies for some of my conflicting comments earlier). |
+1 |
@afwn90cj93201nixr2e1re The artifact double zip is currently a UI limitation and it's independent of how the artifact gets uploaded. There is no zip that gets created during artifact upload. We don't have anything yet to allow users to individually download files from the UI so a zip gets dynamically created when you click to download the artifact (this is done so that all files are downloaded at once). Long term we have plans to enhance this significantly so you individually download files (and browse them) without any extra zipping. At the moment this is an unfortunate limitation that we have 😕 |
Being able to download files without the additional ZIP wrapper would be highly appreciated as I use actions to build ready-to-extract zip files and having to extract that zip from another zip just confusion among users. |
As an update, the issue still exists with v2. I use There is also about 30s lag between clicking and actually starting the download; I assume zipping happens on demand when trying to download it, as @konradpabjan mentioned. |
To avoid GitHub packing it again (see actions/upload-artifact#39).
To avoid GitHub packing it again (see actions/upload-artifact#39).
I remember the times when this issue was fixed and we could upload our own archives. That were short and great times! (just few days, IIRC) People even create duplicates/related issues! (like #426) |
This is the 4th-highest voted issue on this project, and relates to the highest-voted issue #14. I just went to the trouble of setting up CPack for my C++ project to create a zip file, only to discover that it was a waste of time unless I want to live with a doubly-zipped artifact. It's also bizarre that it only supports .zip and not .tar.gz. I think I saw another action that attempts that, however. |
+1 pls |
The github action `upload-artifact` always creates a zip tarball when collecting it and this caused double-zip a zip in our case. See the following issue for details: actions/upload-artifact#39 This change adds a cli parameter to build artifact without zip compression. And let the action to create a tarball for us. Test: build
ok, glad im not losing my mind. yeah, all my artifacts are .zip.zip upon download.
|
The github action `upload-artifact` always creates a zip tarball when collecting it and this caused double-zip a zip in our case. See the following issue for details: actions/upload-artifact#39 This change adds a cli parameter to build artifact without zip compression. And let the action to create a tarball for us. Test: build
Please... This is a big issue for everyone |
you can check out my workflow here: https://github.com/vergecurrency/verge/blob/master/.github/workflows/build-all-and-release.yml |
See also #485. |
Refer to actions/upload-artifact#39 Using the workaround mentioned there
It does the same thing with .7z files - please fix this! |
still not fixed??? |
The strange thing is that official Docker manual suggests passing data through artifacts so that images can be loaded with .tar extension (e.g. I couldn't make it work. It appears that GitHub actions compress my .tar file into .zip! |
Use v4 Upload all artifacts in one to avoid the double zip issue in each artifact actions/upload-artifact#39
Use v4 Upload all artifacts in one to avoid the double zip issue in each artifact actions/upload-artifact#39
When
upload-artifact
is provided an existing zip file via itspath:
argument:It double-zips the zip, resulting a zip within a zip.
"You're using it wrong, don't provide a zip file!", might be a counter-argument, however zips might be preferred because:
"We can't trust your zipfile; what if it's some other file in disguise!", could be another argument:
content/type
check could be applied to confirm the file is a bonafide zip. If you still don't trust it, then the zip could be decompressed to/dev/null
and confirmed good, as opposed to double-zipping the zip.Yes, a work-around would be to unzip our resulting zip to a temporary directory, and then provide that to the asset uploader - however we're now wasting three rounds of zipping: initial zip, unzip, re-zip.
GitHub already gives developers full control over the content that they're uploading, so using a zipfile straight-away is just another means to provide the same content without a second layer of packaging.
The text was updated successfully, but these errors were encountered: