-
Notifications
You must be signed in to change notification settings - Fork 1.2k
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
Nightly release CI action is broken #1591
Comments
This seems to be the culprit but I don't really understand it yet...
|
The last successful nightly release was 3rd September 2024: so I presume that one of the commits since that date caused the problem? I hope it's not one of mine! :-) |
I created a PR that should address this issue: #1592 |
Thanks @cmuellner. 👍 |
Any idea why the nightly build still doesn't seem to be working or, at least, hasn't completed and uploaded a complete set of built artifacts yet? |
Still something wrong I guess? Only sources in the latest release again.
Edit: oh, out of disk space? Even though it's supposed to clean up after itself as far as I can see?
Does it maybe need to do more to clean up? |
It looks like it is the "create release" job that is running out of space. It downloads all of the artifacts from previous steps, which take up 25 GB but the runner only has 21 GB available. Each job is run on a separate runner, so the space needs to be cleaned up in this job too. |
The CI seems to be regularly (I've observed this multiple times since we added the musl builds into the CI/CD) broken because of git/musl issues:
I'm not sure what the best way to move forward here is. |
That's the wrong URL as far as I can see: Edit: ah - sorry - ignore that... |
Maybe we are hitting an issue with HTTP (e.g. http.postBuffer is not enough to hold the pack file), does doing a shallow clone solve this ? Yocto at some point used this mirror: https://github.com/kraj/musl/tree/master it seems to be up to date. Maybe @richfelker can help. |
Can you provide a minimal test case to reproduce the failure to git-clone? I just cloned successfully. |
FWIW if you're re-cloning on every CI job, the polite thing to do is make it a shallow clone. The more polite thing to do would be to cache git clones. But I don't think this is related to the problem. |
FWIW that's what this recent PR was intended to deal with but it's closed pending further investigations:
Do you know what this would involve for this repo's actions? |
No, I don't. I've really avoided getting into CI workflows myself because I deem them a gigantically irresponsible abuse of resources. So I'm not sure what tooling there is to fix this (avoid downloading the same thing thousands of times), but it's something I very much hope someone is working on. |
I'm in the same camp. However, there is a significant demand for pre-built releases of this repo. A possible solution is to have a mirror repo on Github, which regularly pulls the changes from the official repo. This reduces the load on upstream git servers. |
Another possibility might be to |
In case this helps at all (may belong elsewhere?):
Notes:
|
On one hand if we run CI very often it's indeed a waste of resources, on the other hand it's useful for regression testing (and we can't solve that with a mirror repo btw, we can't check for example pull requests that way, and it's super useful), and it's an even worse waste of resources to have the users of this repo (or their CIs) building this repo again and again. That being said there are a few ways to optimize the flow, here are a few suggestions:
|
Tarball repositories that I've seen (e.g. see above) suggest that LZ compression may be even better than XZ (at least from a compression perspective, not sure if it's slower?). |
PR exists (#1605).
I also thought of this, but I have zero experience with it. It is hard to get up and running if it cannot be tested locally.
We trigger the build every night, but it will not download/build anything if there were no changes in the last 24 hours.
I will look into this. I usually use Thanks! |
I'm working on a branch on my fork on this topic. Not happy with it quite yet. TShapinsky#2 |
Another way toolchain size can be reduced is if stripped versions of the programs are used. A good portion of the dependencies already support a variant of |
See here:
Only source bundles generated, no binary toolchains.
The text was updated successfully, but these errors were encountered: