-
Notifications
You must be signed in to change notification settings - Fork 249
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
Improve CI build times, esp. on Ubuntu #107
Comments
It was originally downloading the executables directly, but was changed in #63 to use brew instead, not sure why exactly, but you can see the CI runs before that PR were around ~6m which is still fairly high, but a lot better. |
Oh, does sound like we should go back! |
It looks like we're building at least some crates twice from the split current ci.yaml: - run: cargo test --workspace --exclude example-runner
- if: ${{ runner.os != 'macOS' }}
run: cargo test --workspace example-runner probably better ci.yaml: - if: ${{ runner.os != 'macOS' }}
run: cargo test --workspace
- if: ${{ runner.os == 'macOS' }}
run: cargo test --workspace --exclude example-runner edit: this has been done |
now that CI is downloading spirv-tools instead of brew installing (and therefore building) them, is there anything left to do in this issue? current times: mac: 10m (2m installing spirv-tools, 7m running tests) seems like most time is spent in running tests (mostly building our boatload of dependencies, I think), so not really much we can improve on the CI side. |
We could add support for sccache, but that does add some complexity, I could do a quick and dirty pr to see if the speedup is worth it? |
I don't actually know, is sccache significantly better than the github cache action? We used to do that, but it was broken since rustup upgrades wouldn't invalidate the cache, so we removed it. Might be relatively easier to fix that instead. rust-gpu/.github/workflows/ci.yaml Lines 17 to 26 in 8c9583f
(Or, y'know, the github cache action might have been doing absolutely nothing, because checked-out files are newer than the cache modification date or something like that, idk) |
We'd have to test to see, but yes, if you switch nightlies often that would problematic for both of them, then again, as the project grows and there are more contributions, even a modest decrease in build times pays back quickly. |
I think at this point, CI is just a lost cause, there's too much to build and test. We should also track specific improvements we should do, like #549 |
These are our current CI build times through our GitHub Action:
Ubuntu is spending 8 min just installing spirv-tools, this we should fix so we at least get down to 8m total build times instead of 13 min.
Just download the spriv-tools executables directly instead of using apt? think was some discussion in chat. cc @Jake-Shadle
The text was updated successfully, but these errors were encountered: