Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

New release for providing Symfony 4 support #757

Closed
adiq opened this issue Jan 24, 2018 · 41 comments
Closed

New release for providing Symfony 4 support #757

adiq opened this issue Jan 24, 2018 · 41 comments

Comments

@adiq
Copy link

adiq commented Jan 24, 2018

It would be great to release new version of Mink to provide Symfony 4 support.

@pamil
Copy link

pamil commented Feb 14, 2018

Is there anything that needs to be done to tag a new release?

@adiq
Copy link
Author

adiq commented Feb 14, 2018

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.

@stof
Copy link
Member

stof commented Feb 14, 2018

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)

@kochen
Copy link

kochen commented Apr 21, 2018

@adiq did you manage to get Sessions to work?

I'm getting:

Specify session name to get

See: Behat/MinkExtension#321

and is $sessions (https://github.com/minkphp/Mink/blob/master/src/Mink.php#L36) is actually empty... :/

@bartonhammond
Copy link

I'm getting same error Specify session name to get (InvalidArgumentException) . Any update?

@adiq
Copy link
Author

adiq commented May 8, 2018

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?

@bartonhammond
Copy link

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:

@DonCallisto
Copy link

Isn't the CI green? I can't see any error.

@aik099
Copy link
Member

aik099 commented May 25, 2018

@DonCallisto , in the #757 (comment) @stof meant driver repos. Almost all of them are red currently.

@DonCallisto
Copy link

Got it, so we should try to fix them IIUC

@tristanbes
Copy link

Any release planned yet ? It hurts me to require a package as dev-master

@aik099
Copy link
Member

aik099 commented Jun 29, 2018

Nothing has changed since #757 (comment). I could really use some help on getting those driver tests green again.

@kochen
Copy link

kochen commented Oct 18, 2018

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).

@juliendufresne
Copy link

This is blocking every projects using symfony/flex with the composer extra config symfony.require: "4.2.*"

@juliendufresne
Copy link

According to what @stof stated here #757 (comment), this requires the following issues to be fixed:

@Einenlum
Copy link

Einenlum commented May 14, 2019

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 :/

@BigZ
Copy link

BigZ commented Jun 7, 2019

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

@pamil
Copy link

pamil commented Jun 7, 2019

@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.

@phoefnagel
Copy link

phoefnagel commented Jun 18, 2019

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!

@grudda
Copy link

grudda commented Aug 19, 2019

Is there any progress expected soon? Those incompatibilities are really blocking ci pipelines, if you rely on those tests before deploying to prod!

@BigZ
Copy link

BigZ commented Aug 27, 2019

i'm using my own fork on the meantime, but it's quite alarming to see no answer from the maintainers. Any input @stof @everzet @aik099 ?

@DonCallisto
Copy link

DonCallisto commented Aug 27, 2019

@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.

@kochen
Copy link

kochen commented Aug 27, 2019

@BigZ @adiq @aik099 are you all directly requiring behat/mink: "1.7" in your projects?

@aik099
Copy link
Member

aik099 commented Aug 28, 2019

@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.

@kochen
Copy link

kochen commented Aug 28, 2019

@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?

@DonCallisto
Copy link

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.

@grudda
Copy link

grudda commented Aug 28, 2019

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?

@aik099
Copy link
Member

aik099 commented Aug 28, 2019

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:

  1. inspect all commits made since last release to create change log and look for BC breaks
  2. 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.

@kochen
Copy link

kochen commented Aug 28, 2019

@aik099 or we tag it has 2.0.0 even without BC breaks and we sail to a fresh (re)start.

@stof
Copy link
Member

stof commented Aug 29, 2019

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
Copy link

BigZ commented Sep 11, 2019

@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.

@adiq
Copy link
Author

adiq commented Sep 21, 2019

@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 😉

@pacid
Copy link

pacid commented Nov 15, 2019

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

@pamil
Copy link

pamil commented Nov 19, 2019

@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.

@DonCallisto
Copy link

Meanwhile also sf5 is out there

@oleg-andreyev
Copy link

oleg-andreyev commented Feb 10, 2020

@stof @aik099 what's holding us from creating new release?
Build on MinkSelenium2Driver is almost green. Seems that it got broken recently:

https://travis-ci.org/minkphp/MinkSelenium2Driver/builds/639627599?utm_source=github_status&utm_medium=notification

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.

@pamil
Copy link

pamil commented Feb 11, 2020

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.

@aik099
Copy link
Member

aik099 commented Mar 5, 2020

@stof @aik099 what's holding us from creating new release?
Build on MinkSelenium2Driver is almost green. Seems that it got broken recently:

https://travis-ci.org/minkphp/MinkSelenium2Driver/builds/639627599?utm_source=github_status&utm_medium=notification

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):

  1. an agreement in [RFC] New PHP min version for Mink and drivers #787 must be reached
  2. 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
  3. then we can focus on adding support for new Symfony component versions
  4. then we can try fixing builds on every supported PHP version
  5. then we finally can release Mink & drivers so avoid people using forks instead of main repo
  6. 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

@BigZ
Copy link

BigZ commented Jun 10, 2020

finally done, 2 years later B) thanks @stof !
Now waiting for phpunit 9 support :D

@stof
Copy link
Member

stof commented Jun 10, 2020

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).

@stof
Copy link
Member

stof commented Jun 10, 2020

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)

@stof stof closed this as completed Jun 10, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests