<div dir="ltr"><div dir="ltr">EXCLUDE_DEPRECATED_BEFORE_AND_ATOn Sat, Jan 22, 2022 at 1:31 PM Friedrich W. H. Kossebau <<a href="mailto:kossebau@kde.org">kossebau@kde.org</a>> wrote:<br></div><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">Hi, </blockquote><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<br>
seems that Gitlab CI is currently configured to show the green "Success" <br>
checkmark for pipeline runs even if unit tests are failing.<br></blockquote><div><br></div><div>That is correct, only compilation or other internal failures cause the build to show a failure result.</div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
Reasons seems to be that there Gitlab only knows Yay or Nay, without the <br>
warning state level known from Jenkins.<br></blockquote><div><br></div><div>Also correct.</div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
And given that quite some projects (sadly) maintain a few long-time failing <br>
unit tests, having the pipeline fail on unit tests seems to have been seen as <br>
too aggressive</blockquote><div><br></div><div>Correct again.</div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"> <br>
<br>
This of course harms the purpose of the unit tests, when their failures are <br>
only noticed weeks later, not e.g. at MR discussion time.<br></blockquote><div><br></div><div>Gitlab does note changes in the test suite as can currently be seen on <a href="https://invent.kde.org/frameworks/kio/-/merge_requests/708">https://invent.kde.org/frameworks/kio/-/merge_requests/708</a></div><div>Quoting the page:  "Test summary contained 33 failed and 16 fixed test results out of 205 total tests"</div><div><br></div><div>It does the same thing for Code Quality - "Code quality scanning detected 51 changes in merged results"</div><div> <br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<br>
Seeing how at least in KDE Frameworks first regressions sneaked in without <br>
someone noticing (nobody looks at logs when the surface shows a green <br>
checkmark, e.g. kcoreaddons, kwidgetsaddons, kio, purpose, krunner on openSUSE <br>
and possibly more have regressed in recent weeks, see <a href="http://build.kde.org" rel="noreferrer" target="_blank">build.kde.org</a>) this <br>
should be something to deal with better, right? </blockquote><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<br>
Bhushan gave two first ideas just now on #kde-sysadmin:<br>
> Well we can add a switch that repos can commit to saying test failure is <br>
build failure<br>
> Another alternative is we use bot to write a comment on MR<br>
<br>
IMHO, to give unit tests the purpose they have, we should by default to let <br>
test failures be build failures. And have projects opt out if they need to <br>
have some unit tests keep failing, instead of e.g. tagging them with expected <br>
failures or handling any special environment they run into on the CI.<br>
<br>
Your opinions?<br></blockquote><div><br></div><div>The switch will need to be around the other way i'm afraid as there are simply too many projects with broken tests right now.</div><div>The best place for that switch will be in .kde-ci.yml.</div><div><br></div><div>My only concern however would be abuse of this switch, much in the way that certain projects abuse EXCLUDE_DEPRECATED_BEFORE_AND_AT.</div><div>The last thing we would want would be for people to flip this switch and then leave their CI builds in a failing state - meaning that actual compilation failures would be missed (and then lead to CI maintenance issues)</div><div><br></div><div>Thoughts on that?</div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<br>
Cheers<br>
Friedrich<br></blockquote><div><br></div><div>Cheers,</div><div>Ben </div></div></div>