magento / magento/magento2-functional-testing-framework

Wider Magento version support

Open
#881 2 comments 1 reaction 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
PHP
Stars
154
Forks
134
PR merge metrics
No merged PRs in 30d

Description

### Steps to reproduce

1. Try to install the latest version of magento/magento2-functional-testing-framework with the same feature set across multiple versions of Magento

### Expected result
1. The latest release of magento/magento2-functional-testing-framework should be installable in a wide range of Magento versions

### Actual result
1. magento/magento2-functional-testing-framework 3.8.0 only works with 2.4.4
2. For 2.4.3-p1 you need to go down all the way to magento/magento2-functional-testing-framework: 3.5.1.

### Suggested solution
When using dependencies that are used in common with magento/product-* please use wider dependency ranges. So far I have seen `monolog/monolog` and `guzzlehttp/guzzle` causing incompatibilities, but I also do not believe `magento/magento2-functional-testing-framework` uses particular features which would prevent dependency ranges covering `monolog ^1 || ^2` as well as `guzzle ^6 || ^7`

```
Your requirements could not be resolved to an installable set of packages.

Problem 1
- Root composer.json requires magento/product-community-edition 2.4.3-p1 -> satisfiable by magento/product-community-edition[2.4.3-p1].
- Conclusion: don't install monolog/monolog 1.19.0 (conflict analysis result)
- Conclusion: don't install monolog/monolog 1.20.0 (conflict analysis result)
- Conclusion: don't install monolog/monolog 1.21.0 (conflict analysis result)
- Conclusion: don't install monolog/monolog 2.3.2 (conflict analysis result)
- Conclusion: don't install monolog/monolog 1.22.0 (conflict analysis result)
- Conclusion: don't install monolog/monolog 1.22.1 (conflict analysis result)
- Conclusion: don't install monolog/monolog 1.23.0 (conflict analysis result)
- Conclusion: don't install monolog/monolog 2.3.3 (conflict analysis result)
- Conclusion: don't install monolog/monolog 1.24.0 (conflict analysis result)
- Conclusion: don't install monolog/monolog 1.25.0 (conflict analysis result)
- Conclusion: don't install monolog/monolog 1.25.1 (conflict analysis result)
- Conclusion: don't install monolog/monolog 2.3.4 (conflict analysis result)
- Conclusion: don't install monolog/monolog 1.25.2 (conflict analysis result)
- Conclusion: don't install monolog/monolog 1.25.3 (conflict analysis result)
- Conclusion: don't install monolog/monolog 1.25.4 (conflict analysis result)
- Conclusion: don't install monolog/monolog 2.3.5 (conflict analysis result)
- Conclusion: don't install monolog/monolog 1.25.5 (conflict analysis result)
- Conclusion: don't install monolog/monolog 1.26.0 (conflict analysis result)
- Conclusion: don't install monolog/monolog 1.26.1 (conflict analysis result)
- magento/product-community-edition 2.4.3-p1 requires magento/framework 103.0.3-p1 -> satisfiable by magento/framework[103.0.3-p1].
- Root composer.json requires magento/magento2-functional-testing-framework 3.6.0 -> satisfiable by magento/magento2-functional-testing-framework[3.6.0].
- magento/framework 103.0.3-p1 requires monolog/monolog ^1.17 -> satisfiable by monolog/monolog[1.17.0, ..., 1.26.1].
- You can only install one version of a package, so only one of these can be installed: monolog/monolog[1.0.0, ..., 1.26.1, 2.0.0, ..., 2.3.5].
- magento/magento2-functional-testing-framework 3.6.0 requires monolog/monolog ^2.3 -> satisfiable by monolog/monolog[2.3.0, ..., 2.3.5].
- Conclusion: don't install monolog/monolog 2.3.1 (conflict analysis result)
```

```
Your requirements could not be resolved to an installable set of packages.

Problem 1
- Root composer.json requires magento/product-community-edition 2.4.3-p1 -> satisfiable by magento/product-community-edition[2.4.3-p1].
- Conclusion: don't install guzzlehttp/guzzle 6.5.0 (conflict analysis result)
- Conclusion: don't install guzzlehttp/guzzle 6.5.1 (conflict analysis result)
- Conclusion: don't install guzzlehttp/guzzle 6.5.2 (conflict analysis result)
- Conclusion: don't install guzzlehttp/guzzle 7.4.1 (conflict analysis result)
- Conclusion: don't install guzzlehttp/guzzle 6.5.3 (conflict analysis result)
- Conclusion: don't install guzzlehttp/guzzle 6.5.4 (conflict analysis result)
- Conclusion: don't install guzzlehttp/guzzle 6.5.5 (conflict analysis result)
- Root composer.json requires magento/magento2-functional-testing-framework 3.8.0 -> satisfiable by magento/magento2-functional-testing-framework[3.8.0].
- magento/product-community-edition 2.4.3-p1 requires guzzlehttp/guzzle ^6.3.3 -> satisfiable by guzzlehttp/guzzle[6.3.3, ..., 6.5.5].
- You can only install one version of a package, so only one of these can be installed: guzzlehttp/guzzle[v1.0.3, v1.0.4, v2.0.0, ..., v2.8.8, v3.0.0, ..., v3.8.1, 4.0.0, ..., 4.2.4, 5.0.0, ..., 5.3.4, 6.0.0, ..., 6.5.5, 7.0.0, ..., 7.4.1].
- magento/magento2-functional-testing-framework 3.8.0 requires guzzlehttp/guzzle ^7.3.0 -> satisfiable by guzzlehttp/guzzle[7.3.0, 7.4.0, 7.4.1].
- Conclusion: don't install guzzlehttp/guzzle 7.4.0 (conflict analysis result)
```

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reviewing the dependency constraints for monolog/monolog and guzzlehttp/guzzle and reproduce Composer resolution with Magento 2.4.3-p1 and the framework versions named in the report. Done means the latest framework release installs with the same feature set across the stated Magento versions without dependency conflicts.

Written by the indexing model from the issue text.

Assessment

Tech stack
php
Domain
testing-qa
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
45/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.