Skip to content

Commit 3ae7768

Browse files
Thomas FinkThomas Fink
Thomas Fink
authored and
Thomas Fink
committed
chore(ZMS): move the coverage to the regular unit test workflow
1 parent 20be7fe commit 3ae7768

File tree

3 files changed

+66
-222
lines changed

3 files changed

+66
-222
lines changed

.github/workflows/combined-workflow.yaml

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,4 @@ jobs:
2525
always() &&
2626
needs.call-php-unit-tests.result == 'success' &&
2727
needs.call-php-code-quality.result == 'success'
28-
uses: ./.github/workflows/build-images.yaml
29-
30-
call-php-code-coverage:
31-
uses: ./.github/workflows/php-code-coverage.yaml
28+
uses: ./.github/workflows/build-images.yaml

.github/workflows/php-code-coverage.yaml

Lines changed: 0 additions & 202 deletions
This file was deleted.

.github/workflows/unit-tests.yaml

Lines changed: 65 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -15,10 +15,18 @@ jobs:
1515
run: |
1616
cd "${{ matrix.module }}"
1717
composer install --no-progress --prefer-dist --optimize-autoloader
18-
- name: Run Unit Tests
18+
- name: Run Unit Tests with Coverage
1919
run: |
2020
cd "${{ matrix.module }}"
21-
./vendor/bin/phpunit
21+
mkdir -p coverage
22+
php -dzend_extension=xdebug.so -dmemory_limit=-1 ./vendor/bin/phpunit \
23+
--coverage-html coverage/html --coverage-clover coverage/clover.xml
24+
- name: Upload Coverage
25+
uses: actions/upload-artifact@v4
26+
with:
27+
name: coverage-${{ matrix.module }}
28+
path: ${{ matrix.module }}/coverage/
29+
retention-days: 1
2230
strategy:
2331
fail-fast: false
2432
matrix:
@@ -42,7 +50,6 @@ jobs:
4250
- module: zmsticketprinter
4351
php_version: "8.0"
4452

45-
4653
zmsapi-test:
4754
runs-on: ubuntu-latest
4855
container:
@@ -91,9 +98,15 @@ jobs:
9198
ln -s vendor/eappointment/zmsdb/tests/Zmsdb/fixtures data
9299
echo "Importing test data..."
93100
vendor/bin/importTestData --commit
101+
mkdir -p coverage
94102
php -dzend_extension=xdebug.so -dmemory_limit=-1 vendor/bin/phpunit \
95-
-v --colors=never --coverage-text --coverage-html public/_tests/coverage/ --log-junit \
96-
public/_tests/junit.xml
103+
--coverage-html coverage/html --coverage-clover coverage/clover.xml
104+
- name: Upload Coverage
105+
uses: actions/upload-artifact@v4
106+
with:
107+
name: coverage-zmsapi
108+
path: zmsapi/coverage/
109+
retention-days: 1
97110

98111
zmsdb-test:
99112
runs-on: ubuntu-latest
@@ -139,12 +152,15 @@ jobs:
139152
run: |
140153
cd zmsdb
141154
bin/importTestData --commit
155+
mkdir -p coverage
142156
php -dzend_extension=xdebug.so -dmemory_limit=-1 vendor/bin/phpunit \
143-
-v --colors=never --coverage-text --coverage-html public/_tests/coverage/ --log-junit \
144-
public/_tests/junit.xml
145-
146-
147-
157+
--coverage-html coverage/html --coverage-clover coverage/clover.xml
158+
- name: Upload Coverage
159+
uses: actions/upload-artifact@v4
160+
with:
161+
name: coverage-zmsdb
162+
path: zmsdb/coverage/
163+
retention-days: 1
148164

149165
zmsclient-test:
150166
runs-on: ubuntu-latest
@@ -166,11 +182,6 @@ jobs:
166182
echo "Installing Composer dependencies for $module"
167183
(cd "$module" && composer install --no-progress --prefer-dist --optimize-autoloader)
168184
done
169-
- name: Install Docker Compose
170-
run: |
171-
sudo curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
172-
sudo chmod +x /usr/local/bin/docker-compose
173-
docker-compose --version
174185
175186
- name: Install Docker Compose
176187
run: |
@@ -180,4 +191,42 @@ jobs:
180191
181192
- name: Run Unit Tests
182193
run: |
183-
/bin/bash -c "cd ./zmsclient && docker-compose up -d && docker-compose exec -T test ./vendor/bin/phpunit"
194+
cd ./zmsclient
195+
mkdir -p coverage
196+
docker-compose up -d
197+
docker-compose exec -T test php -dzend_extension=xdebug.so -dmemory_limit=-1 \
198+
./vendor/bin/phpunit --coverage-html coverage/html --coverage-clover coverage/clover.xml
199+
200+
- name: Upload Coverage
201+
uses: actions/upload-artifact@v4
202+
with:
203+
name: coverage-zmsclient
204+
path: zmsclient/coverage/
205+
retention-days: 1
206+
207+
combine-coverage:
208+
needs: [module-test, zmsapi-test, zmsdb-test, zmsclient-test]
209+
runs-on: ubuntu-latest
210+
steps:
211+
- name: Download all coverage reports
212+
uses: actions/download-artifact@v4
213+
with:
214+
path: all-coverage
215+
merge-multiple: true
216+
217+
- name: Combine reports
218+
run: |
219+
mkdir -p combined-coverage
220+
for module in zmsadmin zmscalldisplay zmscitizenapi zmsdldb zmsentities zmsmessaging zmsslim zmsstatistic zmsticketprinter zmsapi zmsdb zmsclient; do
221+
if [ -d "all-coverage/coverage-$module" ]; then
222+
mkdir -p "combined-coverage/$module"
223+
cp -r "all-coverage/coverage-$module"/* "combined-coverage/$module/"
224+
fi
225+
done
226+
227+
- name: Upload combined coverage
228+
uses: actions/upload-artifact@v4
229+
with:
230+
name: coverage-reports
231+
path: combined-coverage/
232+
retention-days: 7

0 commit comments

Comments
 (0)