Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit ec46deb

Browse files
Add github actions which should get the suite running using phar's so this version works with most/all phpunit installations
1 parent bbc1a7b commit ec46deb

File tree

1 file changed

+161
-1
lines changed

1 file changed

+161
-1
lines changed

‎.github/workflows/run-tests.yml‎

Lines changed: 161 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
name: Unit Tests
1+
name: Tests
22

33
on:
44
push:
@@ -99,3 +99,163 @@ jobs:
9999

100100
- name: Execute Unit Tests
101101
run: vendor/bin/phpunit
102+
103+
test-phar:
104+
runs-on: ubuntu-latest
105+
106+
strategy:
107+
matrix:
108+
include:
109+
# Test against the high/low supported PHP-PHPUnit combinations.
110+
#
111+
# Code coverage is only run against the high/high PHP-PHPUnit combinations
112+
# and very select other combinations.
113+
# This should be sufficient to record the coverage for the PHAR specific code.
114+
115+
# PHPUnit 4 is only supported at the latest version.
116+
- php: '5.4'
117+
phpunit: '4'
118+
- php: '5.5'
119+
phpunit: '4'
120+
- php: '5.6'
121+
phpunit: '4'
122+
coverage: true
123+
124+
# PHPUnit 5 is only supported for PHPUnit 5.7.21-latest.
125+
- php: '5.6'
126+
phpunit: '5.7.21'
127+
- php: '5.6'
128+
phpunit: '5'
129+
- php: '7.1'
130+
phpunit: '5.7.21'
131+
- php: '7.1'
132+
phpunit: '5'
133+
coverage: true
134+
135+
# PHPUnit 6 is fully supported for the officially supported PHP versions.
136+
- php: '7.0'
137+
phpunit: '6.0'
138+
- php: '7.0'
139+
phpunit: '6'
140+
- php: '7.2'
141+
phpunit: '6.0'
142+
- php: '7.2'
143+
phpunit: '6'
144+
coverage: true
145+
146+
# PHPUnit 7 is fully supported for the officially supported PHP versions.
147+
# Caveats:
148+
# - PHPUnit 7.0 seems to have an issue with something related to TestListeners, so using PHPUnit 7.1 instead for "low".
149+
# - PHPUnit 7 supports PHP 7.3 as of PHPUnit 7.3.0 (for our purposes).
150+
- php: '7.1'
151+
phpunit: '7.1'
152+
- php: '7.1'
153+
phpunit: '7'
154+
- php: '7.3'
155+
phpunit: '7.3'
156+
- php: '7.3'
157+
phpunit: '7'
158+
coverage: true
159+
160+
# PHPUnit 8 is fully supported for the officially supported PHP versions.
161+
# Caveats:
162+
# - PHPUnit 8 supports PHP 8.0 as of PHPUnit 8.5.12 (for our purposes).
163+
# - PHPUnit 8 supports PHP 8.1 as of PHPUnit 8.5.19 (for our purposes).
164+
# - PHPUnit 8 supports PHP 8.2 as of PHPUnit 8.5.19 (for our purposes).
165+
# - PHPUnit 8 supports PHP 8.3 as of PHPUnit 8.5.19 (for our purposes).
166+
# - PHPUnit 8 does not support running code coverage on PHP 8.0 or higher.
167+
- php: '7.2'
168+
phpunit: '8.0'
169+
coverage: true
170+
- php: '7.2'
171+
phpunit: '8'
172+
- php: '7.4'
173+
phpunit: '8.0'
174+
- php: '7.4'
175+
phpunit: '8'
176+
coverage: true
177+
- php: '8.0'
178+
phpunit: '8.5.12'
179+
- php: '8.0'
180+
phpunit: '8'
181+
- php: '8.3'
182+
phpunit: '8.5.19'
183+
- php: '8.3'
184+
phpunit: '8'
185+
186+
# PHPUnit 9 is fully supported for the officially supported PHP versions.
187+
# Caveats:
188+
# - PHPUnit 9 supports PHP 8.0 as of PHPUnit 9.3.0 (for our purposes).
189+
# - PHPUnit 9 supports PHP 8.1 as of PHPUnit 9.5.8 (for our purposes).
190+
# - PHPUnit 9 supports PHP 8.2 as of PHPUnit 9.5.8 (for our purposes).
191+
# - PHPUnit 9 supports PHP 8.3 as of PHPUnit 9.5.8 (for our purposes).
192+
- php: '7.3'
193+
phpunit: '9.0'
194+
coverage: true
195+
- php: '7.3'
196+
phpunit: '9'
197+
- php: '8.0'
198+
phpunit: '9.3.0'
199+
- php: '8.0'
200+
phpunit: '9'
201+
- php: '8.1'
202+
phpunit: '9.5.8'
203+
- php: '8.1'
204+
phpunit: '9'
205+
- php: '8.2'
206+
phpunit: '9.5.8'
207+
- php: '8.2'
208+
phpunit: '9'
209+
- php: '8.3'
210+
phpunit: '9.5.8'
211+
- php: '8.3'
212+
phpunit: '9'
213+
coverage: true
214+
215+
# Experimental builds.
216+
- php: '8.4'
217+
phpunit: '9'
218+
219+
name: "PHAR test: PHP ${{ matrix.php }} - PHPUnit: ${{matrix.phpunit}}"
220+
221+
continue-on-error: ${{ matrix.php == '8.4' }}
222+
223+
steps:
224+
- name: Checkout code
225+
uses: actions/checkout@v4
226+
227+
- name: Install PHP
228+
uses: shivammathur/setup-php@v2
229+
with:
230+
php-version: ${{ matrix.php }}
231+
ini-values: zend.assertions=1, error_reporting=-1, display_errors=On
232+
tools: phpunit:${{ matrix.phpunit }}
233+
coverage: ${{ matrix.coverage && 'xdebug' || 'none' }}
234+
env:
235+
fail-fast: true
236+
237+
# Remove PHPUnit from the Composer install as we want to be sure the PHAR file is used.
238+
- name: 'Composer: remove PHPUnit'
239+
run: composer remove phpunit/phpunit --no-update --no-interaction
240+
241+
# Install dependencies and handle caching in one go.
242+
# @link https://github.com/marketplace/actions/install-php-dependencies-with-composer
243+
- name: Install Composer dependencies - normal
244+
if: matrix.php < '8.3'
245+
uses: "ramsey/composer-install@v3"
246+
with:
247+
composer-options: "--no-dev"
248+
# Bust the cache at least once a month - output format: YYYY-MM.
249+
custom-cache-suffix: $(date -u "+%Y-%m")
250+
251+
- name: Install Composer dependencies - ignore PHP restrictions
252+
if: matrix.php >= '8.3'
253+
uses: "ramsey/composer-install@v3"
254+
with:
255+
composer-options: "--no-dev --ignore-platform-req=php+"
256+
# Bust the cache at least once a month - output format: YYYY-MM.
257+
custom-cache-suffix: $(date -u "+%Y-%m")
258+
259+
- name: Run the unit tests
260+
if: ${{ ! matrix.coverage }}
261+
run: phpunit --no-coverage

0 commit comments

Comments
(0)

AltStyle によって変換されたページ (->オリジナル) /