1
0
mirror of https://github.com/danog/psalm.git synced 2025-01-22 05:41:20 +01:00

Ensure BC of API, compat with roave/you-are-using-it-wrong, completeness of composer.json (#2140)

* Test against `roave/you-are-using-it-wrong`

* Added CI step to ensure BC of declared API

* Added step to ensure `composer.json` has all used deps

* Including CI check tools as dev dependencies

* Typo fix: s/backwards/backward

* Run `roave/backward-compatibility-check` off an isolated location with no other dependencies

* Run `test-with-real-projects` task with PHP 7.4 as base runtime

* Run `testing-with-real-projects` also against `ocramius/proxy-manager`

`ocramius/proxy-manager` is an extremely heavy `vimeo/psalm` consumer,
and relies on a lot of the templated types system to generate real
types for proxies produced by runtime evaluation.
This commit is contained in:
Marco Pivetta 2020-01-01 19:55:33 +01:00 committed by Matthew Brown
parent 270a99f57d
commit b26c57237f
3 changed files with 33 additions and 1 deletions

View File

@ -4,6 +4,9 @@ executors:
php-72: php-72:
docker: docker:
- image: thecodingmachine/php:7.2-v2-cli - image: thecodingmachine/php:7.2-v2-cli
php-74:
docker:
- image: thecodingmachine/php:7.4-v3-cli
jobs: jobs:
install-and-self-analyse: install-and-self-analyse:
executor: php-72 executor: php-72
@ -90,7 +93,7 @@ jobs:
paths: paths:
- build/psalm.phar - build/psalm.phar
test-with-real-projects: test-with-real-projects:
executor: php-72 executor: php-74
steps: steps:
- checkout # used here just for the side effect of loading the github public ssh key so we can clone other stuff - checkout # used here just for the side effect of loading the github public ssh key so we can clone other stuff
- attach_workspace: - attach_workspace:

View File

@ -62,6 +62,20 @@ jobs:
script: script:
- vendor/bin/phpcs - vendor/bin/phpcs
- stage: Ensure API BC
php: 7.4
env: DEPS="high"
script:
- mkdir /tmp/bc-check && composer require --working-dir=/tmp/bc-check --dev roave/backward-compatibility-check:^4.0.0
- /tmp/bc-check/vendor/bin/roave-backward-compatibility-check
- stage: Ensure no transient used dependencies
php: 7.3
env: DEPS="high"
script:
- composer require --dev maglnet/composer-require-checker:^2.0.0
- ./vendor/bin/composer-require-checker check ./composer.json
- stage: Phar build - stage: Phar build
php: 7.3 php: 7.3
env: DEPS="high" env: DEPS="high"

View File

@ -20,3 +20,18 @@ git clone git@github.com:muglug/collections.git
cd collections cd collections
composer install composer install
~/project/psalm --monochrome --show-info=false ~/project/psalm --monochrome --show-info=false
cd /tmp/testing-with-real-projects
git clone git@github.com:Ocramius/ProxyManager.git
cd ProxyManager
composer install
~/project/build/psalm.phar --monochrome
cd /tmp/testing-with-real-projects
git clone git@github.com:roave/you-are-using-it-wrong.git
cd you-are-using-it-wrong
composer install
~/project/build/psalm.phar --monochrome
./vendor/bin/phpunit