-
Notifications
You must be signed in to change notification settings - Fork 26
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
♻️ CI build times: leverage docker buildx github registry caching and transmit builds to int/sys tests #3369
♻️ CI build times: leverage docker buildx github registry caching and transmit builds to int/sys tests #3369
Conversation
Codecov Report
@@ Coverage Diff @@
## master #3369 +/- ##
========================================
- Coverage 83.2% 83.2% -0.1%
========================================
Files 823 823
Lines 34866 34866
Branches 1365 1365
========================================
- Hits 29042 29030 -12
- Misses 5638 5650 +12
Partials 186 186
Flags with carried forward coverage won't be shown. Click here to find out more.
|
f5239f6
to
555d88f
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
awesome, thx!!
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🎉 fantastic! This will be a game-changes reducing the time-to-deploy! Thx so much SAN!
well hold your horses... it's a bit better, it's not yet blazing fast... |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
👍 Very welcomed changes! Thanks!
Co-authored-by: Andrei Neagu <5694077+GitHK@users.noreply.github.com>
Kudos, SonarCloud Quality Gate passed! 0 Bugs No Coverage information |
What do these changes do?
This PR changes how the simcore stack is built in the inegration/system tests in the CI:
Before
After
--cache-from
and--cache-to
options of docker buildx. This allows to cache builds between CI runs on the Github Registry and therefore permits faster builds on subsequent pushes on both PRs and upstream branch as they do not need credentials. Observed time gains on builds goes from 10 minutes on the first commit to 3 minutes on the subsequent pushes (with still quite some potential as these 3 minutes mean we are bad with layer caching). Of course it depends on how many changes were done between 2 CI push.--> performance gain: all integration/system tests time to run reduce by about 10-12 minutes. Also since the build-test-images job runs alone for some time it reduces the number of github runners needed by each CI push, thus liberating some compute power to have more CI pushes at the same time.
Bonus:
Potential remaining improvements
Related issue/s
How to test
Checklist