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当前没有配置选项。