-
Notifications
You must be signed in to change notification settings - Fork 820
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: How to run tests with and without Feature Gates #1411
Comments
How does Kubernetes solve this? There must be prior art, I would think? |
Kubernetes solves this at least in part by running a huge test matrix. Some examples:
This is all built on top of prow + testgrid, which makes it easy to spin up new test suites. But if you aren't careful, it can also become costly too as you expand the matrix to cover such a large variety of tests. |
Eep. Sounds scary. I wonder if we could suffice with 2 e2e tests - one with all features enabled, and one without any (and skipping any tests wherein there are feature flags enabled). Would that be sufficient for the moment? Might want to run them in parallel on separate clusters? |
This might also be the impetus to finally do the work to move our testing infra off Cloud Builder -- we may have met it's limits at this stage. |
We need to be able to filter out new E2E tests for example : |
Build tags make sense to me 👍 sounds like a good first approach. |
Can we mark this as completed? We've had 2 e2e tests (with and without feature gates) for quite some time now and it seems to be providing pretty good test coverage. |
I think we can! Let's mark as complete and if we ever want to expand coverage we can open a new ticket. |
Context: #1397 (comment)
The concern is:
How do we make sure that alpha and beta features work while enabled, but also don't break stable features when disabled. This is primarily a concern with e2e tests.
The flip side concern is that a matrix of feature gate testing seems extremely complicated and time consuming.
The text was updated successfully, but these errors were encountered: