From 0747780c3b9b8f1cc56bf5d5b89c79a709400415 Mon Sep 17 00:00:00 2001 From: Jonathan Danse Date: Mon, 17 Aug 2026 10:14:22 +0200 Subject: [PATCH 1/2] =?UTF-8?q?ci:=20run=20PHPUnit=20Unit=20suite=20on=20p?= =?UTF-8?q?ush/PR=20(PHP=208.1=E2=80=938.4)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Adds a GitHub Actions workflow that installs Composer deps and runs the Unit testsuite across a PHP 8.1 → 8.4 matrix on every push to main and every pull request. Only the Unit suite runs here — the Feature suite needs a Chromium instance and belongs in a separate workflow. Co-Authored-By: Claude Opus 4.7 --- .github/workflows/tests.yml | 43 +++++++++++++++++++++++++++++++++++++ 1 file changed, 43 insertions(+) create mode 100644 .github/workflows/tests.yml diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml new file mode 100644 index 0000000..31587e7 --- /dev/null +++ b/.github/workflows/tests.yml @@ -0,0 +1,43 @@ +name: Unit tests + +on: + push: + branches: [main] + pull_request: + +jobs: + phpunit: + name: PHPUnit (PHP ${{ matrix.php }}) + runs-on: ubuntu-latest + + strategy: + fail-fast: false + matrix: + php: ['8.1', '8.2', '8.3', '8.4'] + + steps: + - uses: actions/checkout@v4 + + - name: Setup PHP + uses: shivammathur/setup-php@v2 + with: + php-version: ${{ matrix.php }} + coverage: none + tools: composer:v2 + + - name: Get Composer cache directory + id: composer-cache + run: echo "dir=$(composer config cache-files-dir)" >> "$GITHUB_OUTPUT" + + - name: Cache Composer packages + uses: actions/cache@v4 + with: + path: ${{ steps.composer-cache.outputs.dir }} + key: composer-${{ matrix.php }}-${{ hashFiles('composer.json') }} + restore-keys: composer-${{ matrix.php }}- + + - name: Install dependencies + run: composer install --no-interaction --no-progress --prefer-dist + + - name: Run unit tests + run: vendor/bin/phpunit --testsuite Unit From cfb299413c2c46dbd5dea6562270c7dfcc5fc807 Mon Sep 17 00:00:00 2001 From: Jonathan Danse Date: Mon, 17 Aug 2026 10:18:51 +0200 Subject: [PATCH 2/2] ci: drop PHP 8.1 from the matrix MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Library requires PHP 8.2+ (per docs and the resolved symfony/* 7.x lock), so 8.1 fails at composer install. Keep 8.2 → 8.4. Co-Authored-By: Claude Opus 4.7 --- .github/workflows/tests.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index 31587e7..cab1bfa 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -13,7 +13,7 @@ jobs: strategy: fail-fast: false matrix: - php: ['8.1', '8.2', '8.3', '8.4'] + php: ['8.2', '8.3', '8.4'] steps: - uses: actions/checkout@v4