BossaConsulting / phpspec2-expect

Helper that decorates any SUS with a PhpSpec lazy object wrapper
MIT License
75 stars 34 forks source link

Support PHP 8.0 #65

Closed phil-davis closed 3 years ago

phil-davis commented 3 years ago

which will want to use phpunit 9 for testing...

This will help upstream projects move forward with PHP 8.0 support.

phil-davis commented 3 years ago

No CI ran??? I ran PHP unit tests locally with PHP 8.0 and they passed.

Nek- commented 3 years ago

@phil-davis because travis stopped supporting open source I guess?

phil-davis commented 3 years ago

Travis still supports open-source https://www.traviscistatus.com/#month They did reduce the servers available to open-source builds and there were long backlogs in the last month or so. This week is better, it seems a lot of open-source is already taking a Christmas break.

Maybe somebody in BossaConsulting organisation has turned it off in Travis or?

phil-davis commented 3 years ago

@debo @mlopes (just pinging some "random" names of people who merged stuff recently!) or anyone - merge this PR or PR #66 and make a release that will support PHP 8.0?

Nek- commented 3 years ago

As this project is marked maintained in the readme, I didn't try to make a fork of it. If you desperately need this to work here is what I did: https://github.com/Nekland/Tools/blob/404046856af1d5a005a042f0a84acbb61a447af6/composer.json#L14-L24

You can change this in your repository. I hope I helped.

phil-davis commented 3 years ago

I am not so desperate. I am just trying to get the various dependencies in the tree underneath the https://github.com/behat/ repos to support PHP 8.0. Then I will have some chance to adjust Behat to support PHP 8.0.

Would be nice for Christmas, but maybe those managing this repo are already off-line for Christmas-New-Year.

phil-davis commented 3 years ago

@debo @mlopes a friendly ping for 2021. Maybe someone is back online today and can move this forward (or #66 )

phil-davis commented 3 years ago

@debo @mlopes at-anybody - friendly ping again. Is this repo still maintained, or is it dead?

phil-davis commented 3 years ago

I rebased and force-pushed just now. There is still no response from Travis.

@debo @mlopes please advise what happens next.

Nek- commented 3 years ago

This package should be fork on friends-of-phpspec I think. (I tried to reach the maintainer on twitter)

Nek- commented 3 years ago

Ping @jaylinski @shulard WDYT?

shulard commented 3 years ago

Is this package unmaintained ? Maybe it can be forked / moved to friends-of-phpspec but if someone in the @BossaConsulting organisation is ok it'll help ^^

Because we must mark the actual package obsolete on Packagist to simplify user migrations.

mlopes commented 3 years ago

@shulard I'd recommend forking it to friends-of-phpspec. I've been sporadically approving PRs here just to keep it going, and both me and @debo have made an effort to set it up on packagist and improve the building pipeline, but we don't own the project and so we're very limited in what we can do, by the permissions we have in this repo.

Because of that, I don't think this repo is going to come back to life in any way, and if it's not forked to be maintained by people who are using this tool and benefit from it, nothing more will be happening here than the occasional PR being merged after much effort to getting the attention from one of the maintainers.

phil-davis commented 3 years ago

@mlopes

1) do you have enough privs to merge this and tag a release?

2) do you have enough privs to then, when its ready, mark this obsolete in Packagist and do whatever to point to a new fork in friends-of-phpspec?

mlopes commented 3 years ago

@mlopes

  1. do you have enough privs to merge this and tag a release?

I do.

  1. do you have enough privs to then, when its ready, mark this obsolete in Packagist and do whatever to point to a new fork in friends-of-phpspec?

I don't think so, but IIRC, @debo set tried to set that up, but it ended up never working because we couldn't authorise packagist. He might be able to sort that out for you.

Might be worth pointing out that you may want to drop the 2 from the name, since phpspec is not on version 2 anymore.

debo commented 3 years ago

@phil-davis @mlopes unfortunately not, I tried but unsuccessfully, we need our good old @MarcelloDuarte to sort out packagist.

phil-davis commented 3 years ago

At least merging and tagging should get packagist to advertise a new release that advertises PHP 8.0 support.

debo commented 3 years ago

Yes that should work if the project name doesn't change, which is what we tried to do previously. However I think that, as @mlopes suggested, moving to @friends-of-phpspec would be the best option, it will open better option in maintainers management and such. I'm curious to know what @shulard and @jaylinksy think about it.

jaylinski commented 3 years ago

