Re: [Wikitech-l] Deprecation + phan issue

2017-12-19 Thread Brian Wolff
I agree with this. Splitting the deprecation phan issues out to a separate non-voting job sounds like a good idea (and should be easily supported by phan with its issue whitelist/blacklist config directive) Ideally we would have a phan plugin that generates warnings for hard deprecations

Re: [Wikitech-l] Deprecation + phan issue

2017-12-19 Thread Guillaume Lederrey
I'm going to plug my favorite tool: https://www.sonarqube.org SonarQube can have rules about breaking builds that are a bit more complex than most tools. In particular, it can fail only if violations happen on code you actually touched. In this specific case, it means you could have a set of

Re: [Wikitech-l] Deprecation + phan issue

2017-12-19 Thread James Hare
I’m not entirely familiar with how we use Phan, but if it’s like the other tests we run with Gerrit, what we could do is have a test for deprecated APIs that passes or fails as you might expect, but have it be a non-voting test. This way a failure is a signal to check something out, but it

[Wikitech-l] Deprecation + phan issue

2017-12-19 Thread Stas Malyshev
Hi! I've noticed a certain problem in our workflow that I'd like to discuss. From time to time, we deprecate certain APIs in core or extensions. The idea of deprecation is that we have gradual transition - existing code keeps working, and we gradually switch to the new API over time, instead of

Re: [Wikitech-l] Many spurious RefreshLinksDynamic jobs in Queue

2017-12-19 Thread Brian Wolff
DynamicRefreshLinks jobs are meant in cases where links vary pretty much randomly (e.g. you have something on the page causing a low cache time). The idea being that code like [[category:Foo {{CURRENTHOUR}}]] should have categories refreshed regularly and not just during edit. The

[Wikitech-l] Many spurious RefreshLinksDynamic jobs in Queue

2017-12-19 Thread Michael Erdmann
Hello fellow MW developers, in a private Wiki I have strange issues with refreshLinksDynamic Jobs, that pop up apparently without reason. In particular I even have a loop between 2 pages. After page 1 is refreshed MW thinks it needs to refresh page 2. And after MW refreshed it, I get page 1 in