Skip to content

Release: v1.0.0-beta.4 (#327) #334

Release: v1.0.0-beta.4 (#327)

Release: v1.0.0-beta.4 (#327) #334

Workflow file for this run

name: CI (Lint & Build & Docker)
on:
pull_request:
branches: [ "dev", "main" ]
permissions:
contents: read
jobs:
lint-and-build:
runs-on: ubuntu-latest
steps:
- name: Checkout Code
uses: actions/checkout@v4
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: '20'
- name: Setup pnpm
uses: pnpm/action-setup@v4
with:
version: 10
# pnpm 캐싱 (빌드 속도 향상)
- name: Get pnpm store directory
shell: bash
run: |
echo "STORE_PATH=$(pnpm store path --silent)" >> $GITHUB_ENV
- name: Cache pnpm modules
uses: actions/cache@v4
with:
path: ${{ env.STORE_PATH }}
key: ${{ runner.os }}-pnpm-store-${{ hashFiles('**/pnpm-lock.yaml') }}
restore-keys: |
${{ runner.os }}-pnpm-store-
- name: Install dependencies
run: pnpm install --frozen-lockfile
- name: Lint
run: pnpm run lint
- name: Build
run: pnpm run build
# =========================================================
# Docker 빌드 테스트 (실제 CD 환경과 동일하게 검증)
# =========================================================
docker-build-test:
runs-on: ubuntu-latest
steps:
- name: Checkout Code
uses: actions/checkout@v4
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
- name: Build Docker Image (Test Only)
uses: docker/build-push-action@v5
with:
context: .
push: false
tags: folioo-server:test
cache-from: type=gha
cache-to: type=gha,mode=max