generated from PartridgeRocks/package-skeleton-laravel
-
-
Notifications
You must be signed in to change notification settings - Fork 0
Closed
Labels
Description
Summary
Update CI workflow for upcoming major release:
- Drop Laravel 10 (EOL)
- Add PHP 8.4 support
- Upgrade actions/checkout v4 → v6
Why?
Laravel 10 EOL
Laravel 10 reached end-of-life on February 4, 2025 and no longer receives security updates.
Users on L10 should stay on the current major version of this package.
📚 https://laravel.com/docs/12.x/releases#support-policy
PHP 8.4 Support
PHP 8.4 is the current stable version (released November 2024).
📚 https://www.php.net/supported-versions.php
actions/checkout v6
Improved credential handling and Node.js 24 support.
📚 https://github.com/actions/checkout/releases/tag/v6.0.0
Changes Required
Replace .github/workflows/run-tests.yml with:
name: run-tests
on:
push:
paths:
- "**.php"
- ".github/workflows/run-tests.yml"
- "phpunit.xml.dist"
- "composer.json"
- "composer.lock"
jobs:
test:
runs-on: ubuntu-latest
timeout-minutes: 5
strategy:
fail-fast: false
matrix:
# Laravel 10 EOL: Feb 4, 2025 - dropped from test matrix
php: [8.2, 8.3, 8.4]
laravel: [11.*, 12.*]
stability: [prefer-stable]
include:
- laravel: 12.*
testbench: 10.*
- laravel: 11.*
testbench: 9.*
exclude:
# Laravel 12 requires PHP 8.3+
- php: 8.2
laravel: 12.*
name: P${{ matrix.php }} - L${{ matrix.laravel }} - ${{ matrix.stability }}
steps:
- name: Checkout code
uses: actions/checkout@v6
- name: Setup PHP
uses: shivammathur/setup-php@v2
with:
php-version: ${{ matrix.php }}
extensions: dom, curl, libxml, mbstring, zip, pcntl, pdo, sqlite, pdo_sqlite, bcmath, soap, intl, gd, exif, iconv
tools: composer:v2
coverage: none
- name: Install dependencies
run: |
composer remove --dev --no-update larastan/larastan phpstan/phpstan-deprecation-rules phpstan/phpstan-phpunit phpstan/extension-installer
composer require "laravel/framework:${{ matrix.laravel }}" "orchestra/testbench:${{ matrix.testbench }}" --no-interaction --no-update
composer require --dev --no-update "nunomaduro/collision:^8.0"
composer update --${{ matrix.stability }} --prefer-dist --no-interaction --with-all-dependencies
- name: Execute tests
run: vendor/bin/pest
env:
GITHUB_TOKEN: dummy-token-for-testingAlso Update
- Close PR Bump actions/checkout from 4 to 6 #105 (actions/checkout) - included here
- Close PR Update pestphp/pest requirement from ^2.34||^3.0 to ^4.1.0 #103 (Pest v4) - separate concern, needs PHP constraint fix
- Update
composer.jsonto remove L10 from description if mentioned
Analysis by ci-updater agent