Ein Tool, mit dem BC zwischen zwei Versionen einer PHP -Bibliothek unterteilt werden kann.
gitcomposer.json um seine Abhängigkeiten zu definierencomposer.json durch einen "autoload" -Abschnitt abgedecktgit verpflichtet werden, um zu versichert. Sie können Ihre eigene Logik implementieren, um Quellen und Abhängigkeiten aus einem Projekt zu extrahieren. composer require --dev roave/backward-compatibility-check Sie können auch Docker verwenden, um roave-backward-compatibility-check durchzuführen:
docker run --rm -v ` pwd ` :/app nyholm/roave-bc-check Die typische beabsichtigte Verwendung besteht darin, Ihrem CI-Build nur roave-backward-compatibility-check hinzuzufügen:
vendor/bin/roave-backward-compatibility-check Dadurch wird automatisch die letzte markierte kleinere Version erfasst und die API mit dem aktuellen HEAD verglichen. Wenn BC-Pausen gefunden werden, gibt das Tool einen Status ungleich Null zurück, der in den meisten CI-Systemen dazu führt, dass der Build scheitert.
Hinweis: Das Erkennen der Basisversion funktioniert nur, wenn Sie GIT-Tags im SEMVER-konformen xyz Format wie 1.2.3 haben.
Hinweis: Da dieses Tool auf Tags angewiesen ist, müssen Sie sicherstellen, dass Tags als Teil Ihrer CI -Pipeline abgerufen werden. Beachten Sie beispielsweise in einer GitHub-Aktion die Verwendung von 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 bietet auch eine einfache Github -Aktion, die Sie in Ihrer Github -Pipeline verwenden können. Wir empfehlen dies für die meisten Fälle, da es einfach zu errichten ist:
.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-gaUm zusätzliche Dokumentation für ChangeLogs zu generieren:
vendor/bin/roave-backward-compatibility-check --format=markdown > results.md Beim Ausführen von GitHub-Aktionen wird es gebilligt, das Ausgangsformat --format=github-actions auszuführen:
vendor/bin/roave-backward-compatibility-check --format=github-actionsWenn Sie weitere Anleitung benötigen:
vendor/bin/roave-backward-compatibility-check --helpDerzeit sind keine Konfigurationsoptionen verfügbar.