أداة يمكن استخدامها للتحقق من فواصل BC بين نسختين من مكتبة PHP.
gitcomposer.json لتحديد تبعياته"autoload" في composer.jsongit لتغطية. يمكنك تنفيذ المنطق الخاص بك لاستخراج المصادر وتبعيات من المشروع. 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 سيؤدي ذلك تلقائيًا إلى اكتشاف آخر إصدار ثانوي تم وضع علامة عليه ، ومقارنة واجهة برمجة التطبيقات مقابل HEAD الحالي. إذا تم العثور على أي فواصل قبل الميلاد ، فإن الأداة تُرجع حالة غير صفرية ، والتي ستتسبب في معظم أنظمة CI في فشل البناء.
ملاحظة: لا يعمل اكتشاف الإصدار الأساسي فقط إذا كان لديك علامات GIT بتنسيق xyz متوافق مع SEMVER ، مثل 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 " يقدم Tobias Nyholm أيضًا إجراءً بسيطًا للجيثب يمكنك استخدامه في خط أنابيب جيثب. نوصي بهذا لمعظم الحالات لأنه من السهل الإعداد:
.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لتوليد وثائق إضافية لـ Changelogs:
vendor/bin/roave-backward-compatibility-check --format=markdown > results.md عند التشغيل في إجراءات github ، يتم تأييده لاستخدام- --format=github-actions format:
vendor/bin/roave-backward-compatibility-check --format=github-actionsإذا كنت بحاجة إلى مزيد من التوجيه:
vendor/bin/roave-backward-compatibility-check --helpلا يوجد حاليًا أي خيارات تكوين متاحة.