The documentation in the read me is lacking information around how the artifacts are uploaded to GitHub. It seems that uploading a folder compress all the files and upload a single zip file. This behaviour isn't explained. I was expecting each file to be uploaded individually. I have to do a lot of trial and error to figure out what is the behaviour or each upload use-case (individual files vs compressed archive).
Have you checked out the docs in the toolkit repo for the @actions/artifact NPM package? Internally this is used for actions/upload-artifact and actions/download-artifact
https://github.com/actions/upload-artifact#additional-documentation
https://github.com/actions/toolkit/tree/master/packages/artifact/docs
Files get uploaded and downloaded individually by upload-artifact and download-artifact (gzip compression is used for large individual files, but that is an implementation detail that users don't need to worry about).
The zip that you can download from the GitHub UI is actually created dynamically: https://github.com/actions/toolkit/blob/master/packages/artifact/docs/additional-information.md#is-my-artifact-compressed
In the roadmap we have plans to significantly enhance the UI and to offer a file browser where you can download individual artifact files
I agree that a bit of further documentation clarity could be had to make this easier to understand. "Additional documentation" for an implementation detail of upload-artifact didn't seem like a likely place to learn that artifacts are archived by GitHub every time, on the fly, regardless of content.
I've added a small section to the README that discusses the limitations around the zipping: https://github.com/actions/upload-artifact#zipped-artifact-downloads
Most helpful comment
I've added a small section to the
READMEthat discusses the limitations around the zipping: https://github.com/actions/upload-artifact#zipped-artifact-downloads