Skip to content
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

Support tar.xz #69

Open
xenoterracide opened this issue Apr 20, 2020 · 5 comments
Open

Support tar.xz #69

xenoterracide opened this issue Apr 20, 2020 · 5 comments

Comments

@xenoterracide
Copy link

reason, improved compression, improved upload, improved download times. suggested structure is just to allow for expansiveness if needed

     with:
         archive: tar
         compression: xz

recently testing the new glob feature, and having problems... I also tried doing it with tar.

time to compress tar.xz and wrap in zip and upload 7s, 1.4MB
time to compress zip and upload 1m 15s, 21.5MB

@yacaovsnc
Copy link
Contributor

Thanks for the feedback and it's an option we have debated internally. The mental model we use around artifacts system is to treat it as a "file systems", i.e. each artifact is a folder, and we can upload multiple files to the folder. This is the most flexible model as some use cases require updating the same artifact through different jobs and in the end produce the final result. In this model, creating an archive and compressing the archive should be done prior to creating the artifacts.

We understand this option would simplify some use cases, and at the same time it introduces complexity in many other scenarios so ultimately we opted to reduce complexity by not providing the archiving option.

@MCOfficer
Copy link

MCOfficer commented Jun 2, 2020

Could the action at least batch-upload files with tar internally? We have a MacOS app with over 3k individual files, and it takes over 3 minutes to upload - presumably because files are uploaded sequentially.

Edit: checked the code, it's 2 files in parallel.

If we tar the entire thing beforehand, it slips through the pipe in a matter of seconds. The action could do the same trick internally to massively speed up folder uploads (and, to some extend, downloads). The backend could just extract the tar and act as if those files had been sent one by one.

@dbartholomae
Copy link

Another option would be to at least add an example how to manually tar to the docs. I'm fighting with this for an hour now.

@dbartholomae
Copy link

Thanks! For me it turned out to be a problem with using the wrong path to unarchive in the download-artifact action. Here's my solution in case anyone else runs into it:
https://github.com/dbartholomae/startup-cto-blog/blob/c8eb8697d112d36159ee49465323f9f7beb9116b/.github/workflows/deploy.yml#L65

And, for completeness, I now run multiple steps in parallel in one job instead of having multiple parallel jobs for performance reasons.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants