-
Notifications
You must be signed in to change notification settings - Fork 3.5k
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: Convert all Go tests into a single job #13046
Conversation
Codecov ReportAll modified and coverable lines are covered by tests ✅
Additional details and impacted files@@ Coverage Diff @@
## develop #13046 +/- ##
===========================================
- Coverage 68.78% 66.77% -2.02%
===========================================
Files 56 56
Lines 4665 4665
===========================================
- Hits 3209 3115 -94
- Misses 1274 1378 +104
+ Partials 182 172 -10
Flags with carried forward coverage won't be shown. Click here to find out more.
|
Takes all the go-e2e and go-test jobs and combines them into one single super-job. This has the following benefits: 1. We can centralize all config for Go tests in one place and simplify our CI pipeline. 2. It leaves parallelism up to the Go runtime, which is more efficient. 4. It makes our test reporting more accurate. As part of this PR, I also: 1. Created a new resource class just for Go tests. It runs on the large Latitude runner, but limits the number of parallel go test jobs to 3 to prevent resource starvation. 2. Enabled test retries on `gotestsum`. This should reduce the number of flakes we see from the Go tests by retrying them up to 2 times in the event that they fail. Failures are still captured by the test reporting, so we can address them.
5facdff
to
dce9170
Compare
# constraint that gotestsum does not currently (nor likely will) accept files from different packages when building. | ||
JUNIT_FILE=../tmp/test-results/<<parameters.module>>_<<parameters.target>>.xml JSON_LOG_FILE=../tmp/testlogs/test.log make <<parameters.target>> | ||
working_directory: <<parameters.module>> | ||
export OP_E2E_SKIP_SLOW_TEST=true |
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.
We've lost coverage for slow running tests. Working on a fix.
Takes all the go-e2e and go-test jobs and combines them into one single super-job. This has the following benefits:
As part of this PR, I also:
gotestsum
. This should reduce the number of flakes we see from the Go tests by retrying them up to 2 times in the event that they fail. Failures are still captured by the test reporting, so we can address them.