Una herramienta que se puede usar para verificar BC rompe entre dos versiones de una biblioteca PHP.
gitcomposer.json para definir sus dependencias"autoload" en composer.jsongit para que se cubra. Sin embargo, puede implementar su propia lógica para extraer fuentes y dependencias de un proyecto. composer require --dev roave/backward-compatibility-check También puede usar Docker para ejecutar roave-backward-compatibility-check :
docker run --rm -v ` pwd ` :/app nyholm/roave-bc-check El uso típico previsto es simplemente agregar roave-backward-compatibility-check a su construcción de CI:
vendor/bin/roave-backward-compatibility-check Esto detectará automáticamente la última versión menor etiquetada y comparará la API con el HEAD actual. Si se encuentran roturas de BC, la herramienta devuelve un estado distinto de cero, que en la mayoría de los sistemas CI hará que la compilación falle.
Nota: La detección de la versión base solo funciona si tiene etiquetas GIT en el formato xyz que cumple con Semver, como 1.2.3 .
Nota: Dado que esta herramienta se basa en las etiquetas, debe asegurarse de que las etiquetas se obtengan como parte de su tubería CI. Por ejemplo, en una acción de GitHub, tenga en cuenta el uso de fetch-depth: 0 :
jobs :
roave-backwards-compatibility-check :
name : Roave Backwards Compatibility Check
runs-on : ubuntu-latest
steps :
- uses : actions/checkout@v2
with :
fetch-depth : 0
- name : " Install PHP "
uses : shivammathur/setup-php@v2
with :
php-version : " 8.0 "
- name : " Install dependencies "
run : " composer install "
- name : " Check for BC breaks "
run : " vendor/bin/roave-backward-compatibility-check " Tobias Nyholm también ofrece una acción simple de GitHub que puede usar en su tubería GitHub. Recomendamos esto para la mayoría de los casos, ya que es simple de configurar:
.github/workflows/main.yml :
on : [push]
name : Test
jobs :
roave-backwards-compatibility-check :
name : Roave Backwards Compatibility Check
runs-on : ubuntu-latest
steps :
- uses : actions/checkout@v2
with :
fetch-depth : 0
- name : " Check for BC breaks "
uses : docker://nyholm/roave-bc-check-gaPara generar documentación adicional para Changelogs:
vendor/bin/roave-backward-compatibility-check --format=markdown > results.md Cuando se ejecuta en acciones de GitHub, se respalda usar el formato de salida --format=github-actions :
vendor/bin/roave-backward-compatibility-check --format=github-actionsSi necesita más orientación:
vendor/bin/roave-backward-compatibility-check --helpActualmente no hay opciones de configuración disponibles.