Browse Source

Merge pull request #13026 from cakephp/4.x-scruti

Offload phpcs and static analysis checks to Scrutinizer
ADmad 7 years ago
parent
commit
5d5ffa7675
2 changed files with 61 additions and 35 deletions
  1. 35 4
      .scrutinizer.yml
  2. 26 31
      .travis.yml

+ 35 - 4
.scrutinizer.yml

@@ -1,5 +1,36 @@
-checks:
-  php: true
+tools:
+  external_code_coverage:
+    timeout: 1800
+    runs: 3
 
-filter:
-  paths: ['src/*']
+build:
+  environment:
+    php:
+      version: 7.1
+
+  nodes:
+    phpcs:
+      tests:
+        override:
+          - phpcs-run src/ tests/
+
+    static-analysis:
+      environment:
+        php:
+          ini:
+            'memory_limit': -1
+          pecl_extensions:
+            - redis
+            - memcached
+            - apcu
+      dependencies:
+        override:
+          - composer stan-setup
+      tests:
+        override:
+          - vendor/bin/phpstan analyse src/
+          - vendor/bin/psalm --show-info=false
+
+build_failure_conditions:
+  - 'issues.count > 0'
+  - 'project.metric_change("scrutinizer.test_coverage", < -0.01)'

+ 26 - 31
.travis.yml

@@ -1,21 +1,10 @@
 language: php
 
-php:
-  - 7.1
-  - 7.2
-  - 7.3
-
 dist: trusty
 
 env:
-  matrix:
-    - DB=mysql db_dsn='mysql://root@127.0.0.1/cakephp_test?init[]=SET sql_mode = "STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"'
-    - DB=pgsql db_dsn='postgres://postgres@127.0.0.1/cakephp_test'
-    - DB=sqlite db_dsn='sqlite:///:memory:'
   global:
-    - DEFAULT=1
     - CODECOVERAGE=0
-    - PHPCS=0
 
 services:
   - memcached
@@ -35,14 +24,24 @@ matrix:
   fast_finish: true
 
   include:
+    - php: 7.1
+      env: CODECOVERAGE=1 DB=mysql db_dsn='mysql://root@127.0.0.1/cakephp_test?init[]=SET sql_mode = "STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"'
+    - php: 7.1
+      env: CODECOVERAGE=1 DB=pgsql db_dsn='postgres://postgres@127.0.0.1/cakephp_test'
+    - php: 7.1
+      env: CODECOVERAGE=1 DB=sqlite db_dsn='sqlite:///:memory:'
     - php: 7.2
-      env: CODECOVERAGE=1 DEFAULT=0
-
+      env: DB=mysql db_dsn='mysql://root@127.0.0.1/cakephp_test?init[]=SET sql_mode = "STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"'
     - php: 7.2
-      env: PHPCS=1 DEFAULT=0
-
-    - php: 7.1
-      env: STATIC_ANALYSIS=1 DEFAULT=0
+      env: DB=pgsql db_dsn='postgres://postgres@127.0.0.1/cakephp_test'
+    - php: 7.2
+      env: DB=sqlite db_dsn='sqlite:///:memory:'
+    - php: 7.3
+      env: DB=mysql db_dsn='mysql://root@127.0.0.1/cakephp_test?init[]=SET sql_mode = "STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"'
+    - php: 7.3
+      env: DB=pgsql db_dsn='postgres://postgres@127.0.0.1/cakephp_test'
+    - php: 7.3
+      env: DB=sqlite db_dsn='sqlite:///:memory:'
 
 before_install:
   - echo cakephp version && tail -1 VERSION.txt
@@ -57,12 +56,12 @@ before_install:
   - if [ $DB = 'pgsql' ]; then psql -c 'CREATE SCHEMA test3;' -U postgres -d cakephp_test; fi
 
   - |
-      if [[ ${TRAVIS_PHP_VERSION} != "7.3" && $PHPCS = 0 ]]; then
+      if [[ $TRAVIS_PHP_VERSION != "7.3" ]]; then
         echo 'extension = memcached.so' >> ~/.phpenv/versions/$(phpenv version-name)/etc/php.ini;
       fi
-  - if [[ $PHPCS = 0 ]] ; then echo 'extension = redis.so' >> ~/.phpenv/versions/$(phpenv version-name)/etc/php.ini; fi
-  - if [[ $PHPCS = 0 ]] ; then echo 'extension = apcu.so' >> ~/.phpenv/versions/$(phpenv version-name)/etc/php.ini; fi
-  - if [[ $PHPCS = 0 ]] ; then echo 'apc.enable_cli = 1' >> ~/.phpenv/versions/$(phpenv version-name)/etc/php.ini; fi
+  - echo 'extension = redis.so' >> ~/.phpenv/versions/$(phpenv version-name)/etc/php.ini
+  - echo 'extension = apcu.so' >> ~/.phpenv/versions/$(phpenv version-name)/etc/php.ini
+  - echo 'apc.enable_cli = 1' >> ~/.phpenv/versions/$(phpenv version-name)/etc/php.ini
 
   - sudo locale-gen da_DK
 
@@ -70,19 +69,15 @@ before_script:
   - composer install --prefer-dist --no-interaction
 
 script:
-  - if [[ $CODECOVERAGE = 1 ]]; then phpdbg -qrr vendor/bin/phpunit --coverage-clover=clover.xml; fi
-  - if [[ $DEFAULT = 1 ]]; then vendor/bin/phpunit; fi
-
-  - if [[ $PHPCS = 1 ]]; then composer cs-check; fi
+  - if [[ $CODECOVERAGE == 1 ]]; then phpdbg -qrr vendor/bin/phpunit --coverage-clover=clover.xml; fi
+  - if [[ $CODECOVERAGE != 1 ]]; then vendor/bin/phpunit; fi
 
+after_script:
   - |
-      if [[ $STATIC_ANALYSIS = 1 ]]; then
-        composer stan-setup
-        composer stan
+      if [[ $CODECOVERAGE == 1 ]]; then
+        wget https://scrutinizer-ci.com/ocular.phar
+        php ocular.phar code-coverage:upload --format=php-clover clover.xml
       fi
 
-after_success:
-  - if [[ $CODECOVERAGE == 1 ]]; then bash <(curl -s https://codecov.io/bash); fi
-
 notifications:
   email: false