New release for providing Symfony 4 support
adiq opened this issue ยท 41 comments
It would be great to release new version of Mink to provide Symfony 4 support.
Is there anything that needs to be done to tag a new release?
I think there is nothing to do, as 808702d fixes the dependencies problem. I'll try to test it on real project and will let you know.
Well, before making new releases for Mink packages, I would like to make CI green for the different drivers (IIRC, the Selenium2Driver CI has issues currently)
@adiq did you manage to get Sessions to work?
I'm getting:
Specify session name to get
and is $sessions
(https://github.com/minkphp/Mink/blob/master/src/Mink.php#L36) is actually empty... :/
I'm getting same error Specify session name to get (InvalidArgumentException)
. Any update?
I will look into this when I will have some spare time. Did you try to revert mentioned commit and see if the issue persists?
I got past that error by adding the line below
default:
suites:
default:
paths: ["%paths.base%/features/temp/home.feature"]
local_screenshots: false
contexts: [ThinkWellContext]
extensions:
Behat\MinkExtension:
browser_name: 'chrome'
base_url: https://twlw.wpengine.com
default_session: cross_browser_testing #### Added this line
cross_browser_testing:
Isn't the CI green? I can't see any error.
@DonCallisto , in the #757 (comment) @stof meant driver repos. Almost all of them are red currently.
Got it, so we should try to fix them IIUC
Any release planned yet ? It hurts me to require a package as dev-master
Nothing has changed since #757 (comment). I could really use some help on getting those driver tests green again.
I got past that error by adding the line below
default: suites: default: paths: ["%paths.base%/features/temp/home.feature"] local_screenshots: false contexts: [ThinkWellContext] extensions: Behat\MinkExtension: browser_name: 'chrome' base_url: https://twlw.wpengine.com default_session: cross_browser_testing #### Added this line cross_browser_testing:
That line doesn't seem to do the trick.
I've created a repo that demonstrates the issue: https://github.com/kochen/behat-mink-session (with travis-ci
).
This is blocking every projects using symfony/flex with the composer extra config symfony.require: "4.2.*"
According to what @stof stated here #757 (comment), this requires the following issues to be fixed:
Not sure I get why it needs to wait for issues in selenium driver and zombie driver to be fixedโฆ
I think a lot of people now use Mink with the chrome headless driver.
Also, I think that making mink not installable on sf4 is quite like dooming Mink (and so Behat) for the Symfony community :/
definitely. drivers are suggestions, not dependencies. nothing ties the drivers and the release together as i see it. It really is bad for both mink, behat and symfony that sf4 and mink aren't compatible.
Software going to production cannot possibly set minimum stability to something else than stable
@BigZ I agree with the meaning of your comment though Mink should be a development dependency so there's no effect on production environment whatsoever.
Dear friends,
We are encountering this error when using Symfony 4.3 when using the flex configuration "4.3.*". Similar to what julien described above.
- behat/mink v1.7.1 requires symfony/css-selector ~2.1|~3.0 -> no matching package found.
- behat/mink v1.7.0 requires symfony/css-selector ~2.1 -> no matching package found.
- Installation request for behat/mink ^1.7 -> satisfiable by behat/mink[v1.7.0, v1.7.1].
Could this be picked up as part of this ticket? Thanks!
Is there any progress expected soon? Those incompatibilities are really blocking ci pipelines, if you rely on those tests before deploying to prod!
@BigZ as you can easily see by yourself, @stof is the only one that's quite still active in open source.
My guess is, as I already saw Stof taking a step back from some projects he was following (like Prophecy for instance), he's focusing only on some kind of projects (maybe the ones with more download, more active contributors overall, more ... whatever; it's only a guess).
The only alarming thing is that if current owners can't follow anymore their projects - that's quite an understendable matter from my standpoint - should try to find someone else who can take the projects back to life.
But, maybe, I'm missing the bigger picture so is just a speculation of mine.
@DonCallisto , @kochen , @BigZ : As a maintainer I review PRs, but IMO for PR to be merged it needs to be reviewed by 2 maintainers at least.
If I'm not mistaken, then:
- Selenium2 driver - has PR to make tests green (in review), that also changes min PHP version to 7.x for that driver
- Zombie driver - build is failing
Other non-deprecated drivers have successful builds.
@aik099 my question was more related to the actual usage and to better understand the requiement for this version bump (cause in the general sense it works with Symfony 4 just fine).
The interesting question to you would be:
are there 2 active maintainers in this project?
As a maintainer I review PRs, but IMO for PR to be merged it needs to be reviewed by 2 maintainers at least.
I totally agree with this but if no other mantainers are active, that basically means that the project is already died.
Moreover I agree with this comment #757 (comment) but I'm still not sure to have the complete picture so I can possibly miss something.
So what does this discussion basically mean. Shall we move away from behat tests in symfony context, because there is no one who like to maintain this project? Or do I oversee other options to make behat tests run? Any opinions?
Actually we can make all people happy here.
Instead of using approach, where driver releases must be in sync with Mink releases itself (suggested in #757 (comment)) we can use different approach: drivers and Mink itself are released independently as long as no BC breaks in driver API happen.
If that sounds good enough we need to:
- inspect all commits made since last release to create change log and look for BC breaks
- depending on BC break presence we decide to make new release as 1.7.2 (no BC breaks) or 2.0.0 (has BC breaks)
P.S.
That would make people in this discussion happy even with 1 semi-active maintainer.
@aik099 or we tag it has 2.0.0 even without BC breaks and we sail to a fresh (re)start.
if we have no BC breaks, we should not tag it as 2.0. That would make it painful for users, as any library depending on Mink would have to be updated first to allow the new major version, without any need for a major version.
@BigZ @adiq @aik099 are you all directly requiring
behat/mink: "1.7"
in your projects?
i use dev-master
we can use different approach: drivers and Mink itself are released independently as long as no BC breaks in driver API happen
yes please. it's in the composer "suggest section" and mink is not tied to a specific version of them.
if we have no BC breaks, we should not tag it as 2.0. That would make it painful for users, as any library depending on Mink would have to be updated first to allow the new major version, without any need for a major version.
Definitely. but we have what looks like a BC break there v1.7.1...master#diff-b5d0ee8c97c7abd7e3fa29b9a27d1780L19
(css selector version is set to a minimum of 2.7 when it was 2.1 before)
It's the only one i found, tho. and it might be easy to fix.
@kochen Sorry for the late response. Currently, I am using dev-master
pinned to a specific commit for better stability. The release is not crucial, but I guess everyone would prefer to use versioned tag then branch even if it's development dependency only.
Ping me if I could be helpful in some way here ๐
I am also using dev-master now. Thanks @adiq.
Here's my working set of packages that does not cause conflicts with SF 4.3.8
https://pastebin.com/9q6niy4q
@BigZ requiring a higher version of a dependency is not a BC break - if you're stuck on CSS Selector 2.1, then Mink won't upgrade, so nothing will break. It's same for PHP version: https://www.doctrine-project.org/2017/07/25/php-7.1-requirement-and-composer.html
However, it's not a good practice to change requirements within patch releases (eg. 1.0.x), because dependants should be able to upgrade without any problems if a security release is published.
Therefore it should be possible to just tag a new minor version.
Meanwhile also sf5 is out there
@stof @aik099 what's holding us from creating new release?
Build on MinkSelenium2Driver is almost green. Seems that it got broken recently:
All the community really wants to move forward. Let's make americaMink great again!
If maintainers feel that they have enough of supporting Mink organization, I'd like to volunteer, so please grant permissions.
If anyone needs to install it now, I forked several Mink-related repos to FriendsOfBehat and made their build passing for Symfony ^4.4|^5.0.
https://github.com/FriendsOfBehat/Mink
https://github.com/FriendsOfBehat/MinkExtension
https://github.com/FriendsOfBehat/MinkBrowserKitDriver
You can install them as friends-of-behat/mink
, friends-of-behat/mink-extension
and friends-of-behat/mink-browserkit-driver
packages and they will replace corresponding original packages, so that dependencies resolving will still work if some other packages require the original ones.
Overall, it'd be best if someone could take care of Mink-related libraries in their source repositories, please give me a ping when it supports Symfony 5 so I can abandon my forks.
@stof @aik099 what's holding us from creating new release?
Build on MinkSelenium2Driver is almost green. Seems that it got broken recently:All the community really wants to move forward. Let's make
americaMink great again!If maintainers feel that they have enough of supporting Mink organization, I'd like to volunteer, so please grant permissions.
@oleg-andreyev , for me personally it's time. I no longer can afford to spent hours of my personal time, I've used to before, on OpenSource. I can somehow allocate 1-2 hours a week and not even in each week.
To move things forward (my personal view of the situation):
- an agreement in #787 must be reached
- once that done we can drop support for some PHP versions and remove any workarounds for supporting different PHPUnit versions that were only working on removed PHP versions
- then we can focus on adding support for new Symfony component versions
- then we can try fixing builds on every supported PHP version
- then we finally can release Mink & drivers so avoid people using forks instead of main repo
- release would hopefully would make Drupal users happy
To make project maintenance harder PRs are coming in, that do the same things in different ways, e.g.:
- removal of non-supported (by php.net) PHP versions
- adding support for new Symfony versions
- adding support for PHPUnit versions
There is no clear vector that community can use to help moving project forward.
// cc @stof
Mink does not have a PHPUnit dependency. So I don't see the issue here (Mink uses PHPUnit by itself, but that has no impact on projects using Mink).
I'm closing this ticket, as Mink 1.8 has been released (and discussions about Behat extensions are out of the scope of this repo)