Skip to content

Commit b4951f1

Browse files
authored
chore(ga): add otel test to CI (#504)
chore(ga): update unit testing strategy to run it on parallel
1 parent 15424d5 commit b4951f1

1 file changed

Lines changed: 60 additions & 64 deletions

File tree

.github/workflows/push.yml

Lines changed: 60 additions & 64 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,64 @@
1-
name: Unit Tests On Push
1+
name: Run Unit Tests On Push
22

33
on:
44
push:
55

66
jobs:
77
unit-tests:
88
runs-on: ubuntu-latest
9+
env:
10+
APP_ENV: testing
11+
APP_DEBUG: true
12+
PHP_VERSION: "8.3"
13+
14+
steps:
15+
- name: Check out repository code
16+
uses: actions/checkout@v4
17+
18+
- name: Install PHP
19+
uses: shivammathur/setup-php@v2
20+
with:
21+
php-version: ${{ env.PHP_VERSION }}
22+
extensions: mbstring, exif, pcntl, bcmath
23+
24+
- name: Install dependencies
25+
uses: ramsey/composer-install@v3
26+
env:
27+
COMPOSER_AUTH: '{"github-oauth": {"github.com": "${{ secrets.COMPOSER_AUTH_TOKEN }}"} }'
28+
29+
- name: Run Unit Tests
30+
run: |
31+
echo "running OpenTelemetry Formatter tests"
32+
vendor/bin/phpunit tests/OpenTelemetry/Formatters/ --log-junit results_opentelemetry_tests.xml
33+
34+
- name: Upload OpenTelemetry Tests Output
35+
uses: actions/upload-artifact@v4
36+
with:
37+
name: results_opentelemetry_tests
38+
path: results_opentelemetry_tests.xml
39+
retention-days: 5
40+
41+
integration-tests:
42+
runs-on: ubuntu-latest
43+
strategy:
44+
fail-fast: false
45+
matrix:
46+
suite:
47+
- { name: "OAuth2SummitApiTest", filter: "--filter OAuth2SummitApiTest" }
48+
- { name: "OAuth2SummitEventsApiTest", filter: "--filter OAuth2SummitEventsApiTest" }
49+
- { name: "OAuth2PresentationSubmissionTest", filter: "--filter OAuth2PresentationSubmissionTest" }
50+
- { name: "OAuth2EventTypesApiTest", filter: "--filter OAuth2EventTypesApiTest" }
51+
- { name: "OAuth2SummitBadgeScanApiControllerTest", filter: "--filter OAuth2SummitBadgeScanApiControllerTest" }
52+
- { name: "SummitOrderServiceTest", filter: "--filter SummitOrderServiceTest" }
53+
- { name: "SummitRSVPServiceTest", filter: "--filter SummitRSVPServiceTest" }
54+
- { name: "SummitRSVPInvitationServiceTest", filter: "--filter SummitRSVPInvitationServiceTest" }
55+
- { name: "OAuth2RSVPApiTest", filter: "--filter OAuth2RSVPApiTest" }
56+
- { name: "OAuth2RSVPApiWithMocksTest", filter: "--filter OAuth2RSVPApiWithMocksTest" }
57+
- { name: "OAuth2RSVPInvitationApiTest", filter: "--filter OAuth2RSVPInvitationApiTest" }
58+
- { name: "EntityModelUnitTests", filter: "tests/Unit/Entities/" }
59+
- { name: "AuditOtlpStrategyTest", filter: "--filter AuditOtlpStrategyTest" }
60+
- { name: "AuditEventTypesTest", filter: "--filter AuditEventTypesTest" }
61+
- { name: "GuzzleTracingTest", filter: "--filter GuzzleTracingTest" }
962
env:
1063
OTEL_SERVICE_ENABLED: false
1164
APP_ENV: testing
@@ -109,75 +162,18 @@ jobs:
109162
env:
110163
COMPOSER_AUTH: '{"github-oauth": {"github.com": "${{ secrets.COMPOSER_AUTH_TOKEN }}"} }'
111164

112-
- name: Run Tests
165+
- name: Run ${{ matrix.suite.name }}
113166
run: |
114167
./update_doctrine.sh
115168
php artisan db:create_test_db --schema=config
116169
php artisan db:create_test_db --schema=model
117170
php artisan doctrine:migrations:migrate --no-interaction --em=model_write
118-
echo "running OAuth2SummitApiTest"
119-
vendor/bin/phpunit --filter "OAuth2SummitApiTest" --log-junit results_summit_api_test.xml
120-
echo "running OAuth2SummitEventsApiTest"
121-
vendor/bin/phpunit --filter "OAuth2SummitEventsApiTest" --log-junit results_events_api_test.xml
122-
echo "running OAuth2PresentationSubmissionTest"
123-
vendor/bin/phpunit --filter "OAuth2PresentationSubmissionTest" --log-junit results_presentation_submissions_api_test.xml
124-
echo "running OAuth2EventTypesApiTest"
125-
vendor/bin/phpunit --filter "OAuth2EventTypesApiTest" --log-junit results_event_types_api_test.xml
126-
echo "running model unit tests"
127-
vendor/bin/phpunit tests/Unit/Entities/ --log-junit results_model_unit_tests.xml
128-
echo "running OAuth2SummitBadgeScanApiControllerTest"
129-
vendor/bin/phpunit --filter "OAuth2SummitBadgeScanApiControllerTest" --log-junit results_badge_scan_api_test.xml
130-
echo "running SummitOrderService tests"
131-
vendor/bin/phpunit --filter "SummitOrderServiceTest" --log-junit results_summitorder_service_unit_tests.xml
132-
echo "running SummitRSVPServiceTest tests"
133-
vendor/bin/phpunit --filter "SummitRSVPServiceTest" --log-junit results_rsvp_service_unit_tests.xml
134-
echo "running SummitRSVPInvitationServiceTest tests"
135-
vendor/bin/phpunit --filter "SummitRSVPInvitationServiceTest" --log-junit results_rsvp_invitation_service_unit_tests.xml
136-
echo "running OAuth2RSVPApiTest tests"
137-
vendor/bin/phpunit --filter "OAuth2RSVPApiTest" --log-junit results_rsvp_api_test_unit_tests.xml
138-
echo "running OAuth2RSVPApiWithMocksTest tests"
139-
vendor/bin/phpunit --filter "OAuth2RSVPApiWithMocksTest" --log-junit results_rsvp_api_with_mocks_test_unit_tests.xml
140-
echo "running OAuth2RSVPInvitationApiTest tests"
141-
vendor/bin/phpunit --filter "OAuth2RSVPInvitationApiTest" --log-junit results_rsvp_invitations_api_test_unit_tests.xml
142-
143-
- name: Upload Unit Test Output For OAuth2SummitApiTest
144-
uses: actions/upload-artifact@v4
145-
with:
146-
name: results_summit_api_test
147-
path: results_summit_api_test.xml
148-
retention-days: 5
149-
150-
- name: Upload Unit Test Output For OAuth2SummitEventsApiTest
151-
uses: actions/upload-artifact@v4
152-
with:
153-
name: results_events_api_test
154-
path: results_events_api_test.xml
155-
retention-days: 5
156-
157-
- name: Upload Unit Test Output For OAuth2PresentationSubmissionTest
158-
uses: actions/upload-artifact@v4
159-
with:
160-
name: results_presentation_submissions_api_test
161-
path: results_presentation_submissions_api_test.xml
162-
retention-days: 5
163-
164-
- name: Upload Entity Model Unit Tests Output
165-
uses: actions/upload-artifact@v4
166-
with:
167-
name: results_model_unit_tests
168-
path: results_model_unit_tests.xml
169-
retention-days: 5
170-
171-
- name: Upload Unit Test Output For OAuth2SummitBadgeScanApiControllerTest
172-
uses: actions/upload-artifact@v4
173-
with:
174-
name: results_badge_scan_api_test
175-
path: results_badge_scan_api_test.xml
176-
retention-days: 5
171+
echo "running ${{ matrix.suite.name }}"
172+
vendor/bin/phpunit ${{ matrix.suite.filter }} --log-junit results.xml
177173
178-
- name: Upload Unit Test Output For SummitOrderServiceTest
174+
- name: Upload Test Results
179175
uses: actions/upload-artifact@v4
180176
with:
181-
name: results_summitorder_service_unit_tests
182-
path: results_summitorder_service_unit_tests.xml
177+
name: results_${{ matrix.suite.name }}
178+
path: results.xml
183179
retention-days: 5

0 commit comments

Comments
 (0)