Re: [PHP-DEV] An incubation period for RFCs? [repost as own thread]

  109166
March 20, 2020 15:47 ben@benramsey.com (Ben Ramsey)
> On Mar 20, 2020, at 10:03, Mark Randall <marandall@php.net> wrote: > > On 20/03/2020 14:38, Andrea Faulds wrote: >> How does the list feel about this idea? > > From what I have read, userland testing of even RC versions seems to be as infrequent as to practically be non-existent outside the major frameworks, having a usable number of people playing about with it when it's not even in for certain seems unrealistic? > > Would it not also lead us to a situation where at any given time this incubation branch, or god forbid master, could be in any of 2^n different states depending on which engine features were available or not? That's a lot of extra uncertainty and possible unexpected interactions.
To encourage userland testing of RC versions, I think it would be helpful to maintain Docker images of RCs. I’m not suggesting the internals group take this on themselves. IMO, this is something that the community can take on and offer, and it’s something that needs to be done before we can expect significant testing of RCs. Cheers, Ben
  109167
March 20, 2020 16:30 rowan.collins@gmail.com (Rowan Tommins)
On Fri, 20 Mar 2020 at 15:48, Ben Ramsey <ben@benramsey.com> wrote:

> > To encourage userland testing of RC versions, I think it would be helpful > to maintain Docker images of RCs. > > I’m not suggesting the internals group take this on themselves. IMO, this > is something that the community can take on and offer >
Just to be clear, other than a few permissions and a very small number of legal roles, I don't think there is any difference between "the internals group" and "the community". If someone were to maintain these, I doubt anyone would object to seeing them linked on php.net somewhere, with a suitable disclaimer that they weren't supported builds. Incidentally, I suggested something related for PHP 8 specifically, so that people could test the JIT (I talked about distributing pre-alpha milestone builds in general, rather than Docker in particular), but I'm not sure anyone got around to doing it. Regards, -- Rowan Tommins [IMSoP]
  109169
March 20, 2020 17:09 ben@benramsey.com (Ben Ramsey)
> On Mar 20, 2020, at 11:30, Rowan Tommins collins@gmail.com> wrote: > > On Fri, 20 Mar 2020 at 15:48, Ben Ramsey <ben@benramsey.com> wrote: > >> >> To encourage userland testing of RC versions, I think it would be helpful >> to maintain Docker images of RCs. >> >> I’m not suggesting the internals group take this on themselves. IMO, this >> is something that the community can take on and offer >> > > > Just to be clear, other than a few permissions and a very small number of > legal roles, I don't think there is any difference between "the internals > group" and "the community". > > If someone were to maintain these, I doubt anyone would object to seeing > them linked on php.net somewhere, with a suitable disclaimer that they > weren't supported builds. > > Incidentally, I suggested something related for PHP 8 specifically, so that > people could test the JIT (I talked about distributing pre-alpha milestone > builds in general, rather than Docker in particular), but I'm not sure > anyone got around to doing it.
At the risk of getting off-topic in this thread, here is a Dockerfile where someone is doing this for PHP 8, but it could probably use some help to keep it up-to-date. https://github.com/KEINOS/Dockerfile_of_PHP8-JIT Cheers, Ben
  109170
March 20, 2020 17:43 mike@newclarity.net (Mike Schinkel)
> On Mar 20, 2020, at 1:09 PM, Ben Ramsey <ben@benramsey.com> wrote: > >> On Mar 20, 2020, at 11:30, Rowan Tommins collins@gmail.com> wrote: >> >> On Fri, 20 Mar 2020 at 15:48, Ben Ramsey <ben@benramsey.com> wrote: >> >>> >>> To encourage userland testing of RC versions, I think it would be helpful >>> to maintain Docker images of RCs. >>> >>> I’m not suggesting the internals group take this on themselves. IMO, this >>> is something that the community can take on and offer >>> >> >> >> Just to be clear, other than a few permissions and a very small number of >> legal roles, I don't think there is any difference between "the internals >> group" and "the community". >> >> If someone were to maintain these, I doubt anyone would object to seeing >> them linked on php.net somewhere, with a suitable disclaimer that they >> weren't supported builds. >> >> Incidentally, I suggested something related for PHP 8 specifically, so that >> people could test the JIT (I talked about distributing pre-alpha milestone >> builds in general, rather than Docker in particular), but I'm not sure >> anyone got around to doing it. > > > At the risk of getting off-topic in this thread, here is a Dockerfile where someone is doing this for PHP 8, but it could probably use some help to keep it up-to-date. > > https://github.com/KEINOS/Dockerfile_of_PHP8-JIT
My team has been working on a project called Gearbox which is a local development solution the uses Docker containers within a VM. Gearbox in its entirety is pre-alpha, but many components of it are already solid, including the Docker containers as they have been use for several years on a sister project. I won't in this thread delve into the details of Gearbox or go into a sale pitch since I don't think that is appropriate, but we would be happy to implement and then maintain whatever containers are needed for PHP 8.x. - https://github.com/gearboxworks/docker-php - https://hub.docker.com/search?q=gearboxworks/php Note that we have not updated to PHP 7.4 yet because it has not been on our critical development path, but if the PHP community wants us to offer support PHP 8.x we'd be happy to add staying on the bleeding edge of PHP to our critical path. We would of course welcome collaboration with PRs and possibly even commit rights for others to help us maintain the containers so we are never a bottleneck. Our container generation infrastructure always would let up create many different versions to allow for having proof-of-concept versions of PHP for different RFCs, especially if the RFC authors provide PRs for their work. We wil also very soon have a `gb-launch` tool that will simplify using containers so it won't require experience using Docker to be able to load and run them. So we should be able to do something like this within a week or maybe two: gb_launch php --version=8.0.0-alpha-rfc-123 The above command will pull the container down if you don't already have it locally. What do people here think about this as a solution for what Ben and Rowan were discussing? -Mike P.S. The Gearbox project is open-source. We are currently envisioning a SaaS as a future revenue model, but we are not exactly sure what that will look like. First, we want to bulld Gearbox because we want it to exist.
  109171
March 20, 2020 18:00 marandall@php.net (Mark Randall)
On 20/03/2020 15:47, Ben Ramsey wrote:
> I’m not suggesting the internals group take this on themselves. IMO, this is something that the community can take on and offer, and it’s something that needs to be done before we can expect significant testing of RCs.
We could fully automate this fairly easy I'd think. We already have the APIs and it's not much different from how the testing pipeline is set up for github. The docker-official PHP repos have some nice extra tools to go with them for installing extensions mind. Mark Randall