svchat/.github/workflows/playwright.yml

62 lines
1.5 KiB
YAML

name: Playwright Tests
on: [push, pull_request]
jobs:
test:
name: Tests
runs-on: ubuntu-latest
services:
# Cassandra service container
cassandra:
image: cassandra:latest
ports:
- 9042:9042
options: --health-cmd="nodetool status" --health-interval=10s --health-timeout=5s --health-retries=5
env:
CASSANDRA_USER: admin
CASSANDRA_PASSWORD: admin
# Minio service container
minio:
image: docker.io/bitnami/minio
ports:
- 9000:9000
env:
MINIO_ROOT_USER: minioadmin
MINIO_ROOT_PASSWORD: minioadmin
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Setup Bun
uses: oven-sh/setup-bun@v2
with:
bun-version: latest
- name: Install dependencies
run: bun install
- name: Install Playwright browsers
run: bunx playwright install --with-deps chromium
- name: Set up users DB
run: bun run migrate
- name: Setup environment
run: |
cp .env.example .env
sudo echo "127.0.0.1 localhost" | sudo tee -a /etc/hosts
- name: Run Playwright tests
run: bun run test
env:
NODE_ENV: testing
- name: Upload test results
uses: actions/upload-artifact@v4
if: always()
with:
name: playwright-report
path: playwright-report/
retention-days: 30