1- name : Main
1+ name : Full Test Suite
22
3- on : ['push', 'pull_request']
3+ on :
4+ push :
5+ branches : [ "main" ]
6+ pull_request :
7+ branches : [ "main" ]
8+
9+ permissions :
10+ contents : read
411
512jobs :
6- ci :
7- runs-on : ${{ matrix.os }}
8- strategy :
9- fail-fast : true
10- matrix :
11- os : [ubuntu-latest, macos-latest]
12- php : ['8.2', '8.3', '8.4']
13- dependency-version : [prefer-lowest, prefer-stable]
13+ build :
1414
15- name : Tests P${{ matrix.php }} - ${{ matrix.os }} - ${{ matrix.dependency-version }}
15+ runs-on : ubuntu-latest
1616
1717 steps :
18+ - uses : actions/checkout@v4
1819
19- - name : Checkout
20- uses : actions/checkout@v3
20+ - name : Validate composer.json and composer.lock
21+ run : composer validate --strict
2122
2223 - name : Setup PHP
2324 uses : shivammathur/setup-php@v2
2425 with :
25- php-version : ${{ matrix.php }}
26+ php-version : 8.2
2627 coverage : xdebug
2728
28- - name : Get Composer cache directory
29+ - name : Cache Composer packages
2930 id : composer-cache
30- shell : bash
31- run : echo "dir=$(composer config cache-files-dir)" >> $GITHUB_OUTPUT
32-
33- - name : Cache dependencies
3431 uses : actions/cache@v3
3532 with :
36- path : ${{ steps.composer-cache.outputs.dir }}
37- key : dependencies-php-${{ matrix.php }}-os-${{ matrix.os }}-${{ matrix.dependency-version }}-symfony-${{ matrix.symfony }}-composer-${{ hashFiles('composer.json') }}
38- restore-keys : dependencies-php-${{ matrix.php }}-os-${{ matrix.os }}-${{ matrix.dependency-version }}-symfony-${{ matrix.symfony }}-composer-
33+ path : vendor
34+ key : ${{ runner.os }}-php-${{ hashFiles('**/composer.lock') }}
35+ restore-keys : |
36+ ${{ runner.os }}-php-
3937
40- - name : Install Composer dependencies
41- run : |
42- composer update --${{ matrix.dependency-version }} --no-interaction --prefer-dist
38+ - name : Install dependencies
39+ run : composer install --prefer-dist --no-progress
4340
44- - name : Full Test Suite
41+ - name : Run test suite
4542 run : composer test
0 commit comments