-
Notifications
You must be signed in to change notification settings - Fork 6
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: create Feature class for handling feature rollouts #41
Conversation
Codecov Report
@@ Coverage Diff @@
## main #41 +/- ##
==========================================
+ Coverage 91.84% 91.88% +0.04%
==========================================
Files 100 101 +1
Lines 8249 8290 +41
Branches 1253 1261 +8
==========================================
+ Hits 7576 7617 +41
Misses 671 671
Partials 2 2
Flags with carried forward coverage won't be shown. Click here to find out more.
|
This is an interesting project, thanks for putting it together. I'm particularly interested in the Also, I don't have to define my Features and Experiments in |
note to self: i require proportions be >0 but it should be >=0 to allow for override-only features and feature variants
yeah, if you set an override for codecov's org id and then call
yeah, i think a central |
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.
I like in-house solutions 🤷♂️ hehehe
Thanks
(this is only my opinion, of course. We should wait to hear from others)
|
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.
This is nice @matt-codecov!
There's currently some %-based rollouts that are happening via the code here: https://github.com/codecov/shared/blob/071b899ae80c7a465b4e6d7d8387d9dff241e842/shared/yaml/user_yaml.py#L142C1-L142C1 (and configured here: https://github.com/codecov/k8s-v2/blob/3cc3da33deba0eb0dbd6586a11d5f034b9839acb/production.yaml#L391). They have slightly different percentages in different envs. If we need to continue supporting that sort of thing then maybe we come up with a convention for specifying variant proportions in the config.
shared/rollouts/features.py
Outdated
@@ -0,0 +1,3 @@ | |||
PARALLEL_UPLOAD_PROCESSING_BY_ORG = Feature( |
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.
What's this?
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.
i wanted a "real" example feature to serve as a reference and placeholder, but for that actual experiment i'll probably put the feature definition in worker
. i'll comment it out / explain in that file
I don't believe so. Python 3.7 is end-of-life anyway so I think we're fine to drop that version here. |
apparently my last merge was slightly too quick to get the CI config update i merged |
this came up on slack yesterday and i thought it'd be fun to throw something together. let me know if you have any feedback or if we want to use a Real Product for this instead
notes:
Legal Boilerplate
Look, I get it. The entity doing business as "Sentry" was incorporated in the State of Delaware in 2015 as Functional Software, Inc. In 2022 this entity acquired Codecov and as result Sentry is going to need some rights from me in order to utilize my contributions in this PR. So here's the deal: I retain all rights, title and interest in and to my contributions, and by keeping this boilerplate intact I confirm that Sentry can use, modify, copy, and redistribute my contributions, under Sentry's choice of terms.