Skip to content

Adjust the Travis CI matrix: PHP 7.0 and 7.1, fewer revisions of libmemcached #273

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

Merged
merged 4 commits into from
Dec 7, 2016

Conversation

sodabrew
Copy link
Contributor

@sodabrew sodabrew commented Aug 8, 2016

No description provided.

@sodabrew
Copy link
Contributor Author

sodabrew commented Aug 8, 2016

I actually don't know if the PHP 7 branch is capable of working with PHP 5.5 or 5.6. My hope would be to have a single php-memcached master branch and next release that works across the three supported revisions. Let's see how it goes.

@sodabrew
Copy link
Contributor Author

sodabrew commented Aug 8, 2016

With PHP < 7.0

In file included from php-memcached/msgpack-php/msgpack.c:16:0:
php-memcached/msgpack-php/php_msgpack.h:4:56: fatal error: Zend/zend_smart_str.h: No such file or directory

@TysonAndre
Copy link
Contributor

The php7 branch targets php7 only. It won't compile under any version of php5.

If they are planning to have a master branch that targets master and php7, it is possible two ways (But they probably wouldn't do that until php7 was stable):

  1. With a lot of macros and ifdefs (Doable for simple extensions that don't build complicated data structures. Makes understanding the code or writing php7 specific optimizations, such as switching to zend_string slightly harder in the future)
  2. With separate source folders - This is what igbinary and solr do (E.g. Combine the php5 and php7 branches into one repo, in different folders igbinary/igbinary#62 )
  • Move the php5 source code to a subfolder src/php5/
  • Copy the source from the php7 branch to src/php7/
  • Update package.xml
  • Update src/php5 with the new features/api changes in php7.
  • Update tests to work for both branches

@sodabrew
Copy link
Contributor Author

I think the sane path forward is:

  • Branch master to a stable-2.x that works with PHP 5.x. At this time, only PHP 5.6 remains supported upstream.
  • Merge php7 to master (possibly rename master as stable-2.x and rename php7 as master).
  • Add support for PHP 7.1 to the future php7 / master branch, since PHP 7.1 is in RC already.

- LIBMEMCACHED_VERSION=1.0.18 # Debian Jessie / Ubuntu Xenial
- LIBMEMCACHED_VERSION=1.0.16 # RHEL / CentOS 7
- LIBMEMCACHED_VERSION=1.0.8 # Debian Wheezy / Ubuntu Trusty
- LIBMEMCACHED_VERSION=0.44 # Ubuntu Precise
Copy link

@andrerom andrerom Sep 23, 2016

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is Precise still relevant for 3.0 (php7) code base? If it's not meant to be supported, and given tests fails with it, I wouldn't re-add it here.

@sodabrew sodabrew changed the title Adjust the Travis CI matrix: PHP 5.5, 5.6, 7.0, fewer revisions of libmemcached Adjust the Travis CI matrix: PHP 7.0 and 7.1, fewer revisions of libmemcached Oct 10, 2016
@sodabrew
Copy link
Contributor Author

PHP 7.1 compat for msgpack blocked on msgpack/msgpack-php#100

@sodabrew sodabrew force-pushed the travis_php_5_6_7 branch 3 times, most recently from d7b5a53 to 82d8ee7 Compare November 11, 2016 20:35
@sodabrew
Copy link
Contributor Author

@laruence Ideally a fix for msgpack/msgpack-php#100 will land first so that I can remove my personal branch from this PR, if you have time could you merge msgpack/msgpack-php#104?

@sodabrew sodabrew merged commit e65be32 into php-memcached-dev:php7 Dec 7, 2016
@sodabrew sodabrew deleted the travis_php_5_6_7 branch December 7, 2016 04:44
@sodabrew sodabrew added this to the PHP7 milestone Dec 7, 2016
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

Successfully merging this pull request may close these issues.

3 participants