1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67
|
name: Continuous Integration
on:
push:
paths-ignore: ["**.md"]
pull_request:
paths-ignore: ["**.md"]
env:
COMPOSER_FLAGS: --ansi --no-interaction --no-progress --prefer-dist
jobs:
tests:
name: CI
runs-on: ${{ matrix.os }}
strategy:
matrix:
php-version:
- "7.2"
- "7.3"
- "7.4"
- "8.0"
- "8.1"
os: [ubuntu-latest]
include:
- php-version: "7.2"
os: windows-latest
- php-version: "8.1"
os: windows-latest
- php-version: "8.2"
os: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v2
- name: Install PHP
uses: shivammathur/setup-php@v2
with:
coverage: none
php-version: ${{ matrix.php-version }}
- name: Get composer cache directory
id: composercache
run: echo "::set-output name=dir::$(composer config cache-files-dir)"
- name: Restore cached dependencies
uses: actions/cache@v2
with:
path: ${{ steps.composercache.outputs.dir }}
key: php-${{ matrix.php-version }}-composer-${{ hashFiles('**/composer.json') }}
restore-keys: php-${{ matrix.php-version }}-composer-
- name: Install latest dependencies
run: composer update ${{ env.COMPOSER_FLAGS }}
# Provides flexibilty for using either simple-phpunit or phpunit
- name: Determine PHPUnit binary
run: |
name=$([ -f vendor/bin/simple-phpunit ] && echo simple-phpunit || echo phpunit)
echo "BIN_PHPUNIT=vendor/bin/$name" >> $GITHUB_ENV
shell: bash
- name: Run tests
run: ${{ env.BIN_PHPUNIT }} --verbose
|