@shulard If we fork this, I think we should drop the 2 and rename it to phpspec-expect. Users will have to change their deps anyway because the namespace will change. (Related to https://github.com/BossaConsulting/phpspec2-expect/issues/49)

phil-davis commented 3 years ago

Can we merge this, and then discuss repo-renaming and forking in #49 ?

mlopes commented 3 years ago

@jakzal did you confirm that this built locally? I can merge it, but since CI is not running and I don't have PHP/Composer installed locally, I am unable to confirm if it's safe to merge.

jakzal commented 3 years ago

No, I haven't.

shulard commented 3 years ago

I agree we can fork the repo in the @friends-of-phpspec organisation. If we can't inform the users of this current version that the code has moved it'll make me sad but it's not a blocking point from moving.

Who will be responsible of that fork ?

phil-davis commented 3 years ago

Some local test results on my Ubuntu 18.04

$composer update
...
  - Upgrading phpunit/phpunit (9.5.0 => 9.5.1): Extracting archive
Generating autoload files
40 packages you are using are looking for funding.
Use the `composer fund` command to find out more!
phil@phil-OptiPlex-3050:~/git/Bossa/phpspec2-expect$ ./vendor/bin/phpunit
PHPUnit 9.5.1 by Sebastian Bergmann and contributors.

.................................                                 33 / 33 (100%)

Time: 00:00.027, Memory: 6.00 MB

OK (33 tests, 33 assertions)
phil@phil-OptiPlex-3050:~/git/Bossa/phpspec2-expect$ php --version
PHP 7.4.14 (cli) (built: Jan 13 2021 08:04:06) ( NTS )
Copyright (c) The PHP Group
Zend Engine v3.4.0, Copyright (c) Zend Technologies
    with Zend OPcache v7.4.14, Copyright (c), by Zend Technologies
    with Xdebug v3.0.2, Copyright (c) 2002-2021, by Derick Rethans

( .travis.yml does not even mention PHP 7.4 - but that does not matter now that Travis does not run anyway)

I will post results for other PHP and composer combinations...

phil-davis commented 3 years ago

PHP 7.1

  - Downgrading phpunit/phpunit (9.5.1 => 7.5.20): Extracting archive
Package phpunit/php-token-stream is abandoned, you should avoid using it. No replacement was suggested.
Generating autoload files
25 packages you are using are looking for funding.
Use the `composer fund` command to find out more!
phil@phil-OptiPlex-3050:~/git/Bossa/phpspec2-expect$ ./vendor/bin/phpunit
PHPUnit 7.5.20 by Sebastian Bergmann and contributors.

.................................                                 33 / 33 (100%)

Time: 58 ms, Memory: 6.00 MB

OK (33 tests, 33 assertions)
phil@phil-OptiPlex-3050:~/git/Bossa/phpspec2-expect$ php --version
PHP 7.1.33-25+ubuntu18.04.1+deb.sury.org+1 (cli) (built: Jan 12 2021 11:13:01) ( NTS )
Copyright (c) 1997-2018 The PHP Group
Zend Engine v3.1.0, Copyright (c) 1998-2018 Zend Technologies
    with Zend OPcache v7.1.33-25+ubuntu18.04.1+deb.sury.org+1, Copyright (c) 1999-2018, by Zend Technologies
    with Xdebug v2.9.8, Copyright (c) 2002-2020, by Derick Rethans
Nek- commented 3 years ago

You should probably take a look at #66 that adds GitHub Workflow support (that you can enable in the settings of the project).

phil-davis commented 3 years ago

PHP 7.1 with --prefer-lowest

  - Downgrading phpunit/phpunit (7.5.20 => 7.0.0): Extracting archive
1 package suggestions were added by new dependencies, use `composer suggest` to see details.
Package dflydev/markdown is abandoned, you should avoid using it. Use michelf/php-markdown instead.
Package phpunit/php-token-stream is abandoned, you should avoid using it. No replacement was suggested.
Package phpunit/phpunit-mock-objects is abandoned, you should avoid using it. No replacement was suggested.
Generating autoload files
phil@phil-OptiPlex-3050:~/git/Bossa/phpspec2-expect$ ./vendor/bin/phpunit
PHPUnit 7.0.0 by Sebastian Bergmann and contributors.

.................................                                 33 / 33 (100%)

Time: 57 ms, Memory: 4.00MB

OK (33 tests, 33 assertions)
phil@phil-OptiPlex-3050:~/git/Bossa/phpspec2-expect$ php --version
PHP 7.1.33-25+ubuntu18.04.1+deb.sury.org+1 (cli) (built: Jan 12 2021 11:13:01) ( NTS )
Copyright (c) 1997-2018 The PHP Group
Zend Engine v3.1.0, Copyright (c) 1998-2018 Zend Technologies
    with Zend OPcache v7.1.33-25+ubuntu18.04.1+deb.sury.org+1, Copyright (c) 1999-2018, by Zend Technologies
    with Xdebug v2.9.8, Copyright (c) 2002-2020, by Derick Rethans
phil-davis commented 3 years ago

PHP 7.2

  - Upgrading phpunit/phpunit (7.0.0 => 8.5.14): Extracting archive
1 package suggestions were added by new dependencies, use `composer suggest` to see details.
Package phpunit/php-token-stream is abandoned, you should avoid using it. No replacement was suggested.
Generating autoload files
34 packages you are using are looking for funding.
Use the `composer fund` command to find out more!
phil@phil-OptiPlex-3050:~/git/Bossa/phpspec2-expect$ ./vendor/bin/phpunit
PHPUnit 8.5.14 by Sebastian Bergmann and contributors.

.................................                                 33 / 33 (100%)

Time: 61 ms, Memory: 6.00 MB

OK (33 tests, 33 assertions)
phil@phil-OptiPlex-3050:~/git/Bossa/phpspec2-expect$ php --version
PHP 7.2.34-9+ubuntu18.04.1+deb.sury.org+1 (cli) (built: Jan 12 2021 11:15:02) ( NTS )
Copyright (c) 1997-2018 The PHP Group
Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies
    with Zend OPcache v7.2.34-9+ubuntu18.04.1+deb.sury.org+1, Copyright (c) 1999-2018, by Zend Technologies
    with Xdebug v3.0.2, Copyright (c) 2002-2021, by Derick Rethans
phil-davis commented 3 years ago

PHP 7.3

  - Upgrading phpunit/phpunit (8.5.14 => 9.5.1): Extracting archive
Generating autoload files
40 packages you are using are looking for funding.
Use the `composer fund` command to find out more!
phil@phil-OptiPlex-3050:~/git/Bossa/phpspec2-expect$ ./vendor/bin/phpunit
PHPUnit 9.5.1 by Sebastian Bergmann and contributors.

.................................                                 33 / 33 (100%)

Time: 00:00.029, Memory: 8.00 MB

OK (33 tests, 33 assertions)
phil@phil-OptiPlex-3050:~/git/Bossa/phpspec2-expect$ php --version
PHP 7.3.26-1+ubuntu18.04.1+deb.sury.org+1 (cli) (built: Jan 13 2021 08:00:44) ( NTS )
Copyright (c) 1997-2018 The PHP Group
Zend Engine v3.3.26, Copyright (c) 1998-2018 Zend Technologies
    with Zend OPcache v7.3.26-1+ubuntu18.04.1+deb.sury.org+1, Copyright (c) 1999-2018, by Zend Technologies
    with Xdebug v3.0.2, Copyright (c) 2002-2021, by Derick Rethans
phil-davis commented 3 years ago

PHP 8.0

$ composer update
Loading composer repositories with package information
Updating dependencies
Nothing to modify in lock file
Installing dependencies from lock file (including require-dev)
Nothing to install, update or remove
Generating autoload files
40 packages you are using are looking for funding.
Use the `composer fund` command to find out more!
phil@phil-OptiPlex-3050:~/git/Bossa/phpspec2-expect$ ./vendor/bin/phpunit
PHPUnit 9.5.1 by Sebastian Bergmann and contributors.

.................................                                 33 / 33 (100%)

Time: 00:00.027, Memory: 6.00 MB

OK (33 tests, 33 assertions)
phil@phil-OptiPlex-3050:~/git/Bossa/phpspec2-expect$ php --version
PHP 8.0.1 (cli) (built: Jan 13 2021 08:21:37) ( NTS )
Copyright (c) The PHP Group
Zend Engine v4.0.1, Copyright (c) Zend Technologies
    with Zend OPcache v8.0.1, Copyright (c), by Zend Technologies
    with Xdebug v3.0.2, Copyright (c) 2002-2021, by Derick Rethans
phil-davis commented 3 years ago

You should probably take a look at #66 that adds GitHub Workflow support (that you can enable in the settings of the project).

Yes - if that is merged then CI should start happening with GitHub workflows. :+1:

Either way, the unit tests pass with all the version of PHP and phpunit. So either PR could be merged, someone tag a release, then "someone" do the fork...

jaylinski commented 3 years ago

I agree we can fork the repo in the @friends-of-phpspec organisation. If we can't inform the users of this current version that the code has moved it'll make me sad but it's not a blocking point from moving.

Who will be responsible of that fork ?

@shulard I forked it can be responsible for it (since we use this package at the company I work for).

https://github.com/friends-of-phpspec/phpspec-expect

phil-davis commented 3 years ago

The effect of this PR is now in the new fork. Closing here.

mlopes commented 3 years ago

ok, I guess it means I don't need to merge it anymore? :)

phil-davis commented 3 years ago

I got the impression that there would be no merging here any more - the conversation turned to forking, and this repo is "dead/abandoned by BossaConsulting"

If someone wants something to happen here, feel free to do it,...

jaylinski commented 3 years ago

ℹ️ I forked the repository and created a new tag:

If there are any problems, please open an issue or create a PR.

mlopes commented 3 years ago

I got the impression that there would be no merging here any more - the conversation turned to forking, and this repo is "dead/abandoned by BossaConsulting"

If someone wants something to happen here, feel free to do it,...

I agree, I don't think there's any point in merging it here. I was just asking in case it would be helpful for anyone.