magento / magento2-functional-testing-framework

Magento2 Functional Testing Framework
Other
155 stars 132 forks source link

Console command build:project starts subprocess with system-default PHP instead of the runtime PHP #915

Open kanevbg opened 10 months ago

kanevbg commented 10 months ago

Running the console command build:project with non-default PHP is not working as expected because the command runs sub-process vendor/bin/codecept build without specifying the PHP binary to run with, that in results makes the composer auto-loader utilize the default PHP binary from the system, which is not expected as we may have executed the build:project command with non system default PHP, eg:

php81 vendor/bin/mftf build:project

Preconditions

No preconditions really, it's logical issues, but to see a practical problem you may use PHP 7.4 (or older) as default system PHP and install the MFTF with PHP 8.1 binary not aliased as php in the bash environment.

Expected result

Successful build.

Actual result

Fatal error: Composer detected issues in your platform: Your Composer dependencies require a PHP version ">= 8.1.0". You are running 7.4.29. in vendor/composer/platform_check.php on line 24

In BuildProjectCommand.php line 106:

  The codecept build command failed unexpectedly. Please see the above output for more details.                                                                                                
m2-assistant[bot] commented 10 months ago

Hi @kanevbg. Thank you for your report. To speed up processing of this issue, make sure that you provided sufficient information. Add a comment to assign the issue: @magento I am working on this


Join Magento Community Engineering Slack and ask your questions in #github channel.