Skip to content

Commit f180a5a

Browse files
committed
chore: enhance Playwright workflow with database matrix support
- Added a strategy matrix to the Playwright workflow to support multiple databases (Postgres, Mongo, SQLite). - Updated Docker Compose commands to dynamically reference the selected database for service startup, logging, and teardown. - Adjusted artifact naming to include the database type for better organization of test reports.
1 parent 7554646 commit f180a5a

File tree

1 file changed

+11
-8
lines changed

1 file changed

+11
-8
lines changed

.github/workflows/playwright.yml

Lines changed: 11 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,9 @@ jobs:
88
test:
99
timeout-minutes: 60
1010
runs-on: ubuntu-latest
11+
strategy:
12+
matrix:
13+
database: [postgres, mongo, sqlite]
1114
steps:
1215
# prepare environment and dependencies
1316
- uses: actions/checkout@v4
@@ -24,14 +27,14 @@ jobs:
2427
run: cp .env.prod.example .env
2528

2629
- name: Start services
27-
run: docker compose -f docker-compose.prod.postgres.yml up -d
30+
run: docker compose -f docker-compose.prod.${{ matrix.database }}.yml up -d
2831

2932
- name: Show container logs
3033
run: |
3134
echo "=== Container Status ==="
32-
docker compose -f docker-compose.prod.postgres.yml ps
35+
docker compose -f docker-compose.prod.${{ matrix.database }}.yml ps
3336
echo "=== Container Logs ==="
34-
docker compose -f docker-compose.prod.postgres.yml logs
37+
docker compose -f docker-compose.prod.${{ matrix.database }}.yml logs
3538
3639
- name: Wait for services to be ready
3740
run: |
@@ -47,11 +50,11 @@ jobs:
4750
attempt=$((attempt + 1))
4851
sleep 5
4952
echo "=== Container Status ==="
50-
docker compose -f docker-compose.prod.postgres.yml ps
53+
docker compose -f docker-compose.prod.${{ matrix.database }}.yml ps
5154
echo "=== Server Logs ==="
52-
docker compose -f docker-compose.prod.postgres.yml logs server
55+
docker compose -f docker-compose.prod.${{ matrix.database }}.yml logs server
5356
echo "=== Gateway Logs ==="
54-
docker compose -f docker-compose.prod.postgres.yml logs gateway
57+
docker compose -f docker-compose.prod.${{ matrix.database }}.yml logs gateway
5558
5659
done
5760
' || echo "Health check timed out after 60 seconds"
@@ -63,12 +66,12 @@ jobs:
6366

6467
- name: Stop services
6568
if: always()
66-
run: docker compose -f docker-compose.prod.postgres.yml down
69+
run: docker compose -f docker-compose.prod.${{ matrix.database }}.yml down
6770

6871
# epilogue
6972
- uses: actions/upload-artifact@v4
7073
if: ${{ !cancelled() }}
7174
with:
72-
name: playwright-report
75+
name: playwright-report-${{ matrix.database }}
7376
path: playwright-report/
7477
retention-days: 30

0 commit comments

Comments
 (0)