-
Notifications
You must be signed in to change notification settings - Fork 3.4k
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
fix(op-program): minimize docker context #13580
base: develop
Are you sure you want to change the base?
Conversation
Codecov ReportAll modified and coverable lines are covered by tests ✅
Additional details and impacted files@@ Coverage Diff @@
## develop #13580 +/- ##
===========================================
- Coverage 47.48% 43.06% -4.42%
===========================================
Files 945 779 -166
Lines 79032 69671 -9361
Branches 761 0 -761
===========================================
- Hits 37530 30007 -7523
+ Misses 38654 37087 -1567
+ Partials 2848 2577 -271
Flags with carried forward coverage won't be shown. Click here to find out more. |
I should add that the downside is that this file needs to be adjusted if new dependencies within the monorepo appear. |
Awesome find, do you have an estimate of before/after size? I am in favor of this, but I wonder if we have any sort of "Making a top-level application in the Monorepo" document that would need to be updated with this. And if we don't have such a thing, I wonder if we should... 🤔 |
I don't have a very good answer for the before/after, but here are some numbers:
Possibly more important is the fact that we should expect that context to be more or less constant? (I think? we might have to whitelist .go files explicitly to be sure) I don't know of such a document. I'm happy to start one if I feel it's useful |
87ec3ee
to
b653d80
Compare
just added a fix to exclude op-program/bin. |
b653d80
to
a0dd9f5
Compare
Description
This change minimizes the docker context needed to create the repro
artifacts.
Rationale: by default, the context is basically the entire monorepo
(minus whatever is excluded in the top-level .dockerignore file).
This is way larger than needed (and gets worse as the working
directory gets dirtier), and leads to unnecessary cache misses,
therefore rebuilds.
Tests
Additional context
Metadata