Brain-WP/BrainMonkey

Release 2.6.1 ?

jrfnl opened this issue ยท 15 comments

jrfnl commented

@gmazzap As Mockery has now also released PHP 8.1 compatible versions and there are some fixes which have been merged, but not released yet in the milestone - most notably a fix for #94 -, I was wondering if now might be a good time to release a new patch version ?

This would allow projects which start testing their own projects for PHP 8.1 compatibility over the next few months to also benefits of the fixes in BrainMonkey when they update their dependencies.

Refs:

jrfnl commented

Shoot. Looks like there are still two PHP 8.1 issues which need investigation:

1) Brain\Monkey\Tests\Unit\Name\ClosureParamStringFormTest::testFromReflectionToString7
TypeError: Mockery_3_ReflectionParameter::getType(): Return value must be of type ?ReflectionType, string returned

/home/runner/work/BrainMonkey/BrainMonkey/src/Name/ClosureParamStringForm.php:82
/home/runner/work/BrainMonkey/BrainMonkey/tests/cases/unit/Name/ClosureParamStringFormTest.php:100

2) Brain\Monkey\Tests\Functional\FunctionsTest::testReDefinePredefinedStubsWithWhen
ctype_alpha(): Argument of type int will be interpreted as string in the future

/home/runner/work/BrainMonkey/BrainMonkey/vendor/antecedent/patchwork/src/CallRerouting.php:285
/home/runner/work/BrainMonkey/BrainMonkey/vendor/antecedent/patchwork/src/CallRerouting.php:317
/home/runner/work/BrainMonkey/BrainMonkey/vendor/antecedent/patchwork/src/Stack.php:27
/home/runner/work/BrainMonkey/BrainMonkey/vendor/antecedent/patchwork/src/CallRerouting.php:309
/home/runner/work/BrainMonkey/BrainMonkey/inc/wp-helper-functions.php:99
/home/runner/work/BrainMonkey/BrainMonkey/tests/cases/functional/FunctionsTest.php:62

https://github.com/Brain-WP/BrainMonkey/runs/3708928026?check_suite_focus=true

jrfnl commented

I've investigated both the above test failures, Both were due to bugs in the test suite, not in the actual code.

PR #105 fixed the first, PR #106 will fix the second.

Any timeframe for an actual release of this?

@jrfnl Since you mostly worked on this, do you think is all set to release 2.6.1?

jrfnl commented

@jrfnl Since you mostly worked on this, do you think is all set to release 2.6.1?

I think releasing 2.6.1 would be a great idea! Getting the new feature which was added in PR #94 and its follow-up PRs, out into the world would be the main reason for the release, but it also makes for a nice moment to communicate that as far as we've seen based on tests included in the repo, as well tests with repos using this package, all currently known PHP 8.1 issues have been addressed.

I just submitted #109 as a quick update of Patchwork might still be a good idea as there were still some nasty PHP 8.1 issues which were fixed in the last few releases, but other than that, as far as I'm concerned, we're good to go.

jrfnl commented

@gmazzap Just one more thought on this: should we adjust the Mockery restraints to only allow for PHP 8.1 compatible versions (which still match the minimum supported PHP version for BrainMonkey) ? I'm not sure how the current restraint was determined.

@jrfnl I remebber there were some issues with Mockery 2, and I needed funcitonalities in Mockery 0.9+.

What would be the PHP 8.1 compatible versions? I guess we can try change the requirements and run the test suite. I'm ok to change if the tests stay green.

jrfnl commented

What would be the PHP 8.1 compatible versions? I guess we can try change the requirements and run the test suite. I'm ok to change if the tests stay green.

"mockery/mockery": "^1.3.5 || ^1.4.4" (see links above in the original issue description)

As there is no committed composer.lock file and the CI set up does not run the tests against --prefer-lowest, we are basically already running the tests against those versions and they pass.
(though it may not be a bad idea to adjust the CI to run against both stable and lowest - happy to send in a PR)

though it may not be a bad idea to adjust the CI to run against both stable and lowest

Was thinking the same

happy to send in a PR

Happy to receive it :)

jrfnl commented

Will send it in later today

jrfnl commented

@gmazzap Looking at the workflow now - mind if I make some more extensive changes ?

@jrfnl Do what you wish :)

jrfnl commented

@gmazzap Now those PRs of today have been merged, I think we can be pretty confident that BrainMonkey is ready for PHP 8.1. As far as I'm concerned, there's is nothing stopping you from releasing version 2.6.1.

Thank you very much @jrfnl