embystream 0.0.36

Another Emby streaming application (frontend/backend separation) written in Rust.
Documentation
name: CI Web

on:
  push:
    branches:
      - main
  pull_request:

concurrency:
  group: ci-web-${{ github.ref }}
  cancel-in-progress: true

jobs:
  web-quality:
    name: Web Quality
    runs-on: ubuntu-latest

    steps:
      - name: Checkout repository
        uses: actions/checkout@v4

      - name: Install Bun
        uses: oven-sh/setup-bun@v2
        with:
          bun-version: 1.3.12

      - name: Cache Bun download store
        uses: actions/cache@v4
        with:
          path: ~/.bun/install/cache
          key: ${{ runner.os }}-bun-${{ hashFiles('web/bun.lock') }}
          restore-keys: |
            ${{ runner.os }}-bun-

      - name: Install web dependencies
        working-directory: web
        run: bun install --frozen-lockfile

      - name: Lint web code
        working-directory: web
        run: bun run lint

      - name: Check web formatting
        working-directory: web
        run: bun run format:check

  web-build:
    name: Web Build
    runs-on: ubuntu-latest

    steps:
      - name: Checkout repository
        uses: actions/checkout@v4

      - name: Install Bun
        uses: oven-sh/setup-bun@v2
        with:
          bun-version: 1.3.12

      - name: Cache Bun download store
        uses: actions/cache@v4
        with:
          path: ~/.bun/install/cache
          key: ${{ runner.os }}-bun-${{ hashFiles('web/bun.lock') }}
          restore-keys: |
            ${{ runner.os }}-bun-

      - name: Install web dependencies
        working-directory: web
        run: bun install --frozen-lockfile

      - name: Build web project
        working-directory: web
        run: bun run build