This task is about having PHP 7 be installed and usable on CI instances.
I sent the following email to the ops list yesterday:
Hi, MediaWiki supports PHP 7, but we currently don't have any CI support for it, which has led to developers accidentally introducing regressions in the past. In CI, we currently use OS packages to use different versions of PHP, so for 5.3 we use precise, 5.5 on trusty, 5.6 on jessie, etc. Since PHP7 isn't available for any OS that labs currently supports, I've researched the following options: 1. Support Ubuntu Xenial (16.04) in labs, which comes with PHP 7. But since we're switching to Debian, this might not be preferred. And it would require extra support from the Labs team. 2. Use a tool like phpenv[1] to manage multiple PHP versions for us. But most of these tools are abandoned by their authors, and would result in us basically maintaining them ourselves. 3. Use a custom ppa/repo like [2][3], which has co-installable PHP5.5, 5.6, and 7 packages, so we could use jessie for everything. They are maintained by one of the maintainers of the Debian PHP package. 4. Build/package PHP manually ourselves. I'm prefer #3 as it would require less maintenance from the CI team and would integrate into our current setup without much work. But I'd like to hear from others in case there is anything I've missed and make sure there are no issues/concerns with using an external repository. [1] https://github.com/phpenv/phpenv [2] https://packages.sury.org/php/ [3] https://launchpad.net/~ondrej/+archive/ubuntu/php/ Thanks, -- Kunal
Responses also preferred option #3, so I will work on implementing that. First on a jessie permanent slave for ease of debugging/testing, and then transition it to nodepool.