Tests #1118
This file contains hidden or 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: Tests | |
| on: | |
| push: | |
| branches: | |
| - main | |
| pull_request: | |
| schedule: | |
| - cron: '0 0 * * *' | |
| jobs: | |
| tests: | |
| runs-on: ubuntu-latest | |
| services: | |
| mysql: | |
| image: mysql:8.0.30 | |
| env: | |
| MYSQL_ROOT_PASSWORD: "root_password" | |
| MYSQL_DATABASE: "outbox_messages" | |
| MYSQL_USER: "username" | |
| MYSQL_PASSWORD: "password" | |
| MYSQL_ROOT_HOST: "0.0.0.0" | |
| ports: | |
| - "3306:3306" | |
| postgres: | |
| image: postgres:14-alpine3.16 | |
| env: | |
| POSTGRES_DB: "outbox_messages" | |
| POSTGRES_USER: "username" | |
| POSTGRES_PASSWORD: "password" | |
| ports: | |
| - "5432:5432" | |
| strategy: | |
| fail-fast: true | |
| matrix: | |
| php: [8.0, 8.1, 8.2, 8.3, 8.4, 8.5] | |
| eventsauce: ['^3.0'] | |
| stability: [prefer-lowest, prefer-stable] | |
| name: PHP ${{ matrix.php }} - EventSauce ${{ matrix.eventsauce }} - ${{ matrix.stability }} | |
| steps: | |
| - name: Checkout code | |
| uses: actions/checkout@v3 | |
| - name: Setup PHP | |
| uses: shivammathur/setup-php@v2 | |
| with: | |
| php-version: ${{ matrix.php }} | |
| extensions: dom, curl, libxml, mbstring, zip | |
| coverage: none | |
| - name: Install specific eventsauce version | |
| run: | | |
| composer require "eventsauce/eventsauce=${{ matrix.eventsauce }}" -w --prefer-dist --no-interaction --no-update | |
| - name: Install doctrine 3 | |
| run: | | |
| composer require "doctrine/dbal:^3.1" -w --prefer-dist --no-interaction --no-update | |
| - name: Install dependencies | |
| run: composer update --${{ matrix.stability }} --prefer-dist --no-interaction --no-progress | |
| - name: Setup database | |
| run: php src/wait-for-and-setup-database.php | |
| - name: Execute tests | |
| run: vendor/bin/phpunit --exclude-group=doctrine2 | |
| - name: Install doctrine 4 | |
| if: ${{ matrix.php >= 8.1 }} | |
| run: | | |
| composer require "doctrine/dbal:^4.0" -w --prefer-dist --no-interaction --no-update | |
| - name: Install dependencies | |
| if: ${{ matrix.php >= 8.1 }} | |
| run: composer update --${{ matrix.stability }} --prefer-dist --no-interaction --no-progress | |
| - name: Execute tests | |
| if: ${{ matrix.php >= 8.1 }} | |
| run: vendor/bin/phpunit --exclude-group=doctrine2 | |
| - name: Run PHPStan | |
| if: ${{ matrix.eventsauce == '3.0' }} | |
| run: vendor/bin/phpstan analyze | |
| - name: Install doctrine2 | |
| run: composer require doctrine/dbal:^2.12 carbonphp/carbon-doctrine-types:* --${{ matrix.stability }} -w --prefer-dist --no-interaction --no-progress | |
| - name: Execute doctrine2 tests | |
| run: vendor/bin/phpunit --group=doctrine2 | |
| - name: Install illuminate/database 9 | |
| run: composer require illuminate/database:^9.0 --${{ matrix.stability }} -w --prefer-dist --no-interaction --no-progress | |
| - name: Execute illuminate tests | |
| run: vendor/bin/phpunit --group=illuminate | |
| - name: Install illuminate/database 10 | |
| if: ${{ matrix.php >= 8.1 }} | |
| run: | | |
| composer require illuminate/database:^10.0 --${{ matrix.stability }} -w --prefer-dist --no-interaction --no-progress --no-update | |
| composer update --${{ matrix.stability }} --prefer-dist --no-interaction --no-progress | |
| - name: Execute illuminate tests | |
| if: ${{ matrix.php >= 8.1 }} | |
| run: vendor/bin/phpunit --group=illuminate | |
| - name: Install illuminate/database 11 | |
| if: ${{ matrix.php >= 8.2 }} | |
| run: | | |
| composer require illuminate/database:^11.0 --${{ matrix.stability }} -w --prefer-dist --no-interaction --no-progress --no-update | |
| composer update --${{ matrix.stability }} --prefer-dist --no-interaction --no-progress | |
| - name: Execute illuminate tests | |
| if: ${{ matrix.php >= 8.2 }} | |
| run: vendor/bin/phpunit --group=illuminate | |
| - name: Install illuminate/database 12 | |
| if: ${{ matrix.php >= 8.2 }} | |
| run: | | |
| composer require illuminate/database:^12.0 --${{ matrix.stability }} -w --prefer-dist --no-interaction --no-progress --no-update | |
| composer update --${{ matrix.stability }} --prefer-dist --no-interaction --no-progress | |
| - name: Execute illuminate tests | |
| if: ${{ matrix.php >= 8.2 }} | |
| run: vendor/bin/phpunit --group=illuminate | |
| - name: Run PHPStan | |
| if: ${{ matrix.eventsauce == '3.0' }} | |
| run: vendor/bin/phpstan analyze -c phpstan.doctrine2.neon |