11name : Test
22
3- on : [push]
3+ on :
4+ pull_request :
5+ branches : ["master"]
6+ paths-ignore :
7+ - " README.md"
8+ - " .gitignore"
9+ - " LICENSE.md"
10+ push :
11+ branches : ["master"]
12+
413jobs :
514 test :
6-
7- name : Test PHP ${{ matrix.php-versions }}
15+ name : Test PHP ${{ matrix.php.version }} ${{ matrix.php.composer }}
816 runs-on : ubuntu-latest
917 strategy :
1018 matrix :
11- php-versions : ['8.0', '8.1', '8.2', '8.3']
19+ php :
20+ - version : ' 8.1'
21+ composer : --prefer-lowest
22+ - version : ' 8.2'
23+ composer : --prefer-lowest
24+ - version : ' 8.3'
25+ composer : --prefer-lowest
26+ # - version: '8.4'
27+ # composer: --prefer-lowest
28+ - version : ' 8.1'
29+ composer : --prefer-stable
30+ - version : ' 8.2'
31+ composer : --prefer-stable
32+ - version : ' 8.3'
33+ composer : --prefer-stable
34+ - version : ' 8.4'
35+ composer : --prefer-stable
1236
1337 steps :
1438 - uses : actions/checkout@v4
2145 - name : Setup PHP
2246 uses : shivammathur/setup-php@v2
2347 with :
24- php-version : ${{ matrix.php-versions }}
48+ php-version : ${{ matrix.php.version }}
2549 extensions : curl, mbstring, intl, libxml, simplexml
2650 coverage : xdebug
2751
@@ -38,24 +62,36 @@ jobs:
3862 restore-keys : ${{ runner.os }}-composer-
3963
4064 - name : Install dependencies
41- run : (test -d vendor && echo vendor directory exists) || composer install --prefer-dist --no-progress --no-suggest
65+ run : (test -d vendor && echo vendor directory exists) || composer update --no-interaction --no-scripts --no-ansi ${{ matrix.php.composer }}
4266
4367 - name : Run PHPUnit
4468 run : vendor/bin/phpunit --coverage-text --coverage-clover clover.xml
4569
70+ - name : Static Analysis
71+ if : matrix.php.version == '8.3' && matrix.php.composer == '--prefer-stable'
72+ run : composer analyse
73+
4674 - name : " [Coveralls] Extract branch name"
47- if : matrix.php-versions == '8.3'
75+ if : matrix.php.version == '8.3' && matrix.php.composer == '--prefer-stable '
4876 shell : bash
49- run : echo "branch=$(echo ${GITHUB_REF#refs/heads/})" >> $GITHUB_OUTPUT
77+ run : |
78+ if [ -n "${GITHUB_HEAD_REF}" ]; then
79+ echo "Branch from PR: ${GITHUB_HEAD_REF}"
80+ echo "branch=${GITHUB_HEAD_REF}" >> $GITHUB_OUTPUT
81+ else
82+ branch_name="${GITHUB_REF#refs/heads/}"
83+ echo "Branch from push: ${branch_name}"
84+ echo "branch=${branch_name}" >> $GITHUB_OUTPUT
85+ fi
5086 id : extract_branch
5187
5288 - name : " [Coveralls] Checkout branch"
53- if : matrix.php-versions == '8.3'
89+ if : matrix.php.version == '8.3' && matrix.php.composer == '--prefer-stable '
5490 shell : bash
5591 run : git fetch && git checkout ${{ steps.extract_branch.outputs.branch }}
5692
5793 - name : " [Coveralls] Send report"
58- if : matrix.php-versions == '8.3'
94+ if : matrix.php.version == '8.3' && matrix.php.composer == '--prefer-stable '
5995 run : ./vendor/bin/php-coveralls -v -x clover.xml -o coveralls-upload.json
6096 env :
6197 COVERALLS_REPO_TOKEN : ${{ secrets.GITHUB_TOKEN }}
0 commit comments