Download the PHP package roave/backward-compatibility-check without Composer
On this page you can find all versions of the php package roave/backward-compatibility-check. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download roave/backward-compatibility-check
More information about roave/backward-compatibility-check
Files in roave/backward-compatibility-check
Package backward-compatibility-check
Short Description Tool to compare two revisions of a public API to check for BC breaks
License MIT
Informations about the package backward-compatibility-check
Roave Backward Compatibility Check
A tool that can be used to verify BC breaks between two versions of a PHP library.
Pre-requisites/assumptions
- Your project uses
git
- Your project uses
composer.json
to define its dependencies - All source paths are covered by an
"autoload"
section incomposer.json
- Changes need to be committed to
git
to be covered. You can implement your own logic to extract sources and dependencies from a project though.
Installation
Install with Docker
You can also use Docker to run roave-backward-compatibility-check
:
Usage
Adding to a continuous integration pipeline
The typical intended usage is to just add roave-backward-compatibility-check
to your CI build:
This will automatically detect the last minor version tagged, and
compare the API against the current HEAD
. If any BC breaks are found,
the tool returns a non-zero status, which on most CI systems will cause
the build to fail.
NOTE: detecting the base version only works if you have git tags in
the SemVer-compliant x.y.z
format, such as 1.2.3
.
NOTE: since this tool relies on tags, you need to make sure tags are fetched
as part of your CI pipeline. For example in a GitHub action, note the use of
fetch-depth: 0
:
Nyholm Github Action
Tobias Nyholm also offers a simple GitHub action that you can use in your Github pipeline. We recommend this for most cases as it is simple to set up:
.github/workflows/main.yml
:
Running manually
To generate additional documentation for changelogs:
GitHub Actions
When running in GitHub Actions, it is endorsed to use the --format=github-actions
output format:
Documentation
If you need further guidance:
Configuration
There are currently no configuration options available.
All versions of backward-compatibility-check with dependencies
azjezz/psl Version ^3.0.2
composer/composer Version ^2.7.6
nikic/php-parser Version ^4.19.1
nikolaposa/version Version ^4.2.0
ocramius/package-versions Version ^2.8.0
roave/better-reflection Version ^6.26.0
symfony/console Version ^7.0.7