Un outil qui peut être utilisé pour vérifier les ruptures de la Colombie-Britannique entre deux versions d'une bibliothèque PHP.
gitcomposer.json pour définir ses dépendances"autoload" dans composer.jsongit . Vous pouvez cependant implémenter votre propre logique pour extraire des sources et des dépendances d'un projet. composer require --dev roave/backward-compatibility-check Vous pouvez également utiliser Docker pour exécuter roave-backward-compatibility-check :
docker run --rm -v ` pwd ` :/app nyholm/roave-bc-check L'utilisation typique est d'ajouter simplement roave-backward-compatibility-check à votre construction CI:
vendor/bin/roave-backward-compatibility-check Cela détectera automatiquement la dernière version mineure marquée et comparera l'API avec la HEAD actuelle. Si des ruptures de BC sont trouvées, l'outil renvoie un statut non nul, qui sur la plupart des systèmes CI entraînera l'échec de la construction.
Remarque: La détection de la version de base ne fonctionne que si vous avez des balises GIT dans le format xyz conforme à SEMVER, tel que 1.2.3 .
Remarque: Étant donné que cet outil repose sur des balises, vous devez vous assurer que les balises sont récupérées dans le cadre de votre pipeline CI. Par exemple dans une action GitHub, notez l'utilisation 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 propose également une action GitHub simple que vous pouvez utiliser dans votre pipeline GitHub. Nous recommandons cela pour la plupart des cas car il est simple à installer:
.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-gaPour générer une documentation supplémentaire pour les modifications de change:
vendor/bin/roave-backward-compatibility-check --format=markdown > results.md Lors de l'exécution en actions GitHub, il est approuvé d'utiliser le format de sortie --format=github-actions :
vendor/bin/roave-backward-compatibility-check --format=github-actionsSi vous avez besoin de conseils supplémentaires:
vendor/bin/roave-backward-compatibility-check --helpIl n'y a actuellement aucune option de configuration disponible.