BackwardCompatibilityCheck
8.10.0
可以用來驗證兩個版本的PHP庫之間BC斷裂的工具。
gitcomposer.json定義其依賴性composer.json中的"autoload"部分覆蓋git 。您可以實現自己的邏輯以從項目中提取來源和依賴關係。 composer require --dev roave/backward-compatibility-check您也可以使用Docker運行roave-backward-compatibility-check :
docker run --rm -v ` pwd ` :/app nyholm/roave-bc-check典型的預期用法是只添加roave-backward-compatibility-check到您的CI構建:
vendor/bin/roave-backward-compatibility-check這將自動檢測到標記的最後一個次要版本,並將API與當前HEAD進行比較。如果發現任何BC休息時間,該工具將返回非零狀態,在大多數CI系統上,這會導致構建失敗。
注意:檢測基本版本僅在符合SEMVER xyz格式(例如1.2.3 )中具有git標籤時起作用。
注意:由於此工具依賴於標籤,因此您需要確保將標籤作為CI管道的一部分獲取。例如,在github操作中,請注意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還提供了一個簡單的GitHub動作,您可以在GitHub管道中使用該操作。我們建議在大多數情況下進行易於設置,因此建議這樣做:
.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-ga為Changelog生成其他文檔:
vendor/bin/roave-backward-compatibility-check --format=markdown > results.md在GitHub操作中運行時,使用--format=github-actions輸出格式:
vendor/bin/roave-backward-compatibility-check --format=github-actions如果您需要進一步的指導:
vendor/bin/roave-backward-compatibility-check --help當前沒有配置選項。