From 828d68a457838eaf39b874a45cf4e3eb91769116 Mon Sep 17 00:00:00 2001 From: Sander van Hooft Date: Thu, 11 Jun 2026 07:18:28 +0000 Subject: [PATCH 1/4] Pin Testbench per Laravel major in CI --- .github/workflows/tests.yaml | 67 +++++++++++++++++++++++++++++++----- 1 file changed, 58 insertions(+), 9 deletions(-) diff --git a/.github/workflows/tests.yaml b/.github/workflows/tests.yaml index 3a4ff48..a1963bb 100644 --- a/.github/workflows/tests.yaml +++ b/.github/workflows/tests.yaml @@ -14,10 +14,31 @@ jobs: fail-fast: false matrix: php: [ 8.4, 8.3, 8.2 ] - laravel: [ 13.*, 12.*, 11.* ] - exclude: - - php: 8.2 + include: + - php: 8.4 + laravel: 13.* + testbench: ^11.0 + - php: 8.3 laravel: 13.* + testbench: ^11.0 + - php: 8.4 + laravel: 12.* + testbench: ^10.0 + - php: 8.3 + laravel: 12.* + testbench: ^10.0 + - php: 8.2 + laravel: 12.* + testbench: ^10.0 + - php: 8.4 + laravel: 11.* + testbench: ^9.6 + - php: 8.3 + laravel: 11.* + testbench: ^9.6 + - php: 8.2 + laravel: 11.* + testbench: ^9.6 steps: - name: Checkout code uses: actions/checkout@v4 @@ -31,7 +52,7 @@ jobs: - name: Check dependency resolution run: | - composer require illuminate/support:${{ matrix.laravel }} --no-update --no-interaction + composer require illuminate/support:${{ matrix.laravel }} orchestra/testbench:${{ matrix.testbench }} --no-update --no-interaction composer update --prefer-stable --prefer-dist --no-interaction --no-progress --dry-run tests: @@ -42,11 +63,39 @@ jobs: fail-fast: true matrix: php: [ 8.4, 8.3, 8.2 ] - laravel: [ 13.*, 12.*, 11.* ] - dependency-version: [ prefer-stable ] - exclude: - - php: 8.2 + include: + - php: 8.4 + laravel: 13.* + testbench: ^11.0 + dependency-version: prefer-stable + - php: 8.3 laravel: 13.* + testbench: ^11.0 + dependency-version: prefer-stable + - php: 8.4 + laravel: 12.* + testbench: ^10.0 + dependency-version: prefer-stable + - php: 8.3 + laravel: 12.* + testbench: ^10.0 + dependency-version: prefer-stable + - php: 8.2 + laravel: 12.* + testbench: ^10.0 + dependency-version: prefer-stable + - php: 8.4 + laravel: 11.* + testbench: ^9.6 + dependency-version: prefer-stable + - php: 8.3 + laravel: 11.* + testbench: ^9.6 + dependency-version: prefer-stable + - php: 8.2 + laravel: 11.* + testbench: ^9.6 + dependency-version: prefer-stable steps: - name: Checkout code @@ -62,7 +111,7 @@ jobs: - name: Install dependencies run: | - composer require illuminate/support:${{ matrix.laravel }} --no-update --no-interaction + composer require illuminate/support:${{ matrix.laravel }} orchestra/testbench:${{ matrix.testbench }} --no-update --no-interaction composer update --${{ matrix.dependency-version }} --prefer-dist --no-interaction --no-progress - name: Execute tests From 3ac71fe32230670cdf1bf5638dfff9e52e87cefe Mon Sep 17 00:00:00 2001 From: Sander van Hooft Date: Thu, 11 Jun 2026 10:08:20 +0200 Subject: [PATCH 2/4] Fix Laravel compatibility CI resolution --- .github/workflows/tests.yaml | 87 ++++++++++++------------------------ 1 file changed, 29 insertions(+), 58 deletions(-) diff --git a/.github/workflows/tests.yaml b/.github/workflows/tests.yaml index a1963bb..82d7d70 100644 --- a/.github/workflows/tests.yaml +++ b/.github/workflows/tests.yaml @@ -14,31 +14,10 @@ jobs: fail-fast: false matrix: php: [ 8.4, 8.3, 8.2 ] - include: - - php: 8.4 - laravel: 13.* - testbench: ^11.0 - - php: 8.3 - laravel: 13.* - testbench: ^11.0 - - php: 8.4 - laravel: 12.* - testbench: ^10.0 - - php: 8.3 - laravel: 12.* - testbench: ^10.0 - - php: 8.2 - laravel: 12.* - testbench: ^10.0 - - php: 8.4 - laravel: 11.* - testbench: ^9.6 - - php: 8.3 - laravel: 11.* - testbench: ^9.6 + laravel: [ 13.*, 12.*, 11.* ] + exclude: - php: 8.2 - laravel: 11.* - testbench: ^9.6 + laravel: 13.* steps: - name: Checkout code uses: actions/checkout@v4 @@ -50,9 +29,19 @@ jobs: extensions: curl, dom, intl, json, libxml, mbstring, openssl, zip tools: composer:v2 + - name: Allow Laravel 11 compatibility installs + if: matrix.laravel == '11.*' + run: composer config --global policy.advisories.block false + - name: Check dependency resolution run: | - composer require illuminate/support:${{ matrix.laravel }} orchestra/testbench:${{ matrix.testbench }} --no-update --no-interaction + case "${{ matrix.laravel }}" in + 13.*) testbench="^11.0" ;; + 12.*) testbench="^10.0" ;; + 11.*) testbench="^9.6" ;; + esac + composer require "illuminate/support:${{ matrix.laravel }}" --no-update --no-interaction + composer require --dev "orchestra/testbench:${testbench}" --no-update --no-interaction composer update --prefer-stable --prefer-dist --no-interaction --no-progress --dry-run tests: @@ -63,39 +52,11 @@ jobs: fail-fast: true matrix: php: [ 8.4, 8.3, 8.2 ] - include: - - php: 8.4 - laravel: 13.* - testbench: ^11.0 - dependency-version: prefer-stable - - php: 8.3 - laravel: 13.* - testbench: ^11.0 - dependency-version: prefer-stable - - php: 8.4 - laravel: 12.* - testbench: ^10.0 - dependency-version: prefer-stable - - php: 8.3 - laravel: 12.* - testbench: ^10.0 - dependency-version: prefer-stable - - php: 8.2 - laravel: 12.* - testbench: ^10.0 - dependency-version: prefer-stable - - php: 8.4 - laravel: 11.* - testbench: ^9.6 - dependency-version: prefer-stable - - php: 8.3 - laravel: 11.* - testbench: ^9.6 - dependency-version: prefer-stable + laravel: [ 13.*, 12.*, 11.* ] + dependency-version: [ prefer-stable ] + exclude: - php: 8.2 - laravel: 11.* - testbench: ^9.6 - dependency-version: prefer-stable + laravel: 13.* steps: - name: Checkout code @@ -109,9 +70,19 @@ jobs: tools: composer:v2 coverage: xdebug + - name: Allow Laravel 11 compatibility installs + if: matrix.laravel == '11.*' + run: composer config --global policy.advisories.block false + - name: Install dependencies run: | - composer require illuminate/support:${{ matrix.laravel }} orchestra/testbench:${{ matrix.testbench }} --no-update --no-interaction + case "${{ matrix.laravel }}" in + 13.*) testbench="^11.0" ;; + 12.*) testbench="^10.0" ;; + 11.*) testbench="^9.6" ;; + esac + composer require "illuminate/support:${{ matrix.laravel }}" --no-update --no-interaction + composer require --dev "orchestra/testbench:${testbench}" --no-update --no-interaction composer update --${{ matrix.dependency-version }} --prefer-dist --no-interaction --no-progress - name: Execute tests From 27ea502dd931380fb2ccebd6f25bef5ff4ad67a3 Mon Sep 17 00:00:00 2001 From: Sander van Hooft Date: Thu, 11 Jun 2026 10:16:13 +0200 Subject: [PATCH 3/4] Drop unsupported Laravel 11 from CI --- .github/workflows/tests.yaml | 14 ++------------ composer.json | 6 +++--- 2 files changed, 5 insertions(+), 15 deletions(-) diff --git a/.github/workflows/tests.yaml b/.github/workflows/tests.yaml index 82d7d70..5728e88 100644 --- a/.github/workflows/tests.yaml +++ b/.github/workflows/tests.yaml @@ -14,7 +14,7 @@ jobs: fail-fast: false matrix: php: [ 8.4, 8.3, 8.2 ] - laravel: [ 13.*, 12.*, 11.* ] + laravel: [ 13.*, 12.* ] exclude: - php: 8.2 laravel: 13.* @@ -29,16 +29,11 @@ jobs: extensions: curl, dom, intl, json, libxml, mbstring, openssl, zip tools: composer:v2 - - name: Allow Laravel 11 compatibility installs - if: matrix.laravel == '11.*' - run: composer config --global policy.advisories.block false - - name: Check dependency resolution run: | case "${{ matrix.laravel }}" in 13.*) testbench="^11.0" ;; 12.*) testbench="^10.0" ;; - 11.*) testbench="^9.6" ;; esac composer require "illuminate/support:${{ matrix.laravel }}" --no-update --no-interaction composer require --dev "orchestra/testbench:${testbench}" --no-update --no-interaction @@ -52,7 +47,7 @@ jobs: fail-fast: true matrix: php: [ 8.4, 8.3, 8.2 ] - laravel: [ 13.*, 12.*, 11.* ] + laravel: [ 13.*, 12.* ] dependency-version: [ prefer-stable ] exclude: - php: 8.2 @@ -70,16 +65,11 @@ jobs: tools: composer:v2 coverage: xdebug - - name: Allow Laravel 11 compatibility installs - if: matrix.laravel == '11.*' - run: composer config --global policy.advisories.block false - - name: Install dependencies run: | case "${{ matrix.laravel }}" in 13.*) testbench="^11.0" ;; 12.*) testbench="^10.0" ;; - 11.*) testbench="^9.6" ;; esac composer require "illuminate/support:${{ matrix.laravel }}" --no-update --no-interaction composer require --dev "orchestra/testbench:${testbench}" --no-update --no-interaction diff --git a/composer.json b/composer.json index b8672aa..6a10df0 100644 --- a/composer.json +++ b/composer.json @@ -34,8 +34,8 @@ "ext-json": "*", "ext-intl": "*", "dompdf/dompdf": "^2.0|^3.0", - "illuminate/database": "^11|^12|^13", - "illuminate/support": "^11|^12|^13", + "illuminate/database": "^12|^13", + "illuminate/support": "^12|^13", "mollie/laravel-mollie": "^4.0", "moneyphp/money": "^4.1", "nesbot/carbon": "^2.72|^3.0" @@ -43,7 +43,7 @@ "require-dev": { "guzzlehttp/guzzle": "^7.0", "mockery/mockery": "^1.4", - "orchestra/testbench": "^9.6|^10.0|^11.0", + "orchestra/testbench": "^10.0|^11.0", "phpunit/phpunit": "^10.5|^11.5|^12.5.22|^13.1.6" }, "autoload": { From 0b20d1388c1982072b07bf11931f7a22bc7f8003 Mon Sep 17 00:00:00 2001 From: Sander van Hooft Date: Thu, 11 Jun 2026 14:06:06 +0200 Subject: [PATCH 4/4] Update checkout action for Node 24 --- .github/workflows/pages.yml | 2 +- .github/workflows/tests.yaml | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/pages.yml b/.github/workflows/pages.yml index 134b6f8..1d59e0b 100644 --- a/.github/workflows/pages.yml +++ b/.github/workflows/pages.yml @@ -10,7 +10,7 @@ jobs: runs-on: ubuntu-latest steps: - name: Checkout - uses: actions/checkout@v3.5.3 + uses: actions/checkout@v6 with: persist-credentials: false diff --git a/.github/workflows/tests.yaml b/.github/workflows/tests.yaml index 5728e88..84011bd 100644 --- a/.github/workflows/tests.yaml +++ b/.github/workflows/tests.yaml @@ -20,7 +20,7 @@ jobs: laravel: 13.* steps: - name: Checkout code - uses: actions/checkout@v4 + uses: actions/checkout@v6 - name: Setup PHP uses: shivammathur/setup-php@v2 @@ -55,7 +55,7 @@ jobs: steps: - name: Checkout code - uses: actions/checkout@v4 + uses: actions/checkout@v6 - name: Setup PHP uses: shivammathur/setup-php@v2 @@ -83,7 +83,7 @@ jobs: runs-on: ubuntu-latest steps: - name: Checkout code - uses: actions/checkout@v4 + uses: actions/checkout@v6 - name: Setup PHP uses: shivammathur/setup-php@v2