Add PHP 7.4 branch to test against

PHP 7.4 was branched 10 days ago, and master is now PHP 8.0.0-dev.

This means that using php: nightly in my builds conflicts with phpunit which expects PHP 7:

phpunit/phpunit 7.5.4 requires php ^7.1 -> your PHP version (8.0.0-dev) does not satisfy that requirement.

And php: 7.4 is not available yet:

rbenv: version `7.4’ not installed

Could you please add the php: 7.4 version, that would point to the PHP-7.4 branch?

Thank you.

There is no 7.4 release yet. So we will be building 7.4snapshot, but currently it is breaking with apcu. https://travis-ci.org/travis-ci/php-src-builder/jobs/489915434#L4847

Thanks, I pinged krakjoe here:

A new apcu release with compatibility fixes for PHP 7.4 is out, so hopefully the next build will work.

The last PHP 7.4 snapshot build was successful (https://travis-ci.org/travis-ci/php-src-builder/builds/491493967) and I just checked that 7.4snapshot does indeed work (https://travis-ci.org/nikic/php-ast/jobs/491525179).

It would be great if 7.4 could be added as an alias for 7.4snapshot until we have actual PHP 7.4 releases, as I think most people don’t know about the snapshot versions.

1 Like

There is no 7.4 release of any kind, so it is misleading to offer snapshots with aliases that suggest an official release.

We can document *snapshot, but that’s as far as I suggest we go.

Note: We have aliased RCs as releases before. (e.g., https://travis-ci.org/travis-ci/php-src-builder/builds/292953190)

1 Like

I agree aliasing it to 7.4 would be misleading. I would personally prefer “7.4-dev” but “7.4snapshot” works for me too.
We have already switched from nightly to 7.4snapshot in Doctrine.

1 Like

I noticed that 7.4snapshot doesn’t seem to provide the GD2 extension. Is this an artefact of the way snapshots are built, so is it more likely to be a more common change for 7.4 (i.e. are they removing GD2 by default).

Is there a way of adding GD2 back in?

Yes, the build steps for GD have changed in PHP 7.4, see: https://github.com/php/php-src/blob/9499484ed2f0377678b2b4d88573327ee0e4ce6d/UPGRADING#L394-L403

The builds for 7.4snapshot are currently failing. It looks like the issue is that there are a lot of checks that are skipped for “master” that should probably be skipped for “7.4snapshot” as well:

https://travis-ci.org/travis-ci/php-src-builder/jobs/512476201#L3005

7.4snapshot appears to be incompatible with the go-pear.phar we fetch.

https://travis-ci.org/travis-ci/php-src-builder/jobs/515841765#L3000-L3006

I tracked the recent 7.4snapshot issue to

and resolved it by pinning go-pear.phar to version 1.10.12 for the time being.

As with nightly, Oniguruma is necessary.

addons:
  apt:
    packages:
      - libonig-dev

https://travis-ci.org/BanzaiMan/travis_production_test/builds/517402547#L205

I have opened https://github.com/travis-ci/php-src-builder/pull/36 to link against oniguruma statically, which should remove the need to install libonig when using nightly and 7.4snapshot.

the gd extension is still missing from the 7.4snapshot build.

it was mentioned in this thread that the compile flags for gd changed, but it seems travis already is passing those new named ones

“PHP 7.4” works now .travis.yml but the GD extensions is still missing, see for example https://travis-ci.org/drupal-graphql/graphql/jobs/620057767?utm_medium=notification&utm_source=github_status

How can we enable that for PHP 7.4 testing?

We need https://github.com/php-build/php-build/ to be 7.4-compatible, in the first place, but


suggests some difficulties.

I encourage you to look at that tool to move this issue forward.

Got merged.

Hi,

what’s the status here? We need GD as well and I naively tried to install it with pecl. But that fails miserably https://travis-ci.com/nextcloud/mail/jobs/268449896#L1637.

I’m also running into the issue that the gd extension isn’t available for PHP 7.4. Any update on that?