Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
As we add more jobs and have existing ones perform more work, CI slows down. One of the main offenders is the 'test-release' job, which is found to have a both cold start runtime but also doesn't play particularly nice with our caching infrastructure. This has potential trickle down effects on other jobs, which may only get scheduled on runners once others have finished (because there exist overall limits on the number of runners in use), potentially delaying overall CI time doubly. The slowness of this job seems to come down to two things: 1) our release builds use LTO etc., making linking a very lengthy process 2) it turns out that release builds are not incremental by default [0], causing a lot of recompilation to happen, despite our efforts of caching intermediate artifacts To fix these issues, we disable the link time optimization step in CI and enable incremental compilation. Doing so reduces runtime from >=3min down to ~1min. [0] https://doc.rust-lang.org/cargo/reference/profiles.html#release Signed-off-by: Daniel Müller <[email protected]>
- Loading branch information