feat!: upgrade to Laravel 11, drop Livewire 2 support #664
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Run integration tests | |
on: | |
push: | |
branches: [main] | |
pull_request: | |
branches: [main] | |
workflow_dispatch: | |
jobs: | |
integration-test: | |
runs-on: ubuntu-latest | |
strategy: | |
fail-fast: true | |
matrix: | |
php: [8.2, 8.3] | |
laravel: [11] | |
pest: [3] | |
livewire: [3] | |
name: Integration tests - PHP ${{ matrix.php }} - Laravel ${{ matrix.laravel }} | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@v4 | |
- 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, imagick, fileinfo | |
coverage: none | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
- name: Create test database | |
run: | | |
sudo systemctl start mysql.service | |
mysqladmin create laravel --user="root" --password="root" | |
- name: Create project | |
run: | | |
composer create-project --prefer-dist laravel/laravel:^${{ matrix.laravel }} tests/integration --no-interaction | |
- name: Install Pest and Livewire | |
run: | | |
cd tests/integration | |
composer remove phpunit/phpunit --dev | |
composer require pestphp/pest:^${{ matrix.pest }} pestphp/pest-plugin-laravel:^${{ matrix.pest }} pestphp/pest-plugin-drift:^${{ matrix.pest }} --dev -W | |
PEST_NO_SUPPORT=true vendor/bin/pest --init | |
PEST_NO_SUPPORT=true vendor/bin/pest --drift | |
composer require livewire/livewire:^${{ matrix.livewire }} | |
- name: Determine Hearth version | |
run: | | |
echo "hearth_version=${{ github.head_ref }}" >> $GITHUB_ENV | |
if: github.event_name == 'pull_request' | |
- name: Determine Hearth version | |
run: | | |
echo "hearth_version=main" >> $GITHUB_ENV | |
if: github.event_name != 'pull_request' | |
- name: Configure Composer repository | |
run: | | |
cd tests/integration | |
composer config repositories.head vcs https://github.com/${{ github.event.pull_request.head.repo.full_name }} | |
if: github.event_name == 'pull_request' | |
- name: Install Hearth | |
run: | | |
cd tests/integration | |
php artisan lang:publish | |
composer require fluid-project/hearth:dev-${{ env.hearth_version }} --no-interaction | |
php artisan hearth:install --no-interaction | |
echo 'MAIL_FROM_ADDRESS=from@example.com' >> .env | |
npm install | |
- name: Run tests | |
env: | |
DB_PASSWORD: root | |
DB_HOST: localhost | |
run: | | |
cd tests/integration | |
php artisan test | |
- name: Run lint analysis | |
run: | | |
cd tests/integration | |
composer require larastan/larastan:^2.0 --dev | |
vendor/bin/phpstan analyse |