name: 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 - 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: always() with: name: playwright-report path: playwright-report/ retention-days: 30