roave / backward-compatibility-check
工具,用于比较公共API的两个版本,以检查向后兼容性破坏
8.9.0
2024-09-05 15:11 UTC
Requires
- php: ~8.2.0 || ~8.3.0
- azjezz/psl: ^2.9.1
- composer/composer: ^2.7.6
- nikic/php-parser: ^4.19.1
- nikolaposa/version: ^4.2.0
- ocramius/package-versions: ^2.8.0
- roave/better-reflection: ^6.26.0
- symfony/console: ^7.0.7
Requires (Dev)
- doctrine/coding-standard: ^12.0.0
- php-standard-library/psalm-plugin: ^2.3.0
- phpunit/phpunit: ^9.6.19
- psalm/plugin-phpunit: ^0.19.0
- roave/infection-static-analysis-plugin: ^1.35.0
- roave/security-advisories: dev-master
- squizlabs/php_codesniffer: ^3.10.0
- vimeo/psalm: ^5.24.0
Conflicts
- revolt/event-loop: <0.2.5
- symfony/process: <5.3.7
- 8.10.x-dev
- 8.9.x-dev
- 8.9.0
- 8.8.x-dev
- 8.8.0
- 8.7.x-dev
- 8.7.0
- 8.6.x-dev
- 8.6.0
- 8.5.x-dev
- 8.5.0
- 8.4.x-dev
- 8.4.0
- 8.3.x-dev
- 8.3.0
- 8.2.x-dev
- 8.2.1
- 8.2.0
- 8.1.x-dev
- 8.1.0
- 8.0.x-dev
- 8.0.0
- 7.5.x-dev
- 7.4.x-dev
- 7.4.0
- 7.3.x-dev
- 7.3.0
- 7.2.x-dev
- 7.2.0
- 7.1.x-dev
- 7.1.0
- 7.0.x-dev
- 7.0.0
- 6.5.x-dev
- 6.4.x-dev
- 6.4.0
- 6.3.x-dev
- 6.3.0
- 6.2.x-dev
- 6.2.0
- 6.1.x-dev
- 6.1.1
- 6.1.0
- 6.0.x-dev
- 6.0.1
- 6.0.0
- 5.0.x-dev
- 5.0.0
- 4.4.0
- 4.3.0
- 4.2.1
- 4.2.0
- 4.1.0
- 4.0.0
- 3.0.0
- 2.1.0
- 2.0.0
- 1.1.1
- 1.1.0
- 1.0.3
- 1.0.2
- 1.0.1
- 1.0.0
- dev-renovate/phpunit-phpunit-11.x
- dev-renovate/nikic-php-parser-5.x
- dev-renovate/azjezz-psl-3.x
- dev-renovate/all-minor-patch
- dev-renovate/lock-file-maintenance
- dev-renovate/determinatesystems-nix-installer-action-14.x
- dev-cleanup/remove-phar-builds
- dev-phar-release-script
This package is auto-updated.
Last update: 2024-09-22 03:30:47 UTC
README
一个可以用来验证PHP库两个版本之间向后兼容性破坏的工具。
先决条件/假设
- 您的项目使用
git
- 您的项目使用
composer.json
定义其依赖项 - 所有源路径都在
composer.json
中的"autoload"
部分中覆盖 - 需要将更改提交到
git
以进行覆盖。您也可以实现自己的逻辑从项目中提取源代码和依赖项。
安装
composer require --dev roave/backward-compatibility-check
使用Docker安装
您也可以使用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
进行比较。如果发现任何向后兼容性破坏,则工具返回非零状态,在大多数CI系统中这将导致构建失败。
注意:仅当您具有符合SemVer规范的 x.y.z
格式的git标签时,才能检测基本版本,例如 1.2.3
。
注意:由于此工具依赖于标签,您需要确保作为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"
Nyholm Github Action
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
手动运行
为更改日志生成额外文档
vendor/bin/roave-backward-compatibility-check --format=markdown > results.md
GitHub Actions
在GitHub Actions中运行时,建议使用 --format=github-actions
输出格式
vendor/bin/roave-backward-compatibility-check --format=github-actions
文档
如果您需要进一步指导
vendor/bin/roave-backward-compatibility-check --help
配置
目前没有可用的配置选项。