-
Notifications
You must be signed in to change notification settings - Fork 115
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
Use KinD clusters in integration tests for presubmits #2831
Conversation
Does the PR have any schema changes?Looking good! No breaking changes found. |
Codecov ReportAll modified and coverable lines are covered by tests ✅
Additional details and impacted files@@ Coverage Diff @@
## master #2831 +/- ##
=======================================
Coverage 26.84% 26.84%
=======================================
Files 53 53
Lines 7722 7722
=======================================
Hits 2073 2073
Misses 5476 5476
Partials 173 173 ☔ View full report in Codecov by Sentry. |
2df9f8f
to
fcfbbb4
Compare
76a98bb
to
bd0f58d
Compare
8cd5795
to
c9924b4
Compare
Some questions:
|
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.
Nit: Seems like we are exploiting the --short
flag, not to "tell long-running tests to shorten their run time" but to filter incompatible tests.
Ideally we'd update the tests to be compatible, e.g. by using a clusterIP.
My main feedback is that I would prefer we keep cluster creation outside of the go test code, e.g. by using a GH action in the step immediately preceding test execution.
c9924b4
to
c80f2f8
Compare
c80f2f8
to
b945ece
Compare
b945ece
to
6f8196d
Compare
After offline discussions, I've decided to opt for cluster creation in the CI job instead for now and parking this approach. We might revisit this in the future. |
Fwiw, most of the tests that are skipped due to not being passable in KinD in their current state are also long running tests. |
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.
Note: changes in this file will need to be replicated in ci-mgmt. It is included here for faster feedback loop.
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!
### Proposed changes This PR switches the underlying test infrastructure to provision KinD clusters for PR checks. This will drastically speed up the feedback loop from the current ~45 mins to 25 mins. Furthermore, this also pushes the cluster creation step into the test job to enable re-running only the failed job should a test flake occur. ## Changes made: - Updated the GHA workflow to run PR checks in Kind clusters to reduce feedback loop - Note: post-submit checks still run against a GKE cluster as some test cases can't don't pass in KinD - Updated existing tests to either work with Kind if they are simple, or to be skipped if the test needs a full cloud k8s cluster - Broke apart the Golang tests to run concurrently as GH Action workers now do not OOM - Fixed some hard-coded test logic that breaks on newer k8s versions ### Related issues (optional) Fixes: #2243 (cherry picked from commit 101fcfb)
Proposed changes
This PR switches the underlying test infrastructure to provision KinD clusters for PR checks. This will drastically speed up the feedback loop from the current ~45 mins to 25 mins. Furthermore, this also pushes the cluster creation step into the test job to enable re-running only the failed job should a test flake occur.
Changes made:
Related issues (optional)
Fixes: #2243