Integration tests #2015
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: Integration tests | |
| on: | |
| pull_request: | |
| push: | |
| branches: | |
| - master | |
| schedule: | |
| # Run Monday morning at 3 o'clock | |
| # ┌───────────── minute (0 - 59) | |
| # │ ┌───────────── hour (0 - 23) | |
| # │ │ ┌───────────── day of the month (1 - 31) | |
| # │ │ │ ┌───────────── month (1 - 12) | |
| # │ │ │ │ ┌───────────── day of the week (0 - 6) | |
| # │ │ │ │ │ | |
| # │ │ │ │ │ | |
| # │ │ │ │ │ | |
| - cron: 0 3 * * 1 | |
| workflow_dispatch: | |
| permissions: | |
| contents: read | |
| concurrency: | |
| group: ${{ github.workflow }}-${{ github.ref }} | |
| cancel-in-progress: true | |
| jobs: | |
| integration: | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| php: [8.2, 8.3, 8.4, 8.5] | |
| laravel: [^12.0, ^13.0] | |
| exclude: | |
| - php: 8.2 | |
| laravel: ^13.0 | |
| name: P=${{ matrix.php }} L=${{ matrix.laravel }} | |
| runs-on: ubuntu-latest | |
| timeout-minutes: 15 | |
| env: | |
| COMPOSER_NO_INTERACTION: 1 | |
| steps: | |
| - uses: actions/checkout@v6 | |
| - uses: shivammathur/setup-php@v2 | |
| with: | |
| php-version: ${{ matrix.php }} | |
| ini-file: development | |
| coverage: none | |
| - run: composer require illuminate/contracts:${{ matrix.laravel }} --no-update | |
| - name: Get composer cache directory | |
| id: composer-cache | |
| run: echo "dir=$(composer config cache-files-dir)" >> $GITHUB_OUTPUT | |
| - name: Cache dependencies | |
| uses: actions/cache@v5 | |
| with: | |
| path: ${{ steps.composer-cache.outputs.dir }} | |
| key: ${{ runner.os }}-${{ matrix.php }}-composer-${{ hashFiles('composer.json') }} | |
| restore-keys: ${{ runner.os }}-${{ matrix.php }}-composer- | |
| - run: composer update --prefer-dist --no-progress | |
| - run: tests/integration-laravel.sh ${{ matrix.laravel }} | |
| integration-otel: | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| php: [8.2, 8.3, 8.4, 8.5] | |
| laravel: [^12.0, ^13.0] | |
| exclude: | |
| - php: 8.2 | |
| laravel: ^13.0 | |
| name: OTel P=${{ matrix.php }} L=${{ matrix.laravel }} | |
| runs-on: ubuntu-latest | |
| timeout-minutes: 15 | |
| env: | |
| COMPOSER_NO_INTERACTION: 1 | |
| steps: | |
| - uses: actions/checkout@v6 | |
| - uses: shivammathur/setup-php@v2 | |
| with: | |
| php-version: ${{ matrix.php }} | |
| ini-file: development | |
| coverage: none | |
| - run: composer require illuminate/contracts:${{ matrix.laravel }} --no-update | |
| - name: Get composer cache directory | |
| id: composer-cache | |
| run: echo "dir=$(composer config cache-files-dir)" >> $GITHUB_OUTPUT | |
| - name: Cache dependencies | |
| uses: actions/cache@v5 | |
| with: | |
| path: ${{ steps.composer-cache.outputs.dir }} | |
| key: ${{ runner.os }}-${{ matrix.php }}-composer-otel-${{ hashFiles('composer.json') }} | |
| restore-keys: ${{ runner.os }}-${{ matrix.php }}-composer- | |
| - run: composer update --prefer-dist --no-progress | |
| - run: tests/integration-otel/run.sh ${{ matrix.laravel }} |