This is an old revision of the document!
Hosted runner providers
- GitHub Actions: Used for Windows, macOS, Linux, FreeBSD (in a VM)
- CircleCI: ARM Linux
Formerly, CircleCI was used for FreeBSD. Travis CI used to be used for s390x Linux. Azure Pipelines used to be used.
Self-hosted runner systems
Currently, none are run by the project/foundation itself, and provided by the community. Official runners (if they exist) should also be documented on the systems page.
Name | Architecture | OS | CI Platform | Provided by | Notes |
---|---|---|---|---|---|
php-ci-ppc64 | PowerPC 64-bit, big endian | Gentoo | GitHub Actions (github-act-runner) | calvinb@php.net | Attached, not yet running jobs |
Provisioning new runners
New self-hosted runners should only be necessary if we can't use a hosted platform for it (or a hosted platform is too expensive). Integrating with GitHub Actions is preferable. For platforms that the official GitHub Actions runner doesn't support, alternative implementations like github-act-runner can be used. Ideally, new runner systems should be hosted in i.e. a datacentre
The process looks something like this:
- Set up your runner, and make your fork of php-src use it. It's recommended you add a nightly flow instead of push, unless you have i.e. autoscaling. Iterate and trigger nightly runs manually.
- If your added workflow is in a good state, create a PR for it.
- Once the workflow is ready to be merged, but before it is merged, get the runner added to the php/php-src repository.