-
Notifications
You must be signed in to change notification settings - Fork 29
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
CI: "build Cosmo" step takes 20m and is repeated for all 10 groups #57
Comments
I agree, there should be a focus on improving local testing. Perhaps we can have a separate github action for just PRs? |
SuperConfigure is what builds the cosmocc binaries. It also fetches an older version of cosmocc as part of its build process, to bootstrap building the cosmo repo. If you're adding a project to a folder like editor/ or web/ then you shouldn't need to wait for GCC to compile from scratch to get feedback on your PR. @ahgamut what I would recommend doing is adding an additional GA runner for each folder, which only builds that folder. Then we just tell people, if you're adding an editor and the "editors" GA is green, then you're good to go. |
I still don't fully understand, but while I do, I want to ask:
I usually desire to make the CI as close to "local" as possible. I know how to do it with |
Also, when I try Why is it possible in the Github Action? |
I've added a Github Action that attempts builds based on the folders changed in the most recent commit, and creates a ZIP artifact with all the built binaries. @franalbani the CI "build Cosmo" step now takes around 1m 30s, as seen here. Since the Action only builds binaries from folders that have changed, the build time is also reduced. |
FWIW My preference is to build |
Many many thanks @ahgamut ! We are now iterating much faster. what do you think about "freezing" the docker image? |
I haven't used docker in a while. If freezing the image increases build speed and is not flaky, I'm happy to accept a PR. |
TIL: Github Actions do not use docker (at least as a default).
That also explains:
I will look into ways of achieving something similar (maybe with a cache action for apt), but I anticipate that Github may already be using internal caches for that. The question now is: do we need to do |
Perhaps then we can have a docker image without We're at 1m 30s now. Does freezing a docker image really give that much of a speed increase? |
The "docker way" is incompatible with the way in which we currently set Looking at the last action run, the step The step that takes 1m30 is That step may be cached, but first I have a question: why is the need to call |
Right now I'm trying to add a new tool to |
Are you referring to |
Before submitting a PR with new software, one has to fork and test that github actions work. For some things, it is impossible to test locally and iterating against the CI is a must. This is painful because the long times it takes.
I have some questions before trying to improve it:
cosmocc
?wget -qO $@ https://cosmo.zip/pub/cosmocc/cosmocc-3.9.2.zip
?apt-get install
stuffAm I missing something?
Thanks!
The text was updated successfully, but these errors were encountered: