Skip to content

fix: render Unicode box-drawing chars in terminal mockup #29

fix: render Unicode box-drawing chars in terminal mockup

fix: render Unicode box-drawing chars in terminal mockup #29

Workflow file for this run

name: CI
on:
push:
branches: [main]
pull_request:
branches: [main]
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
env:
TURBO_TOKEN: ${{ secrets.TURBO_TOKEN }}
TURBO_TEAM: ${{ secrets.TURBO_TEAM }}
# Required by @repo/next-config env validation during build
NEXT_PUBLIC_APP_URL: http://localhost:3000
NEXT_PUBLIC_WEB_URL: http://localhost:3001
NEXT_PUBLIC_API_URL: http://localhost:3002
NEXT_PUBLIC_DOCS_URL: http://localhost:3004
# Dummy DATABASE_URL for build (Prisma client import requires it, but no actual connection is made)
DATABASE_URL: postgresql://user:pass@localhost:5432/ci
jobs:
check:
name: Lint & Typecheck
runs-on: ubuntu-latest
timeout-minutes: 10
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Setup Bun
uses: oven-sh/setup-bun@v2
with:
bun-version: latest
- name: Install dependencies
run: bun install --frozen-lockfile
- name: Generate Prisma client
run: bunx prisma generate --schema=packages/database/prisma/schema.prisma
- name: Lint (biome)
run: bun run check
- name: Typecheck
run: bun run turbo typecheck --filter=api --filter=app --filter=web
test:
name: Test
runs-on: ubuntu-latest
timeout-minutes: 10
needs: check
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Setup Bun
uses: oven-sh/setup-bun@v2
with:
bun-version: latest
- name: Install dependencies
run: bun install --frozen-lockfile
- name: Generate Prisma client
run: cd packages/database && bunx prisma generate
- name: Run tests
run: bun run test
build:
name: Build
runs-on: ubuntu-latest
timeout-minutes: 15
needs: test
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Setup Bun
uses: oven-sh/setup-bun@v2
with:
bun-version: latest
- name: Install dependencies
run: bun install --frozen-lockfile
- name: Build all
run: bun run build
e2e:
name: E2E Tests
runs-on: ubuntu-latest
timeout-minutes: 20
needs: build
if: github.event_name == 'pull_request'
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Setup Bun
uses: oven-sh/setup-bun@v2
with:
bun-version: latest
- name: Install dependencies
run: bun install --frozen-lockfile
- name: Generate Prisma client
run: cd packages/database && bunx prisma generate
- name: Install Playwright browsers
run: bunx playwright install --with-deps chromium
- name: Run E2E tests
working-directory: apps/app
run: bunx playwright test
env:
NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY: ${{ secrets.E2E_CLERK_PUBLISHABLE_KEY }}
CLERK_SECRET_KEY: ${{ secrets.E2E_CLERK_SECRET_KEY }}
E2E_CLERK_USER_EMAIL: ${{ secrets.E2E_CLERK_USER_EMAIL }}
- name: Upload Playwright report
uses: actions/upload-artifact@v4
if: ${{ !cancelled() }}
with:
name: playwright-report
path: apps/app/playwright-report/
retention-days: 7
docs-check:
name: Docs Check
runs-on: ubuntu-latest
timeout-minutes: 5
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Check docs freshness
run: bash scripts/harness/check-docs-freshness.sh
- name: Check wikilinks
run: bash scripts/harness/check-wikilinks.sh