Start testing Sociomantic ocean in pipeline#88
Start testing Sociomantic ocean in pipeline#88MartinNowak merged 7 commits intodlang:masterfrom mihails-strasuns:test-ocean-2
Conversation
|
Thanks for your pull request, @mihails-strasuns! We are looking forward to reviewing it, and you should be hearing from a maintainer soon. Some tips to help speed things up:
Bear in mind that large or tricky changes may require multiple rounds of review and revision. Please see CONTRIBUTING.md for more information. |
|
Good, now fails because ocean is built by default with deprecations-as-errors, which, of course, is not suitable for regression testing with upstream. Will require small tweak in our makefile. |
|
Nice, will have a look at pre-installing the dependencies with ansible, assuming that they don't change too often. |
Yes, I think at this point they change less often than once a year. Alternatively, you can enable docker on the CI server and script can fetch the very same image we use for our own CI tests. |
That could potentially require nested docker support, a.k.a. root on host, and thus rule out some VM slave options. Wouldn't settle on this easily. |
|
No problem, whatever suits you best. Btw there is no need to add workarounds for deprecation bit - I will update the PR as soon as sociomantic-tsunami/ocean#374 is merged which should be pretty soon :) |
vars/runPipeline.groovy
Outdated
| sed -i '/^override DFLAGS += -de$/d' Build.mak | ||
| git submodule update --init | ||
| make d2conv V=1 | ||
| make test V=1 DVER=2 F=production LDFLAGS=-L./libebtree/usr/lib/ |
There was a problem hiding this comment.
Shouldn't need LDFLAGS here if dependencies are pre-installed
|
Tagged https://github.com/sociomantic-tsunami/ocean/releases/tag/v4.0.0-alpha.1 and pushed commit to switch to it |
|
Thx, I'd prefer help with the failing tests. |
|
Can you run the same pipeline with released 2.077 to see if it is because of compiler or environment? |
|
Though environment is more likely - https://github.com/sociomantic-tsunami/ocean/blob/v3.x.x/test/sysstats/main.d#L68 I guess you have virtualized system where CPU numbers are not accessible? |
|
Ping @Burgos / @nemanja-boric-sociomantic - I think you are more familiar with stats module than me. |
|
Slaves are using LXD or KVM. |
|
I wonder if the problem is simply because the timing scheduling and CPU counting is different in LXD/KVM than on the bare metal machine. We'll try adding some busy loop there to spend some time in the CPU instead of yielding the control back. |
|
|
|
Hm, ok. Then we could just sleep for a bit more than one second/two seconds before getting the results. I don't think this will hurt developers much (and they could always |
Fixes unreliable stats test
|
Updated to 4.0.0-alpha.2, looking at build log |
|
Green! D-YAML has failed though :) |
|
Such a time to be alive! |
Yes, see dlang/dmd#7315 (comment) :/. |
|
Let's hope it doesn't run into any other issues on the KVM host, but since it works on Travis-CI/docker, I wouldn't really expect some. |
|
@MartinNowak I see. Do you want me to have a look into Jenkins instance taking over what Travis/CircleCI currently do? |
|
Let's see whether #90 works. |
|
Am I seeing correctly that merging this PR started failing the master? https://ci.dlang.io/blue/organizations/jenkins/dlang-org%2Fci/detail/master/47/pipeline |
|
Yes @Burgos, looks like it :/. Currently rerunning https://ci.dlang.io/blue/organizations/jenkins/dlang-org%2Fci/detail/master/48/pipeline. |
|
The timer loop looks correct to me. I think the problem is that we're checking for equality of the ProcUptime instances: https://github.com/sociomantic-tsunami/ocean/blob/v3.x.x/src/ocean/sys/stats/linux/ProcVFS.d#L209 which includes both |
|
(So the |
|
I think for now best course of action would be to disable this one specific test: diff --git a/Build.mak b/Build.mak
index 11eb0f0..f875f76 100644
--- a/Build.mak
+++ b/Build.mak
@@ -20,6 +20,10 @@ clean += .*.lst
TEST_FILTER_OUT += \
$C/test/collectd/main.d
+# fails with KVM, temporarily disabled
+TEST_FILTER_OUT += \
+ $C/test/sysstats/main.d
+
$O/test-%: override LDFLAGS += -lebtree
$O/test-filesystemevent: override LDFLAGS += -lrtIt will fix pipeline for now and we will talk about best way to fix actual test later this week among us. |
Recently (sociomantic-tsunami/ocean#321) we have enabled CI testing with vanilla upstream DMD compiler for WIP ocean major branch, as 2.077 provided necessary
Throwable.message().Would appreciate getting it to the list of automatically tested projects ;)