svchat/.github/workflows/playwright.yml

69 lines
1.5 KiB
YAML

name: Tests
on:
push:
branches: [master]
pull_request:
branches: [master]
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
- name: Run Playwright tests
run: |
bun run dev --host &
bun run test
env:
NODE_ENV: testing
- name: Upload test results
uses: actions/upload-artifact@v4
if: ${{ !cancelled() }}
with:
name: test-results
path: test-results/
retention-days: 30