Re: [Wikitech-l] phan (new static analysis tool) is now voting on MediaWiki core

2016-12-13 Thread Erik Bernhardson
Getting Phan voting is a great first step, but we need everyone's help to
improve the strictness of analysis we apply. For this initial rollout Phan
is only voting on critical errors. These are typically PHP fatal errors
like referencing a class that doesn't exist (missing use statement?) and
calling methods that don't exist (fat fingers? Incomplete refactor?).

I'll soon have merged a change that reduces the minimum error level from
critical to low, and adds a blacklist of all issue types that currently
exist. Please take a look at tests/phan/config.php and choose a type to
fix.  There is a comment with each item that says how many exist. Remove
the item from the blacklist, fix the issues, and get it merged to
strengthen the analysis we apply to all patches.

I should also note that Phan isn't trying to guarantee that code is
correct. It is trying to find code that is most likely to be incorrect.
There are occasionally false positives but that's life. A patch
implementing per line issue suppression is being worked on to address these.

On Dec 12, 2016 11:24 PM, "Legoktm"  wrote:

> Hi,
>
> On 12/12/2016 10:03 PM, Sam Wilson wrote:
> > Is it possible now to add Phan to extensions' CI as well?
>
> That's the next step :). Filed
>  for it.
>
> -- Legoktm
>
> ___
> Wikitech-l mailing list
> Wikitech-l@lists.wikimedia.org
> https://lists.wikimedia.org/mailman/listinfo/wikitech-l
___
Wikitech-l mailing list
Wikitech-l@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/wikitech-l

Re: [Wikitech-l] phan (new static analysis tool) is now voting on MediaWiki core

2016-12-12 Thread Legoktm
Hi,

On 12/12/2016 10:03 PM, Sam Wilson wrote:
> Is it possible now to add Phan to extensions' CI as well?

That's the next step :). Filed
 for it.

-- Legoktm

___
Wikitech-l mailing list
Wikitech-l@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/wikitech-l

Re: [Wikitech-l] phan (new static analysis tool) is now voting on MediaWiki core

2016-12-12 Thread Stas Malyshev
Hi!

> There's documentation on mediawiki.org[3] about how it is currently
> configured, and how to set it up locally. You'll need PHP 7 with the ast
> extension to actually run phan. If that's not possible for your system,
> you can rely on jenkins to run it for you.

I wonder how hard would it be to add php7/phan to mediawiki-vagrant?

-- 
Stas Malyshev
smalys...@wikimedia.org

___
Wikitech-l mailing list
Wikitech-l@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/wikitech-l

Re: [Wikitech-l] phan (new static analysis tool) is now voting on MediaWiki core

2016-12-12 Thread Sam Wilson
This is brilliant! :-)

Is it possible now to add Phan to extensions' CI as well?


On 13 December 2016 at 10:41, Legoktm  wrote:

> Hi!
>
> Thanks to some awesome work by Erik Bernhardson, phan[1], a new static
> analysis tool, is now voting[2] on MediaWiki core patches.
>
> It's significantly more advanced than any of our other current tools,
> and should help identify some types of errors. It uses PHP 7's AST to
> process code, but is capable of analyzing PHP5 code.
>
> There's documentation on mediawiki.org[3] about how it is currently
> configured, and how to set it up locally. You'll need PHP 7 with the ast
> extension to actually run phan. If that's not possible for your system,
> you can rely on jenkins to run it for you.
>
> [1] https://github.com/etsy/phan
> [2] https://phabricator.wikimedia.org/T132636
> [3] https://www.mediawiki.org/wiki/Continuous_integration/Phan
>
> -- Legoktm
>
> ___
> Wikitech-l mailing list
> Wikitech-l@lists.wikimedia.org
> https://lists.wikimedia.org/mailman/listinfo/wikitech-l




-- 
User:SWilson (WMF) 
Community Tech
Fremantle, Western Australia
___
Wikitech-l mailing list
Wikitech-l@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/wikitech-l

[Wikitech-l] phan (new static analysis tool) is now voting on MediaWiki core

2016-12-12 Thread Legoktm
Hi!

Thanks to some awesome work by Erik Bernhardson, phan[1], a new static
analysis tool, is now voting[2] on MediaWiki core patches.

It's significantly more advanced than any of our other current tools,
and should help identify some types of errors. It uses PHP 7's AST to
process code, but is capable of analyzing PHP5 code.

There's documentation on mediawiki.org[3] about how it is currently
configured, and how to set it up locally. You'll need PHP 7 with the ast
extension to actually run phan. If that's not possible for your system,
you can rely on jenkins to run it for you.

[1] https://github.com/etsy/phan
[2] https://phabricator.wikimedia.org/T132636
[3] https://www.mediawiki.org/wiki/Continuous_integration/Phan

-- Legoktm

___
Wikitech-l mailing list
Wikitech-l@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/wikitech-l