-
Notifications
You must be signed in to change notification settings - Fork 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
Merge Android jobs into a single multistep job to better amortize setup time #8464
Merge Android jobs into a single multistep job to better amortize setup time #8464
Conversation
It doesn't seem surprising to me that java compilation would be considered up to date in followup builds because those steps produce portable bytecode. While I wouldn't say that I 100% trust it, I don't see an obvious problem here and in fact this likely indicates legitimate savings. |
Size increase report for "esp32-example-build" from f4a6b28
Full report output
|
@woody-apple @Damian-Nordic @msandstedt @saurabhst @jepenven-silabs @LuDuda @jmartinez-silabs Take a look please? Should help a bit with our CI latency. |
Problem
Android CI uses a total of ~30 minutes CI time, but a lot of this seems to be work that is duplicated across the three Android jobs.
Change overview
Combine the jobs into one job with steps that build the different configurations.
Testing
Checked that the overall job ran in ~15 minutes.
@mspang I'm a little concerned that the builds after the first one are clearly reusing some build artifacts for the "app" builds; the log at https://github.com/bzbarsky-apple/connectedhomeip/runs/3089960361 shows things like:
etc. Should we instead be deleting something between the steps to ensure more proper "clean" builds, or do we trust whatever build system is involved here enough to assume that it's going to redo whatever work differs between the three configurations correctly?