From cc9ce9dfd433973df5428a56dba07de7cbc8e733 Mon Sep 17 00:00:00 2001 From: Matthias Pigulla Date: Thu, 4 Dec 2025 11:53:53 +0100 Subject: [PATCH] Update test workflow to use Symfony Flex for restricting Symfony versions --- .github/workflows/lock-symfony-version.sh | 3 -- .github/workflows/tests.yml | 39 +++++++++++------------ 2 files changed, 19 insertions(+), 23 deletions(-) delete mode 100755 .github/workflows/lock-symfony-version.sh diff --git a/.github/workflows/lock-symfony-version.sh b/.github/workflows/lock-symfony-version.sh deleted file mode 100755 index 0bdbe89..0000000 --- a/.github/workflows/lock-symfony-version.sh +++ /dev/null @@ -1,3 +0,0 @@ -#!/bin/bash - -cat <<< $(jq --arg version $VERSION '.require |= with_entries(if ((.key|test("^symfony/service-contracts")|not) and (.key|test("^symfony/"))) then .value=$version else . end)' < composer.json) > composer.json diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index c895728..63c524e 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -6,38 +6,37 @@ on: - master pull_request: -env: - APP_ENV: test - TEMP: ${{ github.workspace }}/tmp - SYMFONY_DEPRECATIONS_HELPER: weak - jobs: PHPUnit: - runs-on: ubuntu-latest + runs-on: ubuntu-22.04 strategy: fail-fast: false matrix: include: - - { php-version: 8.1, symfony-locked-version: none, dependency-version: prefer-lowest } - - { php-version: 8.2, symfony-locked-version: 6.4.*, dependency-version: prefer-stable } - - { php-version: 8.3, symfony-locked-version: none, dependency-version: prefer-stable } - name: PHPUnit (PHP ${{matrix.php-version}}, Symfony Version Lock ${{ matrix.symfony-locked-version }}, ${{ matrix.dependency-version }}) + - { php-version: 8.1, symfony-version: '', orm-version: '', dependency-version: prefer-lowest } + - { php-version: 8.3, symfony-version: 6.4.*, orm-version: '^2.20', dependency-version: '' } + - { php-version: 8.3, symfony-version: 6.4.*, orm-version: '^3.0', dependency-version: '' } + - { php-version: 8.4, symfony-version: 7.*, orm-version: '^2.20', dependency-version: '' } + - { php-version: 8.4, symfony-version: 7.*, orm-version: '^3.0', dependency-version: '' } + name: PHPUnit (PHP ${{matrix.php-version}}, Symfony version constraint ${{ matrix.symfony-version || 'none' }}, Doctrine ORM version constraint ${{ matrix.orm-version || 'none' }}, ${{ matrix.dependency-version || 'prefer-stable' }}) steps: + - uses: actions/checkout@v4 - uses: shivammathur/setup-php@v2 with: php-version: ${{ matrix.php-version }} coverage: none - tools: composer:v2 - - uses: actions/checkout@v4 - - run: VERSION=${{ matrix.symfony-locked-version }} .github/workflows/lock-symfony-version.sh - if: matrix.symfony-locked-version != 'none' + tools: composer:v2, flex - uses: actions/cache@v4 with: path: vendor - key: composer-${{ runner.os }}-${{ matrix.php-version }}-${{ matrix.symfony-locked-version }}-${{ matrix.dependency-version }}-${{ hashFiles('composer.json') }} + key: composer-${{ runner.os }}-${{ matrix.php-version }}-${{ matrix.symfony-version }}-${{ matrix.orm-version }}-${{ matrix.dependency-version }}-${{ hashFiles('composer.json') }} restore-keys: | - composer-${{ runner.os }}-${{ matrix.php-version }}-${{ matrix.symfony-locked-version }}-${{ matrix.dependency-version }}- - - run: | - composer update --${{ matrix.dependency-version }} --no-interaction --no-scripts --no-progress --ansi - composer show - - run: vendor/bin/phpunit + composer-${{ runner.os }}-${{ matrix.php-version }}-${{ matrix.symfony-version }}-${{ matrix.orm-version }}-${{ matrix.dependency-version }}- + - run: composer require --no-update doctrine/orm '${{ matrix.orm-version }}' --no-interaction --no-scripts --no-progress --ansi + if: matrix.orm-version != '' + - run: composer update --no-interaction --no-scripts --no-progress --ansi --${{ matrix.dependency-version }} + env: + SYMFONY_REQUIRE: ${{ matrix.symfony-version }} + COMPOSER_NO_SECURITY_BLOCKING: 1 + - run: composer show + - run: vendor/bin/phpunit --display-warnings --display-deprecations