11name : " Tests"
22
3+ permissions :
4+ actions : none
5+ attestations : none
6+ checks : none
7+ contents : read
8+ deployments : none
9+ id-token : none
10+ issues : none
11+ models : none
12+ discussions : none
13+ packages : none
14+ pages : none
15+ pull-requests : none
16+ security-events : none
17+ statuses : none
18+
319on :
420 pull_request :
521 branches :
824 - ' **.php'
925 - ' composer.json'
1026 - ' composer.lock'
27+ - ' .php-cs-fixer.php'
28+ - ' phpstan.neon'
29+ - ' psalm.xml'
30+ - ' tools/php-cs-fixer/composer.json'
31+ - ' tools/php-cs-fixer/composer.lock'
32+ - ' tools/phpstan/composer.json'
33+ - ' tools/phpstan/composer.lock'
34+ - ' tools/psalm/composer.json'
35+ - ' tools/psalm/composer.lock'
1136 - ' phpunit.xml'
1237 - ' .github/workflows/tests.yaml'
1338 push :
1742 - ' **.php'
1843 - ' composer.json'
1944 - ' composer.lock'
45+ - ' .php-cs-fixer.php'
46+ - ' phpstan.neon'
47+ - ' psalm.xml'
48+ - ' tools/php-cs-fixer/composer.json'
49+ - ' tools/php-cs-fixer/composer.lock'
50+ - ' tools/phpstan/composer.json'
51+ - ' tools/phpstan/composer.lock'
52+ - ' tools/psalm/composer.json'
53+ - ' tools/psalm/composer.lock'
2054 - ' phpunit.xml'
2155 - ' .github/workflows/tests.yaml'
2256
2357env :
2458 CONSUL_HTTP_ADDR : " 127.0.0.1:8500"
25- CONSUL_VERSION : ' 1.20.5 '
59+ CONSUL_VERSION : ' 2.0.1 '
2660
2761jobs :
62+ checks :
63+ runs-on : ubuntu-22.04
64+ name : Checks - PHP 8.3
65+ steps :
66+ - uses : actions/checkout@v7
67+
68+ - uses : shivammathur/setup-php@v2
69+ with :
70+ php-version : ' 8.3'
71+ extensions : json,dom,simplexml,tokenizer,mbstring
72+ ini-values : precision=14,serialize_precision=-1
73+ ini-file : ' development'
74+
75+ - name : ' Install root composer deps'
76+ shell : bash -e {0}
77+ # language=sh
78+ run : |
79+ composer install --no-ansi --no-interaction --no-scripts --no-progress --prefer-dist
80+
81+ - name : ' Restore tool vendor cache'
82+ id : tool-vendor-cache
83+ uses : actions/cache/restore@v6
84+ with :
85+ path : |
86+ tools/php-cs-fixer/vendor
87+ tools/phpstan/vendor
88+ tools/psalm/vendor
89+ key : " tool-vendor-${{ runner.os }}-8.3-${{ hashFiles('tools/php-cs-fixer/composer.lock', 'tools/phpstan/composer.lock', 'tools/psalm/composer.lock') }}"
90+
91+ - name : ' Install tool composer deps'
92+ shell : bash -e {0}
93+ # language=sh
94+ run : |
95+ composer install --working-dir tools/php-cs-fixer --no-ansi --no-interaction --no-scripts --no-progress --prefer-dist
96+ composer install --working-dir tools/phpstan --no-ansi --no-interaction --no-scripts --no-progress --prefer-dist
97+ composer install --working-dir tools/psalm --no-ansi --no-interaction --no-scripts --no-progress --prefer-dist
98+
99+ - name : ' Save tool vendor cache'
100+ if : steps.tool-vendor-cache.outputs.cache-hit != 'true' && steps.tool-vendor-cache.outputs.cache-hit != true
101+ uses : actions/cache/save@v6
102+ with :
103+ path : |
104+ tools/php-cs-fixer/vendor
105+ tools/phpstan/vendor
106+ tools/psalm/vendor
107+ key : " tool-vendor-${{ runner.os }}-8.3-${{ hashFiles('tools/php-cs-fixer/composer.lock', 'tools/phpstan/composer.lock', 'tools/psalm/composer.lock') }}"
108+
109+ - name : ' Execute php-cs-fixer'
110+ # language=bash
111+ run : |
112+ composer php-cs-fixer -- --dry-run --diff
113+
114+ - name : ' Execute phpstan'
115+ # language=bash
116+ run : |
117+ composer phpstan
118+
119+ - name : ' Execute psalm'
120+ # language=bash
121+ run : |
122+ composer psalm
123+
28124 tests :
29125 runs-on : ubuntu-22.04
30126 strategy :
31127 matrix :
32128 php-version :
33- - ' 8.1'
34129 - ' 8.2'
35130 - ' 8.3'
36131 - ' 8.4'
132+ - ' 8.5'
37133
38134 name : Tests - PHP ${{ matrix.php-version }}
39135 steps :
@@ -46,10 +142,10 @@ jobs:
46142 run : |
47143 _phpunit_version=
48144 case "${{ matrix.php-version }}" in
49- 8.1 ) _phpunit_version='10 .5' ;;
50- 8.2 ) _phpunit_version='11.1 ' ;;
51- 8.3 ) _phpunit_version='11.1 ' ;;
52- 8.4 ) _phpunit_version='11.1 ' ;;
145+ 8.2 ) _phpunit_version='11 .5' ;;
146+ 8.3 ) _phpunit_version='12.0 ' ;;
147+ 8.4 ) _phpunit_version='12.0 ' ;;
148+ 8.5 ) _phpunit_version='12.0 ' ;;
53149 *) echo "Unsupported PHP version: ${{ matrix.php-version }}" && exit 1 ;;
54150 esac
55151 echo "phpunit-version=${_phpunit_version}" >> $GITHUB_OUTPUT
59155 php-version : ${{ matrix.php-version }}
60156 extensions : json
61157 ini-values : precision=14,serialize_precision=-1
158+ ini-file : ' development'
62159
63160 - name : ' Install jq'
64161 uses : dcarbone/install-jq-action@v4
85182 uses : actions/cache@v6
86183 with :
87184 path : ${{ steps.composer-cache.outputs.dir }}
88- key : " composer-${{ runner.os }}-${{ matrix.php-version }}-${{ steps.vars.outputs.phpunit-version }}-${{ hashFiles('composer.lock ') }}"
185+ key : " composer-${{ runner.os }}-${{ matrix.php-version }}-${{ steps.vars.outputs.phpunit-version }}-${{ hashFiles('composer.json ') }}"
89186
90187 - name : ' Install composer deps'
91188 shell : bash -e {0}
99196 uses : actions/cache/save@v6
100197 with :
101198 path : ${{ steps.composer-cache.outputs.dir }}
102- key : " composer-${{ runner.os }}-${{ matrix.php-version }}-${{ steps.vars.outputs.phpunit-version }}-${{ hashFiles('composer.lock ') }}"
199+ key : " composer-${{ runner.os }}-${{ matrix.php-version }}-${{ steps.vars.outputs.phpunit-version }}-${{ hashFiles('composer.json ') }}"
103200
104201 - name : ' Restore consul ${{ env.CONSUL_VERSION }}'
105202 id : consul-cache
@@ -135,4 +232,4 @@ jobs:
135232 - name : ' Execute tests'
136233 # language=bash
137234 run : |
138- ./vendor/bin/phpunit -c phpunit.xml
235+ ./vendor/bin/phpunit -c phpunit.xml --display-deprecations
0 commit comments