Skip to content

Tests

Tests #3774

Workflow file for this run

name: Tests
on:
push:
branches:
- '*.x'
- 'master'
pull_request:
schedule:
- cron: '0 */12 * * *'
jobs:
test:
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
php: ['8.0', '8.1', '8.2', "8.3"]
laravel: [9.*, 10.*, 11.*]
phpunit: ['9.*', '10.*']
service: ['5.7', '8']
dependency-version: [prefer-lowest, prefer-stable]
exclude:
# Laravel 10 does not support PHP 8.0
- php: '8.0'
laravel: 10.*
# Laravel 11 does not support PHP 8.0
- php: '8.0'
laravel: 11.*
# Laravel 11 does not support PHP 8.1
- php: '8.1'
laravel: 11.*
# Laravel 9 does not support PHPUnit 10
- laravel: 9.*
phpunit: 10.*
# Laravel 10 does not support PHPUnit 9
- laravel: 10.*
phpunit: 9.*
# Laravel 11 does not support PHPUnit 9
- laravel: 11.*
phpunit: 9.*
name: 'Tests: PHP ${{ matrix.php }} / Laravel: ${{ matrix.laravel }} / ${{ matrix.dependency-version }} / MySQL ${{ matrix.service }}'
env:
DOCKERHUB_USERNAME: ${{ secrets.DOCKERHUB_USERNAME }}
DOCKERHUB_TOKEN: ${{ secrets.DOCKERHUB_TOKEN }}
steps:
- uses: actions/checkout@v4
- name: Login to DockerHub
uses: docker/login-action@v3
if: ${{ env.DOCKERHUB_USERNAME != null && env.DOCKERHUB_TOKEN != null }}
with:
username: ${{ env.DOCKERHUB_USERNAME }}
password: ${{ env.DOCKERHUB_TOKEN }}
- name: Run tests
run: ./test --php ${{ matrix.php }} --laravel ${{ matrix.laravel }} --db ${{ matrix.service }} --dependencies ${{ matrix.dependency-version }} --phpunit ${{ matrix.phpunit }}
installation-test:
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
php: ['8.0', '8.1', '8.2', "8.3"]
laravel: [9.0, 10.0, 11.0]
exclude:
# Laravel 10 does not support PHP 8.0
- php: '8.0'
laravel: 10.0
# Laravel 11 does not support PHP 8.0
- php: '8.0'
laravel: 11.0
# Laravel 11 does not support PHP 8.1
- php: '8.1'
laravel: 11.0
name: 'Installation: PHP ${{ matrix.php }} / Laravel: ${{ matrix.laravel }}'
env:
DOCKERHUB_USERNAME: ${{ secrets.DOCKERHUB_USERNAME }}
DOCKERHUB_TOKEN: ${{ secrets.DOCKERHUB_TOKEN }}
steps:
- uses: actions/checkout@v4
with:
path: ./package
- name: Install Laravel
run: docker run --rm -v ${PWD}:/app composer:latest composer create-project laravel/laravel:^${{ matrix.laravel }} application
- name: Add the package as a path repository
run: |
docker run --rm -v ${PWD}:/app --workdir /app/application composer:latest composer config repositories.0 path ../package
- name: Require the package
run: |
docker run --rm -v ${PWD}:/app --workdir /app/application composer:latest composer require tenancy/tenancy:dev-main