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