From 1a7e270a69a086851c4b7f513820b8ff557b0cd5 Mon Sep 17 00:00:00 2001 From: moassaad Date: Mon, 10 Mar 2025 22:27:58 +0200 Subject: [PATCH 1/3] update: add test standard static source code using `phpstan`. --- composer.json | 1 + 1 file changed, 1 insertion(+) diff --git a/composer.json b/composer.json index 69b83d7..076ce0c 100644 --- a/composer.json +++ b/composer.json @@ -81,6 +81,7 @@ "minimum-stability": "dev", "prefer-stable": true, "scripts": { + "test:standard-src-code":"phpstan analyse --ansi src/", "lint": "pint -v", "test:lint": "pint --test -v", "test:types": "phpstan analyse --ansi", From f9f75632a08d2ce00d7348c99d593e064533f360 Mon Sep 17 00:00:00 2001 From: moassaad Date: Mon, 10 Mar 2025 22:30:52 +0200 Subject: [PATCH 2/3] create: deepseek automation test. --- .../workflows/deepseek-automation-test.yml | 25 +++++++++++++++++++ 1 file changed, 25 insertions(+) create mode 100644 .github/workflows/deepseek-automation-test.yml diff --git a/.github/workflows/deepseek-automation-test.yml b/.github/workflows/deepseek-automation-test.yml new file mode 100644 index 0000000..ccacd7a --- /dev/null +++ b/.github/workflows/deepseek-automation-test.yml @@ -0,0 +1,25 @@ +name: DeepSeek Automation Test + +on: + push: + branches: [ master ] + pull_request: + branches: [ master ] + +jobs: + test-code: + runs-on: ubuntu-latest + steps: + - name: Checkout code + uses: actions/checkout@v2 + + - name: Setup PHP + uses: shivammathur/setup-php@v2 + with: + php-version: '8.1' + + - name: Install dependencies + run: composer install + + - name: Run PHPStan for test standard source code. + run: composer run test:standard-src-code \ No newline at end of file From edc6a05ab17809822e238d4205d7007e1225d58b Mon Sep 17 00:00:00 2001 From: omaralalwi Date: Sat, 23 May 2026 02:34:06 +0300 Subject: [PATCH 3/3] ci: expand workflow to matrix PHP 8.1-8.4 running full composer test suite - Bump actions/checkout to v4 (v2 is deprecated). - Add matrix strategy across PHP 8.1, 8.2, 8.3, 8.4 to match the package's `^8.1.0` constraint, with fail-fast disabled so all versions report independently. - Use ramsey/composer-install@v3 for Composer dependency caching keyed by composer.lock and PHP version. - Add concurrency group with cancel-in-progress to save CI minutes when pushes/PRs are superseded. - Replace the single PHPStan step with separate steps for lint (Pint --test), static analysis (PHPStan), type coverage (Pest), and unit tests (Pest), mirroring `composer test` locally and surfacing failures by category in the Actions UI. - Drop the redundant `test:standard-src-code` composer script in favor of the existing `test:types` script (`phpstan analyse --ansi`), which the workflow now invokes. Co-authored-by: Cursor --- .../workflows/deepseek-automation-test.yml | 56 +++++++++++++------ composer.json | 1 - 2 files changed, 40 insertions(+), 17 deletions(-) diff --git a/.github/workflows/deepseek-automation-test.yml b/.github/workflows/deepseek-automation-test.yml index ccacd7a..2b78312 100644 --- a/.github/workflows/deepseek-automation-test.yml +++ b/.github/workflows/deepseek-automation-test.yml @@ -1,25 +1,49 @@ -name: DeepSeek Automation Test +name: tests on: push: - branches: [ master ] + branches: [master] pull_request: - branches: [ master ] + branches: [master] + +concurrency: + group: ${{ github.workflow }}-${{ github.ref }} + cancel-in-progress: true jobs: - test-code: - runs-on: ubuntu-latest + tests: + name: PHP ${{ matrix.php }} on ${{ matrix.os }} + runs-on: ${{ matrix.os }} + strategy: + fail-fast: false + matrix: + os: [ubuntu-latest] + php: ['8.1', '8.2', '8.3', '8.4'] + steps: - name: Checkout code - uses: actions/checkout@v2 - - - name: Setup PHP + uses: actions/checkout@v4 + + - name: Setup PHP ${{ matrix.php }} uses: shivammathur/setup-php@v2 - with: - php-version: '8.1' - - - name: Install dependencies - run: composer install - - - name: Run PHPStan for test standard source code. - run: composer run test:standard-src-code \ No newline at end of file + with: + php-version: ${{ matrix.php }} + coverage: none + tools: composer:v2 + + - name: Install Composer dependencies + uses: ramsey/composer-install@v3 + with: + composer-options: "--prefer-dist --no-progress --no-interaction" + + - name: Lint (Pint --test) + run: composer test:lint + + - name: Static analysis (PHPStan) + run: composer test:types + + - name: Type coverage (Pest) + run: composer test:type-coverage + + - name: Unit tests (Pest) + run: composer test:unit diff --git a/composer.json b/composer.json index 076ce0c..69b83d7 100644 --- a/composer.json +++ b/composer.json @@ -81,7 +81,6 @@ "minimum-stability": "dev", "prefer-stable": true, "scripts": { - "test:standard-src-code":"phpstan analyse --ansi src/", "lint": "pint -v", "test:lint": "pint --test -v", "test:types": "phpstan analyse --ansi",