-
Bug
-
Resolution: Fixed
-
Minor
-
4.3
-
MOODLE_403_STABLE
-
MOODLE_403_STABLE
-
- Verify that all the behat jobs (specifically the "goutte" ones) continue passing perfectly for the master branch. Just that. Real browser (chrome, firefox) aren't affected by the changes in this issue.
Already commented @ MDL-76016 and MDL-78800, Goutte has been archived / abandoned:
- GitHub: https://github.com/FriendsOfPHP/Goutte
- Packagist: https://packagist.org/packages/fabpot/goutte
And the very same happens with the behat's mink driver that uses it:
- GitHub: https://github.com/minkphp/MinkGoutteDriver
- Packagist: https://packagist.org/packages/behat/mink-goutte-driver
Since recently, when installing composer dependencies, it also points us about that and to the recommended replacement (BrowserKit):
Package behat/mink-goutte-driver is abandoned, you should avoid using it. Use behat/mink-browserkit-driver instead.
Package fabpot/goutte is abandoned, you should avoid using it. Use symfony/browser-kit instead.
More yet, our current goutte driver is already using BrowserKit (you can see how it's already installed), because Goutte 4 (since MDL-76016) is just a wrapper over BrowserKit. So we have been using it all these months without any problem.
Also, since then, I've been periodically running the changes proposed here @ CIs without any problem.
So, the switch should be 99% straightforward. Surely the more complex part will be to kill all the occurrences of Goutte here and there.
Initially I'd propose to apply this change only to master (4.3dev). Although it's completely safe to do it for 401_STABLE and up, there may be harcoded configurations out there still using "goutte" (that are going to stop working). Backporting could be considered later, if needed to.
Summary:
1. Switch from mink-goutte-driver to mink-browserkit-driver.
2. (couple of PRs merged) Prepare CIs to support the new "browserkit" browser/driver.
3. Review all tools making mentions to "goutte" and replace them by "browserkit".
4. Review all the docs making mentions to "goutte" and replace them by "browserkit".
Post-integration:
- Rename all the "goutte" jobs in master branches to "NonJS" - agreed within the team.
- Rename all the bulk pre-launchers to show "NonJS".
- (commit) - In local_ci (tracker automations)
- In jenkins (pre-launch jobs)