Skip to content
This repository was archived by the owner on Nov 5, 2025. It is now read-only.

Commit ab85bc5

Browse files
Perform mutation testing with Infection in CI pipeline
1 parent 6a6269c commit ab85bc5

File tree

1 file changed

+43
-0
lines changed

1 file changed

+43
-0
lines changed

.github/workflows/ci.yml

Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -280,3 +280,46 @@ jobs:
280280
token: ${{ secrets.CODECOV_TOKEN }}
281281
disable_search: true
282282
files: ./code-coverage.xml
283+
284+
mutation-testing:
285+
name: Mutation Testing
286+
287+
needs:
288+
- end-to-end-tests
289+
290+
runs-on: ubuntu-latest
291+
timeout-minutes: 5
292+
293+
steps:
294+
- name: Checkout
295+
uses: actions/checkout@v4
296+
297+
- name: Install MySQL
298+
uses: shogo82148/actions-setup-mysql@v1
299+
with:
300+
mysql-version: "9.0"
301+
302+
- name: Set up test database
303+
run: mysql -u root < ./sql/schema.sql
304+
305+
- name: Install PHP with extensions
306+
uses: shivammathur/setup-php@v2
307+
with:
308+
php-version: 8.4
309+
coverage: xdebug
310+
tools: none
311+
312+
- name: Install dependencies with Composer
313+
run: ./tools/composer update --no-ansi --no-interaction --no-progress
314+
315+
- name: Create directory for projections
316+
run: mkdir projections
317+
318+
- name: Create projection
319+
run: ./bin/project.php projections/market.html
320+
321+
- name: Start PHP built-in server
322+
run: php -S 127.0.0.1:8080 -t public &
323+
324+
- name: Perform mutation testing with Infection
325+
run: ./tools/infection --threads=max --ignore-msi-with-no-mutations --only-covered

0 commit comments

Comments
 (0)