Skip to content

feat: add comprehensive E2E testing infrastructure and Biome linting #9

feat: add comprehensive E2E testing infrastructure and Biome linting

feat: add comprehensive E2E testing infrastructure and Biome linting #9

Workflow file for this run

name: CI
on:
push:
branches: [main, develop]
pull_request:
branches: [main, develop]
jobs:
test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Setup Bun
uses: oven-sh/setup-bun@v1
with:
bun-version: latest
- name: Setup Foundry
uses: foundry-rs/foundry-toolchain@v1
- name: Install dependencies
run: bun install
- name: Run tests
run: bun test
- name: Compile contracts
working-directory: packages/contracts
run: forge build
- name: Run contract tests
working-directory: packages/contracts
run: forge test -vv
- name: Build workspace packages
run: bun run --filter '@bun-eth/components' --filter '@bun-eth/hooks' --filter '@bun-eth/burner-connector' build
- name: Install Playwright browsers
working-directory: apps/web
run: bunx playwright install chromium --with-deps
- name: Run e2e tests
working-directory: apps/web
run: bun run test:e2e
- name: Upload test results
if: failure()
uses: actions/upload-artifact@v4
with:
name: playwright-report
path: apps/web/playwright-report/
retention-days: 30
lint:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Setup Bun
uses: oven-sh/setup-bun@v1
with:
bun-version: latest
- name: Setup Foundry
uses: foundry-rs/foundry-toolchain@v1
- name: Install dependencies
run: bun install
- name: Run TypeScript lint
run: bun run lint
- name: Run Solidity lint
working-directory: packages/contracts
run: forge fmt --check