-
Notifications
You must be signed in to change notification settings - Fork 146
feat: push speed optimizations #1189
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
feat: push speed optimizations #1189
Conversation
✅ Deploy Preview for endearing-brigadeiros-63f9d0 canceled.
|
✅ Deploy Preview for endearing-brigadeiros-63f9d0 canceled.
|
pullRemote
optimizations
Codecov Report❌ Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## main #1189 +/- ##
==========================================
- Coverage 83.74% 83.72% -0.03%
==========================================
Files 67 67
Lines 2892 2888 -4
Branches 366 366
==========================================
- Hits 2422 2418 -4
Misses 410 410
Partials 60 60 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
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.
LGTM, one minor point on the singleBranch arg.
Fixes #985. The profiling screenshots are in the issue discussion.
This PR reduces push times by around 50% by using the
depth: 1
andsingleBranch: true
options inpullRemote
when cloning. It also adds thestream: true
option to theexpress-http-proxy
configuration, which should help with larger pushes.I've experimented with other optimizations to the chain actions but it seems that the majority of time is spent cloning the target repository (and therefore limited by download speeds).
I'd say storing the target repository so we only clone the entire repo once is the best option, the tradeoff being that we might need to store several GB of data for larger repos. Perhaps we could have a config option to toggle this so admins can do as they see fit?