From 5b81c2baee7b605a75870971803315bde1e1bd21 Mon Sep 17 00:00:00 2001 From: Joe Campo Date: Thu, 24 Feb 2022 12:19:04 -0500 Subject: [PATCH] Update run-tests.yml --- .github/workflows/run-tests.yml | 146 +++++++++++++++++++++----------- 1 file changed, 95 insertions(+), 51 deletions(-) diff --git a/.github/workflows/run-tests.yml b/.github/workflows/run-tests.yml index 704d49aa64..6b37134f6f 100644 --- a/.github/workflows/run-tests.yml +++ b/.github/workflows/run-tests.yml @@ -1,55 +1,99 @@ name: run-tests -on: [push, pull_request] +on: + push: + branches: + - '*' + tags: + - '*' + pull_request: + branches: + - '*' jobs: - test: - runs-on: ${{ matrix.os }} - strategy: - fail-fast: false - matrix: - os: [ubuntu-latest, windows-latest] - php: [8.0, 7.4, 7.3, 7.2] - laravel: [6.*, 7.*, 8.*] - dependency-version: [prefer-lowest, prefer-stable] - include: - - laravel: 8.* - testbench: 6.* - - laravel: 7.* - testbench: 5.* - - laravel: 6.* - testbench: 4.* - exclude: - - php: 7.2 - laravel: 8.* - - name: P${{ matrix.php }} - L${{ matrix.laravel }} - ${{ matrix.dependency-version }} - ${{ matrix.os }} - - steps: - - name: Checkout code - uses: actions/checkout@v1 - - - name: Cache dependencies - uses: actions/cache@v1 - with: - path: ~/.composer/cache/files - key: dependencies-laravel-${{ matrix.laravel }}-php-${{ matrix.php }}-composer-${{ hashFiles('composer.json') }} - - - name: Setup PHP - uses: shivammathur/setup-php@v2 - with: - php-version: ${{ matrix.php }} - extensions: curl, dom, fileinfo, libxml, mbstring, pdo, sqlite, pdo_sqlite, zip - coverage: pcov - - - name: Install dependencies - run: | - composer require "laravel/framework:${{ matrix.laravel }}" "orchestra/testbench:${{ matrix.testbench }}" --no-interaction --no-update - composer update --${{ matrix.dependency-version }} --prefer-dist --no-interaction --no-suggest - - - name: Execute tests - run: vendor/bin/phpunit --coverage-text --coverage-clover=coverage.xml - - - uses: codecov/codecov-action@v1 - with: - fail_ci_if_error: false + build: + if: "!contains(github.event.head_commit.message, 'skip ci')" + + runs-on: ubuntu-latest + + strategy: + fail-fast: false + matrix: + php: + - '7.3' + - '7.4' + - '8.0' + - '8.1' + laravel: + - 6.* + - 7.* + - 8.* + prefer: + - 'prefer-lowest' + - 'prefer-stable' + include: + - laravel: '6.*' + testbench: '4.*' + phpunit: '^8.5.8|^9.3.3' + - laravel: '7.*' + testbench: '5.*' + phpunit: '^8.5.8|^9.3.3' + - laravel: '8.*' + testbench: '6.*' + phpunit: '^9.3.3' + exclude: + - php: '8.0' + laravel: 6.* + prefer: 'prefer-lowest' + - php: '8.0' + laravel: 7.* + prefer: 'prefer-lowest' + - php: '8.1' + laravel: 6.* + - php: '8.1' + laravel: 7.* + - php: '8.1' + laravel: 8.* + prefer: 'prefer-lowest' + + name: PHP ${{ matrix.php }} - Laravel ${{ matrix.laravel }} --${{ matrix.prefer }} + + steps: + - uses: actions/checkout@v1 + + - 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 + coverage: pcov + + - name: Setup Redis + uses: supercharge/redis-github-action@1.1.0 + with: + redis-version: 6 + + - uses: actions/cache@v1 + name: Cache dependencies + with: + path: ~/.composer/cache/files + key: composer-php-${{ matrix.php }}-${{ matrix.laravel }}-${{ matrix.prefer }}-${{ hashFiles('composer.json') }} + + - name: Install dependencies + run: | + composer require "laravel/framework:${{ matrix.laravel }}" "phpunit/phpunit:${{ matrix.phpunit }}" "orchestra/testbench-browser-kit:${{ matrix.testbench }}" "orchestra/database:${{ matrix.testbench }}" --no-interaction --no-update + composer update --${{ matrix.prefer }} --prefer-dist --no-interaction --no-suggest + + - name: Run tests for Local + run: | + REPLICATION_MODE=local vendor/bin/phpunit --coverage-text --coverage-clover=coverage_local.xml + + - name: Run tests for Redis + run: | + REPLICATION_MODE=redis vendor/bin/phpunit --coverage-text --coverage-clover=coverage_redis.xml + + - uses: codecov/codecov-action@v1 + with: + fail_ci_if_error: false + file: '*.xml' + token: ${{ secrets.CODECOV_TOKEN }} \ No newline at end of file