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