Allow publishing components (#1297) #777
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-tests | |
on: [push, pull_request] | |
jobs: | |
tests: | |
runs-on: ubuntu-latest | |
strategy: | |
fail-fast: true | |
matrix: | |
php: [7.3, 7.4, 8.0, 8.1, 8.2, 8.3] | |
laravel: [7.*, 8.*, 9.*, 10.*, 11.*] | |
stability: [prefer-lowest, prefer-stable] | |
include: | |
- laravel: 7.* | |
testbench: 5.20.* | |
- laravel: 8.* | |
testbench: 6.22.* | |
- laravel: 9.* | |
testbench: 7.* | |
- laravel: 10.* | |
testbench: 8.* | |
- laravel: 11.* | |
testbench: 9.* | |
exclude: | |
- laravel: 7.* | |
php: 8.1 | |
- laravel: 7.* | |
php: 8.2 | |
- laravel: 7.* | |
php: 8.3 | |
- laravel: 8.* | |
php: 8.2 | |
- laravel: 8.* | |
php: 8.3 | |
- laravel: 9.* | |
php: 7.3 | |
- laravel: 9.* | |
php: 7.4 | |
- laravel: 10.* | |
php: 7.3 | |
- laravel: 10.* | |
php: 7.4 | |
- laravel: 10.* | |
php: 8.0 | |
- laravel: 11.* | |
php: 7.3 | |
- laravel: 11.* | |
php: 7.4 | |
- laravel: 11.* | |
php: 8.0 | |
- laravel: 11.* | |
php: 8.1 | |
name: P${{ matrix.php }} - L${{ matrix.laravel }} - ${{ matrix.stability }} | |
steps: | |
# Checkout the package code. | |
- name: Checkout code | |
uses: actions/checkout@v4 | |
with: | |
ref: ${{ github.event.pull_request.head.sha }} | |
fetch-depth: 0 | |
# Cache dependencies and build outputs to improve workflow execution time. | |
- name: Cache dependencies | |
uses: actions/cache@v4 | |
with: | |
path: ~/.composer/cache/files | |
key: dependencies-laravel-${{ matrix.laravel }}-php-${{ matrix.php }}-composer-${{ hashFiles('composer.json') }} | |
# Setup PHP and extensions. | |
- name: Setup PHP | |
uses: shivammathur/setup-php@v2 | |
with: | |
php-version: ${{ matrix.php }} | |
extensions: curl, mbstring, zip, pcntl, pdo, sqlite, pdo_sqlite, iconv | |
coverage: xdebug | |
# Install the package dependencies. | |
- name: Install dependencies | |
run: | | |
composer require "laravel/framework:${{ matrix.laravel }}" "orchestra/testbench:${{ matrix.testbench }}" "nesbot/carbon:>=2.62.1" --no-interaction --no-update | |
composer update --${{ matrix.stability }} --prefer-dist --no-interaction | |
# Execute the test suite for Laravel. | |
- name: Execute Laravel tests | |
run: vendor/bin/phpunit --testsuite Laravel | |
# Upload code coverage to Scrutinizer CI, only for specific version. | |
- name: Upload coverage to scrutinizer-ci | |
if: matrix.php == '8.2' && matrix.laravel == '10.*' && matrix.stability == 'prefer-stable' | |
run: | | |
composer require scrutinizer/ocular | |
cp phpunit.xml.dist phpunit.xml | |
vendor/bin/phpunit --migrate-configuration | |
vendor/bin/phpunit --testsuite Laravel --coverage-clover=coverage.clover | |
vendor/bin/ocular code-coverage:upload --format=php-clover coverage.clover |