Skip to content

Add local cockroach instance for playwright tests #340

Add local cockroach instance for playwright tests

Add local cockroach instance for playwright tests #340

Workflow file for this run

name: πŸš€ Test
on:
push:
branches:
- main
pull_request: {}
permissions:
actions: write
contents: read
jobs:
lint:
name: ⬣ ESLint
runs-on: ubuntu-latest
steps:
- name: ⬇️ Checkout repo
uses: actions/checkout@v4
- name: βŽ” Setup node
uses: actions/setup-node@v4
with:
node-version: 20
- name: πŸ“₯ Download deps
run: npm ci
- name: πŸ”¬ Lint
run: npm run lint
typecheck:
name: Κ¦ TypeScript
runs-on: ubuntu-latest
steps:
- name: ⬇️ Checkout repo
uses: actions/checkout@v4
- name: βŽ” Setup node
uses: actions/setup-node@v4
with:
node-version: 20
- name: πŸ“₯ Download deps
run: npm ci
- name: πŸ”Ž Type check
run: npm run typecheck
vitest:
name: ⚑ Vitest
runs-on: ubuntu-latest
steps:
- name: ⬇️ Checkout repo
uses: actions/checkout@v4
- name: βŽ” Setup node
uses: actions/setup-node@v4
with:
node-version: 20
- name: πŸ“₯ Download deps
run: npm ci
- name: ⚑ Run vitest
run: npm run test
playwright:
name: ⚫️ Playwright
runs-on: ubuntu-latest
steps:
- name: ⬇️ Checkout repo
uses: actions/checkout@v4
- name: πŸ„ Copy test env vars
run: cp .env.example .env
- name: βŽ” Setup node
uses: actions/setup-node@v4
with:
node-version: 20
- name: πŸ“₯ Download deps
run: npm ci
- name: Start a single CockroachDB instance
run: |
docker pull cockroachdb/cockroach:latest-v24.2
docker run -d --name roach --hostname roach -p 26257:26257 -p 8080:8080 cockroachdb/cockroach:latest-v24.2 start-single-node --insecure
sudo apt update && sudo apt install wait-for-it -y
wait-for-it -h localhost -p 26257
- name: πŸ›  Setup Database
run: npx prisma db push
env:
DATABASE_URL: postgresql://root@localhost:26257/defaultdb?sslmode=disable
- name: 🌱 Seed the Database
run: npx prisma db seed
env:
DATABASE_URL: postgresql://root@localhost:26257/defaultdb?sslmode=disable
- name: βš™οΈ Build
run: npm run build
- name: 🧰 Install Playwright Browsers
run: npx playwright install --with-deps
- name: 🌳 Run Playwright tests
run: npm run test:e2e:run
env:
DATABASE_URL: postgresql://root@localhost:26257/defaultdb?sslmode=disable
- name: ⬆️ Upload artifacts
uses: actions/upload-artifact@v4
if: always()
with:
name: playwright-report
path: playwright-report/
retention-days: 30