BackwardCompatibilityCheck
8.10.0
PHPライブラリの2つのバージョン間のBCブレイクを検証するために使用できるツール。
gitを使用しますcomposer.jsonを使用してその依存関係を定義しますcomposer.jsonの"autoload"セクションで覆われていますgitをコミットする必要があります。ただし、プロジェクトからソースと依存関係を抽出するために独自のロジックを実装できます。 composer require --dev roave/backward-compatibility-checkDockerを使用してroave-backward-compatibility-checkを実行することもできます。
docker run --rm -v ` pwd ` :/app nyholm/roave-bc-check典型的な意図された使用法は、CIビルドにroave-backward-compatibility-checkを追加することです。
vendor/bin/roave-backward-compatibility-checkこれにより、タグが付けられた最後のマイナーバージョンが自動的に検出され、APIが現在のHEADと比較されます。 BCブレイクが見つかった場合、ツールはゼロ以外のステータスを返します。これにより、ほとんどのCIシステムでビルドが失敗します。
注:ベースバージョンの検出は、 1.2.3などのSemverに準拠したxyz形式に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-gaChangelogsの追加ドキュメントを生成するには:
vendor/bin/roave-backward-compatibility-check --format=markdown > results.mdGitHubアクションで実行するとき、 --format=github-actions出力形式を使用することが承認されています。
vendor/bin/roave-backward-compatibility-check --format=github-actionsさらなるガイダンスが必要な場合:
vendor/bin/roave-backward-compatibility-check --help現在、利用可能な構成オプションはありません。