Skip to content

feat: μ–΄λ“œλ―Ό λŒ€ν•™ 지원 정보 관리 κΈ°λŠ₯ μΆ”κ°€ #523

feat: μ–΄λ“œλ―Ό λŒ€ν•™ 지원 정보 관리 κΈ°λŠ₯ μΆ”κ°€

feat: μ–΄λ“œλ―Ό λŒ€ν•™ 지원 정보 관리 κΈ°λŠ₯ μΆ”κ°€ #523

Workflow file for this run

name: CI
on:
push:
branches: [main, develop]
pull_request:
branches: [main, develop]
jobs:
# λ³€κ²½ 감지
detect-changes:
name: Detect Changes
runs-on: ubuntu-latest
outputs:
web: ${{ steps.filter.outputs.web }}
university-web: ${{ steps.filter.outputs.university-web }}
admin: ${{ steps.filter.outputs.admin }}
root: ${{ steps.filter.outputs.root }}
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Check changed files
uses: dorny/paths-filter@v3
id: filter
with:
filters: |
web:
- 'apps/web/**'
university-web:
- 'apps/university-web/**'
admin:
- 'apps/admin/**'
root:
- 'package.json'
- 'pnpm-lock.yaml'
- 'pnpm-workspace.yaml'
- 'scripts/**'
- 'turbo.json'
- '.github/workflows/**'
# Web μ•± ν’ˆμ§ˆ 체크
web-quality-check:
name: Web - Quality Check
runs-on: ubuntu-latest
needs: detect-changes
if: needs.detect-changes.outputs.web == 'true' || needs.detect-changes.outputs.root == 'true'
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Install pnpm
uses: pnpm/action-setup@v3
with:
version: 9
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: "22.x"
cache: "pnpm"
- name: Install dependencies
run: pnpm install --frozen-lockfile
- name: Run checks (lint & typecheck)
run: pnpm --filter @solid-connect/web run ci:check
# University Web μ•± ν’ˆμ§ˆ 체크
university-web-quality-check:
name: University Web - Quality Check
runs-on: ubuntu-latest
needs: detect-changes
if: needs.detect-changes.outputs.university-web == 'true' || needs.detect-changes.outputs.root == 'true'
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Install pnpm
uses: pnpm/action-setup@v3
with:
version: 9
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: "22.x"
cache: "pnpm"
- name: Install dependencies
run: pnpm install --frozen-lockfile
- name: Run checks (lint & typecheck)
run: pnpm --filter @solid-connect/university-web run ci:check
# Admin μ•± ν’ˆμ§ˆ 체크
admin-quality-check:
name: Admin - Quality Check
runs-on: ubuntu-latest
needs: detect-changes
if: needs.detect-changes.outputs.admin == 'true' || needs.detect-changes.outputs.root == 'true'
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Install pnpm
uses: pnpm/action-setup@v3
with:
version: 9
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: "22.x"
cache: "pnpm"
- name: Install dependencies
run: pnpm install --frozen-lockfile
- name: Run checks (lint & typecheck)
run: pnpm --filter @solid-connect/admin run ci:check
# Web μ•± λΉŒλ“œ
web-build:
name: Web - Build
runs-on: ubuntu-latest
needs: [detect-changes, web-quality-check]
if: |
always() &&
(needs.detect-changes.outputs.web == 'true' || needs.detect-changes.outputs.root == 'true') &&
needs.web-quality-check.result == 'success'
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Install pnpm
uses: pnpm/action-setup@v3
with:
version: 9
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: "22.x"
cache: "pnpm"
- name: Install dependencies
run: pnpm install --frozen-lockfile
- name: Build web application
run: pnpm --filter @solid-connect/web run build
env:
NODE_ENV: production
UNIVERSITY_WEB_DOMAIN: https://university-web.ci.local
# University Web μ•± λΉŒλ“œ
university-web-build:
name: University Web - Build
runs-on: ubuntu-latest
needs: [detect-changes, university-web-quality-check]
if: |
always() &&
(needs.detect-changes.outputs.university-web == 'true' || needs.detect-changes.outputs.root == 'true') &&
needs.university-web-quality-check.result == 'success'
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Install pnpm
uses: pnpm/action-setup@v3
with:
version: 9
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: "22.x"
cache: "pnpm"
- name: Install dependencies
run: pnpm install --frozen-lockfile
- name: Build university web application
run: pnpm --filter @solid-connect/university-web run build
env:
NODE_ENV: production
# Admin μ•± λΉŒλ“œ
admin-build:
name: Admin - Build
runs-on: ubuntu-latest
needs: [detect-changes, admin-quality-check]
if: |
always() &&
(needs.detect-changes.outputs.admin == 'true' || needs.detect-changes.outputs.root == 'true') &&
needs.admin-quality-check.result == 'success'
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Install pnpm
uses: pnpm/action-setup@v3
with:
version: 9
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: "22.x"
cache: "pnpm"
- name: Install dependencies
run: pnpm install --frozen-lockfile
- name: Build admin application
run: pnpm --filter @solid-connect/admin run build
env:
NODE_ENV: production