Conversation
14860f0 to
dfcf835
Compare
|
|
|
|
|
Looks like |
|
What I'd love to achieve is only rebuilding the parts of Qt that the changed patches affect, but I'm not sure if that's achievable. At least this improves the cache-hit mechanism without us having to remember to forcibly and manually invalidate the cache. |
|
This should be working as designed now. It should restore from This doesn't get us to the quicker partial rebuild that I really want. For that, we'd probably have to cache the intermediate build directories, and I'm not sure what the tradeoffs would be (time spent restoring/saving the bigger cache and more cache usage versus time saved doing full vs. partial rebuilds if a patch is added/removed/changed). However, this does give us an idea of how to better ensure that patch file changes force a rebuild via cache invalidation. |
PatTheMav
left a comment
There was a problem hiding this comment.
Yeah it's still a bit here and there, but the change is simple enough that I think it's worth the improvements it brings.
Use the hash of the Qt patches for the cache key for the Qt build jobs. Use restore-keys to do a fuzzy-match to restore the cache if the exact cache key is not found. This should allow us to restore the Qt cache and do a rebuild if the patches used for Qt change. This means we don't have to remember to change the QT_REVISION variable if we add new patches or change the existing ones.
Description
Use the hash of the Qt patches for the cache key for the Qt build jobs. Use restore-keys to do a fuzzy-match to restore the cache if the exact cache key is not found. This should allow us to restore the Qt cache and do a rebuild if the patches used for Qt change. This means we don't have to remember to change the QT_REVISION variable if we add new patches or change the existing ones.
Motivation and Context
Hopefully, we can avoid full rebuilds of Qt on CI when we've just changed patch files. We're still unsure how well this will work, so it might be best to merge this and see how the subsequent Qt patch PRs (#101 and #102) behave.
Edit:
This will only force a rebuild if the Qt patches have changed. It won't let us do partial rebuilds by itself. For that, we would need to also cache the intermediate build directory.
How Has This Been Tested?
CI is the test.
Types of changes
Checklist: