“Al final, el ser constante te hace ganar la carrera”

Nuevo PHP

Proyecto PHP agrega acciones de GitHub para CI/CD

El proyecto PHP utiliza actualmente, y ha utilizado anteriormente, varias plataformas de integración continua/entrega continua (CI/CD) para probar el código fuente de PHP en varias plataformas y configuraciones cada vez que se realizan confirmaciones en el repositorio de código fuente.

angular-vs-react-js-01
Proyecto PHP agrega acciones de GitHub para CI/CD

El conjunto de pruebas de PHP incluye pruebas en plataformas Linux, Windows y Mac OS, así como pruebas en diferentes configuraciones, como pruebas con y sin seguridad de subprocesos, JIT y Opcache. Además, incluye pruebas con controladores de bases de datos como la base de datos Oracle y MySQL. Hay más de 17 000 pruebas que cubren varios casos y características de borde, y con varias plataformas y banderas para probar, el proceso de CI/CD de PHP requiere una cantidad significativa de recursos informáticos.

PHP históricamente usó Travis CI, pero han estado limitando su asignación de compilaciones gratuitas para repositorios de código abierto después de ser adquiridos por Idera.

El proyecto PHP actualmente usa AppVeyor para sus compilaciones de Windows, Azure Pipelines para las pruebas de Mac OS y Linux, y Cirrus CI para las compilaciones de FreeBSD.

Después de que el repositorio canónico de PHP Git se haya movido a GitHub en marzo de 2021, ha habido más integraciones con GitHub, como permitir que GitHub Issues se use en lugar del antiguo rastreador de errores de PHP en bugs.php.net.

GitHub también ofrece su propia característica de CI/CD llamada GitHub Actions. Es relativamente nuevo en el espacio de CI/CD, pero ofrece una alternativa más estrechamente integrada a otras soluciones de CI/CD con una mejor integración con los repositorios de GitHub y compilaciones gratuitas para proyectos de código abierto. GitHub Actions sigue un formato de configuración muy similar a Azure Pipelines, y el proyecto PHP ya lo usa en algunas tareas de rutina, como el mantenimiento automático de solicitudes de extracción y problemas.

El proyecto PHP recientemente comenzó a usar GitHub Actions para compilaciones de Linux y Mac OS. Estos flujos de trabajo se ejecutan además de las compilaciones existentes de Azure Pipelines para Linux y Mac OS por el momento. El nuevo flujo de trabajo se activa para cada inserción de código en las ramas de PHP 7.4, 8.0, 8.1 y la rama de desarrollo principal. Construye y ejecuta pruebas para PHP, incluidas pruebas para varias extensiones de PHP incluidas, activación y desactivación de seguridad de subprocesos, activación y desactivación de JIT/Opcache, y más.

angular-vs-react-js-01
Servicios de CI/CD de PHP en uso después de agregar GitHub Actions.

Con la amplia disponibilidad de plataformas compatibles en GitHub Actions, es posible consolidar el espacio CI/CD actual del proyecto PHP en GitHub Actions en el futuro.

Categorías