-
Notifications
You must be signed in to change notification settings - Fork 760
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
Size limits? #9
Comments
FWIW this is quite interesting question, especially given that there is no way to remove uploaded artifacts (#5). |
Max upload size is 5GB due to a bug when chunking, unsure if it counts towards hard limit as I stopped at 55GB uploaded. It would be nice to have an official answer so I don't have to risk my account testing. |
I tried to upload a 2gb file. PS: The upload file is ubuntu-19 image file |
Is there an official information concerning the total amount of artifact uploaded ? |
I would also be interested in getting some official information on the size limits of uploading artifcats in GitHub Actions as one of my projects also just outputed a nice See here: |
BTW: There seems to be a new API call to programmatically delete artifacts. See here: Are there any plans on enhancing "actions/upload-artifact" to directly delete old artifacts which would help a lot for managing nightly build retention schemes. |
Please note. I just adapted a nice gist provided helper script from @lelegard (https://gist.github.com/lelegard/6a428f67ee08e86d0c2f1af3f4a633d0) for my own purposes and added it to my github workflows so that the runners itself are purging old artifacts during its initialization (see https://github.com/jens-maus/RaspberryMatic/blob/master/.github/workflows/purge_artifacts.sh) |
Hmmm, strange enough I am still getting the mentioned "Unhandled exception" excpetion for one of my build jobs even thought I cleared out all build artifcats. See here: Unhandled exception. System.IO.IOException: No space left on device
at System.IO.FileStream.WriteNative(ReadOnlySpan`1 source)
at System.IO.FileStream.FlushWriteBuffer()
at System.IO.FileStream.Flush(Boolean flushToDisk)
at System.IO.StreamWriter.Flush(Boolean flushStream, Boolean flushEncoder)
at System.Diagnostics.TextWriterTraceListener.Flush()
at System.Diagnostics.TraceSource.Flush()
at GitHub.Runner.Common.TraceManager.Dispose(Boolean disposing)
at GitHub.Runner.Common.TraceManager.Dispose()
at GitHub.Runner.Common.HostContext.Dispose(Boolean disposing)
at GitHub.Runner.Common.HostContext.Dispose()
at GitHub.Runner.Worker.Program.Main(String[] args)
System.IO.IOException: No space left on device
at System.IO.FileStream.WriteNative(ReadOnlySpan`1 source)
at System.IO.FileStream.FlushWriteBuffer()
at System.IO.FileStream.Flush(Boolean flushToDisk)
at System.IO.StreamWriter.Flush(Boolean flushStream, Boolean flushEncoder)
at System.Diagnostics.TextWriterTraceListener.Flush()
at GitHub.Runner.Common.HostTraceListener.WriteHeader(String source, TraceEventType eventType, Int32 id)
at GitHub.Runner.Common.HostTraceListener.TraceEvent(TraceEventCache eventCache, String source, TraceEventType eventType, Int32 id, String message)
at System.Diagnostics.TraceSource.TraceEvent(TraceEventType eventType, Int32 id, String message)
at GitHub.Runner.Worker.Worker.RunAsync(String pipeIn, String pipeOut)
at GitHub.Runner.Worker.Program.MainAsync(IHostContext context, String[] args)
System.IO.IOException: No space left on device
at System.IO.FileStream.WriteNative(ReadOnlySpan`1 source)
at System.IO.FileStream.FlushWriteBuffer()
at System.IO.FileStream.Flush(Boolean flushToDisk)
at System.IO.StreamWriter.Flush(Boolean flushStream, Boolean flushEncoder)
at System.Diagnostics.TextWriterTraceListener.Flush()
at GitHub.Runner.Common.HostTraceListener.WriteHeader(String source, TraceEventType eventType, Int32 id)
at GitHub.Runner.Common.HostTraceListener.TraceEvent(TraceEventCache eventCache, String source, TraceEventType eventType, Int32 id, String message)
at System.Diagnostics.TraceSource.TraceEvent(TraceEventType eventType, Int32 id, String message)
at GitHub.Runner.Common.Tracing.Error(Exception exception)
at GitHub.Runner.Worker.Program.MainAsync(IHostContext context, String[] args) See here for more details: The other 5 build jobs could perfectly upload the artifact. Its just that single "ova" build job that fails with that strange Does anyone has an idea where this disk space exception is coming from?!? To me this currently looks like a github issue, isn't it? |
@jens-maus is this hosted runner? If not, could you please verify how much space is left on the runner device? The stacktrace seems to indicate we failed to write trace events locally. |
@yacaovsnc Nope, this is not a self-hosted runner but uses githubs' own runners. And I also tried to verify if there isn't enough space left after the build process, but this isn't the case. There seem to be enough space left on the devices within the runner. So I still don't know why these https://github.com/jens-maus/RaspberryMatic/actions/runs/43667982 Hope that this helps to investigate the issue... |
Facing same issues with simple html files too. I think this isn't related to the size of the files! |
Our team has created an Action to periodically clean up old artifacts: It also supports keeping tagged (release) artifacts. |
You can now set artifact and log retention duration to less than 90 days(minimum of 1 day) and we will clean and delete artifacts right after they expire. You can learn more about this feature here. Feedback is welcome! |
Is this a known bug then? Should it be raised in a separate issue?
(Edit: I see now there is a closed issue #29) |
Is there also some kind of a chunking in case of directory-as-artifact? I uploaded a docs html as artifact and interface shows the size as 300MB. However, the downloaded zip is only 44.1MB and lacks a lot of files. Checked on two different jobs with multiple download attempts. See here: |
@heavelock I'm facing the same issue as you and created #190 |
I wonder what is the total disk quota for RELEASES + artifacts. (the default free plan I mean) Anyway to be on the safe side I have a github action to remove everything :D
you can further customize it by using selectors in "jq" command (if needed: pip install jq) |
Are there size limits on artifacts? Are there quotas for total number of artifacts? Do these count towards my 100GB hard limit on the size of my repo? (And, if you know, a similar question about pushing docker images to Github package registry?)
I'm looking to port a buildkite build to Github Actions - at the moment it generates some largish artifacts when it archives node_modules (to save time doing
npm ci
from one parallel task to the next). I was thinking about pushing a dev docker image instead, but right now our image is an astonishing 1G, which seems like an excessively large thing to push to either artifacts or to a package registry on each build. :PThe text was updated successfully, but these errors were encountered: