-
Notifications
You must be signed in to change notification settings - Fork 1.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
Enable circleci to run tests on windows #976
Conversation
Codecov Report
@@ Coverage Diff @@
## master #976 +/- ##
==========================================
+ Coverage 85.65% 85.67% +0.01%
==========================================
Files 188 188
Lines 13149 13149
==========================================
+ Hits 11263 11265 +2
+ Misses 1435 1434 -1
+ Partials 451 450 -1
Continue to review full report at Codecov.
|
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 that when running the go test
command successfully on Windows, we still have a number of tests that don't run as per #854.
In addition to that, note that the testbed processes don't get terminated properly on Windows so you will encounter a stall until that's fixed (I wrote a fix/hack for that locally that I can upload when I get a chance).
Thanks for looking into this btw! |
I created a PR to fix the unit tests that are failing on Windows: #983 There is still an issue with running the testbed on Windows though. SIGTERM is not supported on Windows, so the agent process will get terminated via SIGKILL (the code currently waits 10s to perform a SIGKILL if SIGTERM fails - it would be straightforward to clean this code up so that it calls SIGKILL straight away on Windows). If the test succeeds, everything works okay. But in the case that a test fails due to CPU/Mem Usage, the agent is forcefully killed and the load generator receives an "Unavailable" gRPC response. It then goes into an exponential backoff retry strategy with a 15m max timeout, before checking if a signal has been sent to stop generating data. This is what I thought was a "stall" as mentioned earlier. I guess the SIGTERM must result in a nicer shutdown of the gRPC channel that prevents similar issues on other OSs (I didn't look into the details of how this works). This could probably be fixed by just running the |
6c2cb4c
to
4bdf777
Compare
Signed-off-by: Bogdan Drutu <bogdandrutu@gmail.com>
@james-bebbington for the moment I am not running testbed on windows but this should be good enough. |
@dmitryax PTAL |
- run: | ||
name: Upgrade golang | ||
shell: powershell.exe | ||
command: choco upgrade golang --version=1.14.3 |
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.
Would be good if I can cache this operation since it takes a while. If anyone knows how, I would be happy to review a followup PR :)
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.
A few of the tests are abnormally slow on Windows as well, I'll try to take a look into that if I get a chance later.
Edit: This PR should shave off ~1 min: #1009
Signed-off-by: Bogdan Drutu <bogdandrutu@gmail.com>
* Remove grpctrace package This is being moved to the contrib repo with open-telemetry/opentelemetry-go-contrib#189 as part of open-telemetry#976. * Update Changelog * Remove the grpc example Moved to contrib repo * Fix spelling error * Update Changelog
* make the service port for the webhook configurable * service port * version bump * version bump the examples
No description provided.