name: CI

on:
  push:
    branches: ["main"]
  pull_request:
    branches: ["main"]

jobs:
  build:
    runs-on: ubuntu-latest

    steps:
      - uses: actions/checkout@v4

      - name: Setup Bun
        uses: oven-sh/setup-bun@v2
        with:
          bun-version: latest

      - name: Install dependencies
        # --ignore-scripts skips native postinstall builds (e.g. canvas) that
        # aren't needed for the Vite browser build and fail on CI runners.
        run: bun install --frozen-lockfile --ignore-scripts

      - name: Build
        run: bun run build
