Skip to content

미 사용 파일 및 이미지 에셋 삭제 #32

미 사용 파일 및 이미지 에셋 삭제

미 사용 파일 및 이미지 에셋 삭제 #32

Workflow file for this run

name: CI
on:
pull_request:
branches: ["**"]
push:
branches: [main]
concurrency:
group: ci-${{ github.ref }}
cancel-in-progress: true
jobs:
build-and-test:
runs-on: ubuntu-latest
env:
CI: "1"
# Use Spring mode by default; BFF tests and Web unit tests use mocks
BACKEND_TYPE: spring
PNPM_FROZEN_LOCKFILE: "false"
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Setup pnpm
uses: pnpm/action-setup@v4
- name: Setup Node
uses: actions/setup-node@v4
with:
node-version: 20
cache: "pnpm"
- name: Cache Turbo
uses: actions/cache@v4
with:
path: .turbo
key: turbo-${{ runner.os }}-${{ hashFiles('**/pnpm-lock.yaml') }}
restore-keys: |
turbo-${{ runner.os }}-
- name: Install dependencies
run: pnpm install --no-frozen-lockfile
- name: Ensure workspace installs (web, bff)
run: pnpm -r --filter ./apps/web --filter ./apps/bff install --no-frozen-lockfile
- name: Lint (web)
run: pnpm exec eslint "apps/web/**/*.{ts,tsx,js,jsx}"
- name: Lint (bff)
run: pnpm exec eslint "apps/bff/{src,apps,libs,test}/**/*.ts" --fix
- name: Typecheck
run: pnpm run typecheck
- name: Build
run: pnpm run build
- name: Unit tests (Turbo)
run: pnpm test
# Optional: run integration tests explicitly (kept separate for clarity)
- name: Integration tests (BFF)
run: pnpm run test:integration || true