diff --git a/.github/workflows/php.yml b/.github/workflows/php.yml index 2f5fc19..b59140e 100644 --- a/.github/workflows/php.yml +++ b/.github/workflows/php.yml @@ -24,12 +24,17 @@ jobs: cs: uses: bedita/github-workflows/.github/workflows/php-cs.yml@v2 with: - php_versions: '["8.4"]' + php_versions: '["8.5"]' + + psalm: + uses: bedita/github-workflows/.github/workflows/php-psalm.yml@v2 + with: + php_versions: '["8.5"]' stan: uses: bedita/github-workflows/.github/workflows/php-stan.yml@v2 with: - php_versions: '["8.4"]' + php_versions: '["8.5"]' unit: name: 'Run unit tests' @@ -39,7 +44,7 @@ jobs: strategy: fail-fast: false matrix: - php-version: [8.3, 8.4] + php-version: [8.3, 8.4, 8.5] db: - '{"vendor": "MySQL 8.4", "pdo": "mysql", "dsn": "mysql://bedita:bedita@127.0.0.1:3306/bedita", "image": "mysql:8.4", "options": "--health-cmd \"mysqladmin ping -h localhost\" --health-interval 10s --health-timeout 5s --health-retries 5"}' - '{"vendor": "SQLite", "pdo": "sqlite", "dsn": "sqlite://tmp/test.sql", "db_name": "", "image": "nginx:alpine", "options": "--health-cmd \"/bin/true\" --health-interval 1s --health-timeout 2s --health-retries 5"}' diff --git a/composer.json b/composer.json index c7f5540..bfa1fe7 100644 --- a/composer.json +++ b/composer.json @@ -23,7 +23,8 @@ "phpstan/phpstan": "^1.10", "phpstan/extension-installer": "^1.0", "phpstan/phpstan-deprecation-rules": "^1.0", - "phpunit/phpunit": "^11.5 || ^12.1" + "phpunit/phpunit": "^11.5 || ^12.1", + "vimeo/psalm": "^6.14" }, "minimum-stability": "dev", "suggest": { @@ -49,6 +50,7 @@ "@cs-check", "@stan" ], + "psalm": "vendor/bin/psalm", "stan": "vendor/bin/phpstan analyse", "cs-check": "vendor/bin/phpcs -n -p --extensions=php --standard=vendor/cakephp/cakephp-codesniffer/CakePHP src/ tests/ config/*.php", "cs-fix": "vendor/bin/phpcbf -p --extensions=php --standard=vendor/cakephp/cakephp-codesniffer/CakePHP src/ tests/ config/*.php", diff --git a/psalm.xml b/psalm.xml index 4e8b692..0e8ac5a 100644 --- a/psalm.xml +++ b/psalm.xml @@ -6,10 +6,16 @@ xmlns="https://getpsalm.org/schema/config" xsi:schemaLocation="https://getpsalm.org/schema/config vendor/vimeo/psalm/config.xsd" > + + + + + +