From e42d37942d067b4ac27f1227fb5473fcf6d5bb90 Mon Sep 17 00:00:00 2001 From: scarf Date: Sun, 23 Jul 2023 09:56:57 +0900 Subject: [PATCH] =?UTF-8?q?ci:=20=EB=B9=8C=EB=93=9C=20=EA=B0=80=EB=8A=A5?= =?UTF-8?q?=20=EC=97=AC=EB=B6=80=20=ED=85=8C=EC=8A=A4=ED=8A=B8=20(#585)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * ci: docs job 이름을 deploy와 겹치지 않게 변경 * ci: PR 빌드 가능 여부 테스트 * test: NODE_ENV에서 test값 허용 --- .github/workflows/docs.yml | 9 ++++---- .github/workflows/test.yml | 35 +++++++++++++++++++++++++++++ backend/src/config/index.ts | 2 +- backend/src/config/logOption.ts | 2 +- backend/src/config/runtimeOption.ts | 2 +- 5 files changed, 43 insertions(+), 7 deletions(-) create mode 100644 .github/workflows/test.yml diff --git a/.github/workflows/docs.yml b/.github/workflows/docs.yml index 626cc7b2..7facb817 100644 --- a/.github/workflows/docs.yml +++ b/.github/workflows/docs.yml @@ -8,22 +8,23 @@ permissions: contents: write defaults: run: - working-directory: docs + working-directory: docs jobs: - deploy: + docs: + name: Deploy Documentation runs-on: ubuntu-latest steps: - uses: actions/checkout@v3 - uses: actions/setup-python@v4 with: python-version: 3.9.x - - run: echo "cache_id=$(date --utc '+%V')" >> $GITHUB_ENV + - run: echo "cache_id=$(date --utc '+%V')" >> $GITHUB_ENV - uses: actions/cache@v3 with: key: mkdocs-material-${{ env.cache_id }} path: .cache clear-keys: | mkdocs-material- - - run: pip install mkdocs-material + - run: pip install mkdocs-material - run: mkdocs gh-deploy --force diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml new file mode 100644 index 00000000..069d7b37 --- /dev/null +++ b/.github/workflows/test.yml @@ -0,0 +1,35 @@ +name: Test + +on: + pull_request: + +jobs: + test: + name: Test PR + runs-on: ubuntu-latest + environment: development + + steps: + - name: Checkout + uses: actions/checkout@v3 + + - name: setup node.js + uses: actions/setup-node@v3 + with: + node-version: 18.x + + - name: setup pnpm + run: | + corepack enable + corepack prepare pnpm@latest-8 --activate + pnpm config set store-dir .pnpm-store + + - name: install dependencies + working-directory: backend + run: pnpm install + + - name: build backend + working-directory: backend + run: pnpm build + + # TODO: 테스트 실행 diff --git a/backend/src/config/index.ts b/backend/src/config/index.ts index fbb54bff..21138f6d 100644 --- a/backend/src/config/index.ts +++ b/backend/src/config/index.ts @@ -15,7 +15,7 @@ dotenv.config(); const runtimeMode = getRuntimeMode(process.env); // graceful shutdown시 서버 종료 대기 시간 -export const gracefulTerminationTimeout = runtimeMode === 'development' ? 0 : 30 * 1000; +export const gracefulTerminationTimeout = runtimeMode === 'production' ? 30 * 1000 : 0; export const logLevelOption = getLogLevelOption(runtimeMode); export const connectMode = getModeOption(process.env); diff --git a/backend/src/config/logOption.ts b/backend/src/config/logOption.ts index f2bc0580..f087656f 100644 --- a/backend/src/config/logOption.ts +++ b/backend/src/config/logOption.ts @@ -18,7 +18,7 @@ export const colors: Record = { } as const; export const getLogLevelOption = (mode: RuntimeMode): LogLevelOption => { - const logLevel = (mode === 'development' ? 'debug' : 'http'); + const logLevel = (mode === 'production' ? 'http' : 'debug'); const consoleLogLevel = (mode === 'production' ? 'error' : 'debug'); return { logLevel, consoleLogLevel } as const; diff --git a/backend/src/config/runtimeOption.ts b/backend/src/config/runtimeOption.ts index a13689a0..151f636e 100644 --- a/backend/src/config/runtimeOption.ts +++ b/backend/src/config/runtimeOption.ts @@ -1,7 +1,7 @@ import { z } from 'zod'; export type RuntimeMode = z.infer; -export const runtimeModeSchema = z.enum(['development', 'production']); +export const runtimeModeSchema = z.enum(['development', 'production', 'test']); export const runtimeSchema = z.object({ NODE_ENV: runtimeModeSchema.default('development') });