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