1name: PHP test
2
3on: [push, pull_request]
4
5jobs:
6  test:
7    name: Test
8    runs-on: ${{ matrix.os }}
9
10    strategy:
11      matrix:
12        php-version: [7.4, 8.0, 8.1]
13        os: [ubuntu-latest]
14
15    steps:
16    - name: Checkout
17      uses: actions/checkout@v2
18
19    - name: Use PHP ${{ matrix.php-version }}
20      uses: shivammathur/setup-php@v2
21      with:
22        php-version: ${{ matrix.php-version }}
23        extensions: zip, curl
24      env:
25        COMPOSER_TOKEN: ${{ secrets.GITHUB_TOKEN }}
26
27    - name: Get composer cache directory
28      id: composercache
29      run: echo "::set-output name=dir::$(composer config cache-files-dir)"
30
31    - name: Cache dependencies
32      uses: actions/cache@v2
33      with:
34        path: ${{ steps.composercache.outputs.dir }}
35        key: ${{ runner.os }}-php-${{ matrix.php-version }}-${{ hashFiles('**/composer.json') }}
36        restore-keys: ${{ runner.os }}-php-${{ matrix.php-version }}-
37
38    - name: Install dependencies
39      run: |
40        composer install --prefer-dist
41
42    - name: Unit tests
43      run: |
44        composer run-script test