@@ -2,84 +2,66 @@ name: Build
22
33on :
44 push :
5- branches : [ master ]
5+ branches : [master]
66 pull_request :
7- branches : [ master ]
7+ branches : [master]
88
99jobs :
1010 build :
11-
12- runs-on : ubuntu-20.04
11+ runs-on : ${{ matrix.operating-system }}
1312 strategy :
1413 matrix :
15- operating-system : ['ubuntu-20.04']
16- php-versions : ['8.0']
17- phpunit-versions : ['9.5.4']
14+ operating-system : [ubuntu-latest]
15+ php-versions : ["5.6", "7.0", "7.1", "7.2", "7.3", "7.4", "8.1", "8.2"]
1816 coverage : [false]
19- include :
20- - php-versions : ' 5.3'
21- phpunit-versions : ' 4.8.36'
22- - php-versions : ' 5.4'
23- phpunit-versions : ' 4.8.36'
24- - php-versions : ' 5.5'
25- phpunit-versions : ' 4.8.36'
26- - php-versions : ' 5.6'
27- phpunit-versions : ' 4.8.36'
28- - php-versions : ' 7.0'
29- phpunit-versions : ' 4.8.36'
30- - php-versions : ' 7.1'
31- phpunit-versions : ' 4.8.36'
32- - php-versions : ' 7.2'
33- phpunit-versions : ' 4.8.36'
34- - php-versions : ' 7.3'
35- phpunit-versions : ' 7.5.20'
36- - php-versions : ' 7.4'
37- phpunit-versions : ' 7.5.20'
38- coverage : true
39- - php-versions : ' 8.1'
40- phpunit-versions : ' 9.5.16'
4117
4218 steps :
43- - name : Setup PHP
44- uses : shivammathur/setup-php@v2
45- with :
46- php-version : ${{ matrix.php-versions }}
47- coverage : xdebug
48- tools : phpunit:${{ matrix.phpunit-versions }}
19+ - name : Checkout
20+ uses : actions/checkout@v3
21+
22+ - name : Setup PHP
23+ uses : shivammathur/setup-php@v2
24+ with :
25+ php-version : ${{ matrix.php-versions }}
26+ coverage : xdebug
27+ tools : composer
28+ env :
29+ fail-fast : true
30+
31+ - name : Setup problem matchers for PHPUnit
32+ run : echo "::add-matcher::${{ runner.tool_cache }}/phpunit.json"
4933
50- - uses : actions/checkout@v2
34+ - name : Validate composer
35+ run : composer validate
5136
52- - run : composer remove phpunit/phpunit --dev --no-update
53- - run : composer remove php-coveralls/php-coveralls --dev --no-update
54- - run : cat composer.json
37+ - name : Get composer cache directory
38+ id : composer-cache
39+ run : echo "dir=$( composer config cache-files-dir)" >> $GITHUB_OUTPUT
5540
56- - name : Cache Composer packages
57- id : composer-cache
58- uses : actions/cache@v2
59- with :
60- path : vendor
61- key : ${{ runner.os }}-php-${{ matrix.php-versions }}-${{ hashFiles('**/composer.lock') }}
62- restore-keys : |
63- ${{ runner.os }}-php-
41+ - name : Cache dependencies
42+ uses : actions/cache@v3
43+ with :
44+ path : ${{ steps.composer-cache.outputs.dir }}
45+ key : ${{ runner.os }}-composer-${{ hashFiles('**/composer.lock') }}
46+ restore-keys : ${{ runner.os }}-composer-
6447
65- - name : Install dependencies
66- run : composer install --prefer-source -- no-interaction --dev
48+ - name : Install dependencies
49+ run : composer install --no-progress
6750
68- - name : Run tests
69- run : phpunit
70- if : ${{ !matrix.coverage }}
51+ - name : Run tests
52+ run : composer test
53+ if : ${{ !matrix.coverage }}
7154
72- - name : Run tests with coverage
73- run : |
74- mkdir -p build/logs
75- phpunit --coverage-clover build/logs/clover.xml
76- ls -l build/logs/
77- if : ${{ matrix.coverage }}
55+ - name : Run tests with coverage
56+ run : |
57+ composer test-coverage
58+ ls -l build/logs/
59+ if : ${{ matrix.coverage }}
7860
79- - name : Upload coverage results to Coveralls
80- env :
81- COVERALLS_REPO_TOKEN : ${{ secrets.GITHUB_TOKEN }}
82- run : |
83- composer global require php-coveralls/php-coveralls
84- php-coveralls --coverage_clover=build/logs/clover.xml -v
85- if : ${{ matrix.coverage }}
61+ - name : Upload coverage results to Coveralls
62+ env :
63+ COVERALLS_REPO_TOKEN : ${{ secrets.GITHUB_TOKEN }}
64+ run : |
65+ composer global require php-coveralls/php-coveralls
66+ php-coveralls --coverage_clover=build/logs/clover.xml -v
67+ if : ${{ matrix.coverage }}
0 commit comments