name: CI on: push: branches: - main pull_request: branches: - main jobs: ci: name: Lint, Build & Test runs-on: ubuntu-latest steps: - name: Checkout repository uses: actions/checkout@v4 - name: Check dependency pins uses: naomi-lgbt/dependency-pin-check@main with: dev-dependencies: true peer-dependencies: true optional-dependencies: true language: javascript - name: Set up Node.js uses: actions/setup-node@v4 with: node-version: "22" - name: Set up pnpm uses: pnpm/action-setup@v4 with: version: "10" - name: Install dependencies run: pnpm install --frozen-lockfile - name: Generate Prisma client run: pnpm --filter @elysium/api exec prisma generate - name: Build (types package) run: pnpm --filter @elysium/types build - name: Lint (types package) run: pnpm --filter @elysium/types lint - name: Lint (API) run: pnpm --filter @elysium/api lint - name: Lint (web) run: pnpm --filter @elysium/web lint - name: Build (API) run: pnpm --filter @elysium/api build - name: Build (web) run: pnpm --filter @elysium/web build - name: Test (types package) run: pnpm --filter @elysium/types test - name: Test (API) run: pnpm --filter @elysium/api test - name: Test (web) run: pnpm --filter @elysium/web test