Mit Travis CI auf Kompatibilität mit einer bestimmten PHP-Version prüfen

Mein Lazy-Loader-Plugin benötigt PHP 5.3 oder höher. Wenn sich User darauf verlassen, ist es ärgerlich, wenn durch eine Unachtsamkeit (wie etwa die Nutzung der []-Syntax für Arrays) in einem Patch- oder Minor-Release diese Mindestanforderung steigt.

Um sowas zu verhindern, lasse ich mit Travis CI jetzt jeden Release auf Kompatibilität mit PHP 5.3 testen.

Das Projekt PHPCompatibility für PHP_CodeSniffer ermöglicht es, Code auf Kompatibilität mit einer bestimmten PHP-Version zu testen (oder mit mehreren Versionen). Die Installation ist über Composer möglich und in der Readme des Projekts beschrieben. Bei mir sieht der require-dev-Teil der composer.json so aus:

"require-dev": {
    "squizlabs/php_codesniffer": "*",
    "wimg/php-compatibility": "*",
    "dealerdirect/phpcodesniffer-composer-installer": "^0.4.4"
},Code-Sprache: JSON / JSON mit Kommentaren (json)

Um jetzt die drei Klassen-Dateien meines Plugins im src-Verzeichnis zu testen, kann ich nach Ausführen von composer install folgenden Befehl verwenden, wenn ich mich im Hauptverzeichnis des Projekts befinde:

vendor/bin/phpcs -p src/ --standard=PHPCompatibility --runtime-set testVersion 5.3Code-Sprache: Bash (bash)

Als Ergebnis bekomme ich optimalerweise ... 3 / 3 (100%) und nicht etwas wie .E. 3 / 3 (100%).

Dieser Befehl kann auch mit Travis CI genutzt werden. Der script-Teil aus der .travis.yml sieht so aus:

script:
- composer install
- vendor/bin/phpcs -p src/ --standard=PHPCompatibility --runtime-set testVersion 5.3Code-Sprache: YAML (yaml)

Wenn dabei nun ein Fehler auftritt, wird der Build abgebrochen und ich kann nicht mehr versehentlich die PHP-5.3-Kompatibilität beenden ?

Ihr findet das Lazy-Loader-Plugin auch auf GitHub, wo ihr euch die .travis.yml und composer.json anschauen könnt.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Falls du auf diesen Beitrag mit einem Artikel auf deiner eigenen Webseite geantwortet hast, kannst du hier die URL deines Beitrags eingeben. Dabei sollte es sich um die Permalink-URL handeln. Deine Antwort wird dann (möglicherweise nach der Moderation) auf dieser Seite angezeigt. Falls du deine Antwort aktualisieren oder entfernen möchtest, aktualisiere oder lösche deinen Beitrag auf deiner eigenen Webseite und gib die URL des Beitrags erneut ein. (Erfahre mehr über Webmentions.)