Add PHP 7.4 branch to test against

#1

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.

#2

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

#3

Thanks, I pinged krakjoe here:

#4

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

#5

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
#6

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
#7

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
#8

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?

#9

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

#10

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

#11

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

#12

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.

#13

As with nightly, Oniguruma is necessary.

addons:
  apt:
    packages:
      - libonig-dev

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

#14

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.

#15

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