diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml new file mode 100644 index 0000000..dfcd0d3 --- /dev/null +++ b/.github/workflows/test.yml @@ -0,0 +1,45 @@ +name: Test + +on: + push: + branches: [ 'main' ] + pull_request: + types: [ 'opened', 'synchronize', 'reopened' ] + +jobs: + test: + runs-on: ubuntu-latest + + strategy: + matrix: + php-version: [ '8.1', '8.2', '8.3' ] + + steps: + - name: Checkout source code + uses: actions/checkout@v2 + with: + fetch-depth: 0 + + - name: Set up PHP ${{ matrix.php-version }} + uses: shivammathur/setup-php@v2 + with: + php-version: ${{ matrix.php-version }} + coverage: xdebug + tools: composer:v2 + + - name: Cache dependencies + uses: actions/cache@v2 + with: + path: ~/.composer/cache + key: php-${{ matrix.php-version }}-composer-${{ hashFiles('**/composer.json') }} + restore-keys: php-${{ matrix.php-version }}-composer- + + - name: Validate composer.json and composer.lock + run: composer validate + + - name: Install dependencies + if: steps.composer-cache.outputs.cache-hit != 'true' + run: composer install --prefer-dist --no-progress --no-suggest + + - name: Execute Static Code analysis + run: composer analyse \ No newline at end of file diff --git a/composer.json b/composer.json index 7b9ea7c..7de492c 100644 --- a/composer.json +++ b/composer.json @@ -13,9 +13,21 @@ "require": { "php": "^8.1" }, + "require-dev": { + "phpstan/phpstan": "^1.0", + "phpstan/extension-installer": "^1.3" + }, "autoload": { "psr-4": { "ComplexHeart\\": "src/" } + }, + "scripts": { + "analyse": "vendor/bin/phpstan analyse src --no-progress --level=9" + }, + "config": { + "allow-plugins": { + "phpstan/extension-installer": true + } } } diff --git a/src/Domain/Contracts/Model/ValueObject.php b/src/Domain/Contracts/Model/ValueObject.php index fb2d0c4..5c12815 100644 --- a/src/Domain/Contracts/Model/ValueObject.php +++ b/src/Domain/Contracts/Model/ValueObject.php @@ -15,7 +15,7 @@ interface ValueObject /** * Return the attribute values. * - * @return array + * @return array */ public function values(): array;