Page MenuHomePhabricator

Install/upgrade toolforge to current phpunit
Closed, ResolvedPublic

Description

Trying to add some unit testing to my tools, when I discover:

$ phpunit --version
PHPUnit 3.7.28 by Sebastian Bergmann.

Current stable release is 6.4...

Event Timeline

We have phpunit installed globally? The horror!

I think the better solution to this is to uninstall the Ubuntu package and let anyone who wants/needs phpunit install it in their tool via Composer. I can't think of any reasonable way that we can manage a global install of this other than by using the ancient package that Ubuntu Trusty provides.

Unless one has dozens of tools to install that one-at-a-time...

Oh, PHP7 is probably too much to ask as well then?

Oh, PHP7 is probably too much to ask as well then?

I believe we already have an open ticket requesting PHP7 support. We will not be getting PHP7 directly on the current Ubuntu Trusty bastions and Grid Engine hosts, but it should be possible to add support for PHP7 in our Kubernetes cluster as soon as we introduce Debian Stretch base images there.

6.4 is only any use if you're using PHP 7 or 7.1.

5.7 if you have PHP 5.6, 7 or 7.1

4.8 for PHP 5.3-5.6

If you have dozens of installs... Composer will cache it and install from cache. Should be trivial.

And PHP 7 would come with an OS upgrade...

Thanks @Reedy . Is an OS upgrade planned any time soon?

Is an OS upgrade planned any time soon?

It will have to be done before Ubuntu Trusty hits end of life status in April 2019. The TechOps team would really like us to have a solution prior to that so that support for non-systemd init processes can be dropped from our shared Puppet repository. We currently do not know if the next OS version would be a newer long term stable Ubuntu release (e.g. 16.04 or 18.04) or if we would instead migrate to Debian stable releases as has been done for most of the Wikimedia managed infrastructure outside of Cloud Services. There are some issues we need to work through with both OpenStack and Grid Engine related to the next major OS upgrade. These issues are primarily about finding well supported and security patched package repositories for these software products.

The short to mid-term solution for newer OS and computer language versions in Toolforge is our Kubernetes cluster. Kubernetes managed containers are currently using Debian Jessie (e.g. PHP 5.6.30) and we are in the very early stages of figuring out what needs to change to introduce Debian Stretch (e.g. PHP 7.0) there as a phased replacement for Jessie. I hope to have more concrete plans for that in late December/early January. We may be able to introduce newer versions of PHP in Kubernetes earlier by finding a trusted source for packages that we can install into the current Debian Jessie containers.

Magnus claimed this task.

I have now set up phpunit version 4 in a single tool. Support for that version ended February 3, 2017. However, it is the latest version that can tolerate the ancient PHP 5.59 on Toolforge.

I'll close this as "resolved", even though it really isn't.