Skip to content
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

Results from WPCLI that allows implement in w.org #480

Closed

Conversation

davidperezgar
Copy link
Member

We need to give a result from WPCLI that fits meta team in order to execute this plugin in form submission.

This results fits the need asked by Meta #441 (comment), so we could implement as well as this #478 , and it would be the minimal needs to achieve that.

The results has a json format like this:
{"pass":true,"errors":[],"warnings":[]}

The Pass value is true if it has no errors.

I'd need some feedback if the approach is correct, or we could do something more.

@davidperezgar davidperezgar linked an issue Jun 28, 2024 that may be closed by this pull request
@joemcgill
Copy link
Member

As asked in #441 (comment)

I'm curious if the presence of any errors returned by the CLI command would be sufficient as a pass/fail signal, or if the command needs to also return a specific error code as well?

@davidperezgar
Copy link
Member Author

As asked in #441 (comment)

I'm curious if the presence of any errors returned by the CLI command would be sufficient as a pass/fail signal, or if the command needs to also return a specific error code as well?

I think is the easiest way. We have to be sure that errors haven't got any false positive.

Copy link

github-actions bot commented Jul 2, 2024

The following accounts have interacted with this PR and/or linked issues. I will continue to update these lists as activity occurs. You can also manually ask me to refresh this list by adding the props-bot label.

If you're merging code through a pull request on GitHub, copy and paste the following into the bottom of the merge commit message.

Co-authored-by: davidperezgar <[email protected]>
Co-authored-by: mukeshpanchal27 <[email protected]>
Co-authored-by: ernilambar <[email protected]>
Co-authored-by: dd32 <[email protected]>
Co-authored-by: swissspidy <[email protected]>
Co-authored-by: joemcgill <[email protected]>
Co-authored-by: felixarntz <[email protected]>
Co-authored-by: barrykooij <[email protected]>
Co-authored-by: bordoni <[email protected]>

To understand the WordPress project's expectations around crediting contributors, please review the Contributor Attribution page in the Core Handbook.

@davidperezgar davidperezgar changed the title WIK: Results from WPCLI that allows implement in w.org Results from WPCLI that allows implement in w.org Jul 3, 2024
Copy link
Member

@mukeshpanchal27 mukeshpanchal27 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks @davidperezgar for the PR! Let some feedbacks other then it looks good to me.

  • Fix composer phpmd errors.
    • Add @SuppressWarnings(PHPMD.ExcessiveClassComplexity) in class Plugin_Check_Command docblock.
    • Add @SuppressWarnings(PHPMD.CyclomaticComplexity) in check method docblck.
  • Additionally if you add Behat tests for new args then it would be great.

includes/CLI/Plugin_Check_Command.php Show resolved Hide resolved
includes/CLI/Plugin_Check_Command.php Outdated Show resolved Hide resolved
includes/CLI/Plugin_Check_Command.php Outdated Show resolved Hide resolved
@davidperezgar
Copy link
Member Author

Thanks for your suggestions!

@joemcgill
Copy link
Member

I don't particularly like the approach of creating a new output format specific for wporg if we are instead able to consume one of the exiting formats when passing the correct arguments to the CLI script.

Before trying to implement a solution here, can we get an answer from systems (e.g., @dd32) to the question asked in #441 (comment)? We also need to decide if #479 is a blocker to this issue, because we may not need a special CLI command at all if we can configure what errors are returned based on severity levels.

@davidperezgar davidperezgar requested review from dd32 and removed request for dd32 July 14, 2024 07:35
@davidperezgar
Copy link
Member Author

Related with #479 and #440 .

@mukeshpanchal27
Copy link
Member

@davidperezgar I have fixed PHPMD issues and added behat test for new argument.

@ernilambar
Copy link
Member

I tried this command:

wp plugin check foo-single.php --fields=line,column,code --format=wporg

Argument --fields is not respected when using wporg format.

@davidperezgar
Copy link
Member Author

Yes, and it's correct. The format for wporg is very strict and I shouldn't be customized.

@dd32
Copy link
Member

dd32 commented Aug 8, 2024

I don't see anything "wrong" here, but I don't see the purpose of it, other than to fix the fact that --format=json isn't a pure JSON output.

Instead of adding this for the purposes of adding it to w.org plugin submission, I'd probably just suggest fixing the existing json output, or request that we parse the existing json output.

My main issue with this PR is that:

'pass' => empty( $errors ) ? true : false,

Is completely useless. Pretty much every plugin throws up errors in plugin-check that are considered errors that aren't actually errors.

The original "A command that can be run, parsed, and provides a clear block or accept result" really still stands, and while this does do that, it still doesn't provide a the last part in any form that's inline with the plugin submission guidelines IMHO.

For example; Are this really something that should block a plugin submission?

| 0 | 0 | ERROR | outdated_tested_upto_header | Tested up to: 6.5 < 6.6 |
| 37 | 25 | ERROR | WordPress.WP.I18n.MissingTranslatorsComment | A function call to __() with texts containing placeholders was found, but was not accompanied by a "translators:" comment on the line above to clarify the meaning of the placeholders. |
| 59 | 21 | ERROR | WordPress.Security.EscapeOutput.ExceptionNotEscaped | All output should be run through an escaping function (see the Security sections in the WordPress Developer Handbooks), found '__'. |
| 114 | 30 | ERROR | WordPress.WP.AlternativeFunctions.json_encode_json_encode | json_encode() is discouraged. Use wp_json_encode() instead. |

So I guess actually, this all comes back to #479 instead as the main blocker.

@davidperezgar davidperezgar modified the milestones: 1.1.0, 1.2.0 Aug 28, 2024
@davidperezgar
Copy link
Member Author

@dd32 Do you need something else about this PR? Thanks.

Copy link
Member

@dd32 dd32 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@dd32 Do you need something else about this PR? Thanks.

Nope, It was just waiting on merging the other needed PRs AFAIK.

Copy link
Member

@dd32 dd32 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Let's not merge this, until it's determined to be needed. See my comment above on #441

@davidperezgar
Copy link
Member Author

Ok!

@ernilambar
Copy link
Member

Probably we dont need this PR now. It seems it is possible to integrate in org without new format.

@dd32
Copy link
Member

dd32 commented Sep 27, 2024

Closing, we've taken a different direction in implementation. See https://meta.trac.wordpress.org/ticket/7778

@dd32 dd32 closed this Sep 27, 2024
@davidperezgar
Copy link
Member Author

Ok! No problem, if the result is the same! ;)

@swissspidy swissspidy deleted the 441-plugin-review-team-output-for-wporg-form branch September 28, 2024 15:13
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Infrastructure Issues for the overall plugin infrastructure
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Plugin Review Team: Output for WP.org form
6 participants