-
Notifications
You must be signed in to change notification settings - Fork 22
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
chore(ci): various optimizations for build processing, caching and concurrency #996
chore(ci): various optimizations for build processing, caching and concurrency #996
Conversation
66ae90d
to
d6f1da8
Compare
…her jobs should restore only
d6f1da8
to
adb5ab6
Compare
technically this needs to be unified with the component build
18bfbc8
to
6f07e3a
Compare
f30d0e5
to
b026f78
Compare
@hilmarf could you take another look here |
General question: what do we want to build as fast as possible? (What requires really the best cache setup?)
|
All build steps using go dependencies should be accelerated as much as possible. I would like to keep build times in the low 5 minutes, so also all PR builds. However due to our exorbitantly large cache, the tradeoff is to reuse only one build cache from release builds as well as test steps on main. |
Co-authored-by: Hilmar Falkenberg <[email protected]>
Co-authored-by: Hilmar Falkenberg <[email protected]>
Our caches are getting too big:
On top we dont make use of makes inbuilt parallelism (
-j
) and also we do not make use of shells forking mechanism for concurrent execution (&
execution chain followed bywait
)What this PR does / why we need it
Limits the cache save to only the main branch in the build step, all other branches/PRs and Jobs will reuse that cache instead of computing their own
What does this mean:
PRO:
CON:
Which issue(s) this PR fixes
fix #999 #1000