Add NVIDIA RAG AI chatbot overview and features #13
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: CI Pipeline | |
| on: | |
| push: | |
| branches: [ main, develop ] | |
| pull_request: | |
| branches: [ main ] | |
| jobs: | |
| # ──────────────────────────────────────────── | |
| # lab01 — Python FastAPI 빌드 및 구문 검사 | |
| # ──────────────────────────────────────────── | |
| lab01-python: | |
| name: lab01 Python 검사 | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: 저장소 체크아웃 | |
| uses: actions/checkout@v4 | |
| - name: Python 3.11 설정 | |
| uses: actions/setup-python@v5 | |
| with: | |
| python-version: '3.11' | |
| cache: 'pip' | |
| cache-dependency-path: lab01-python-app/requirements.txt | |
| - name: 의존성 설치 | |
| run: | | |
| python -m pip install --upgrade pip | |
| pip install -r lab01-python-app/requirements.txt | |
| pip install flake8 | |
| - name: 구문 검사 (flake8) | |
| run: | | |
| flake8 lab01-python-app/ \ | |
| --max-line-length=120 \ | |
| --extend-ignore=E501,W503 \ | |
| --count --statistics | |
| - name: 임포트 가능 여부 확인 | |
| run: | | |
| cd lab01-python-app | |
| python -c "import main; print('✅ lab01 Python import OK')" | |
| # ──────────────────────────────────────────── | |
| # lab02 — Node.js 빌드 및 구문 검사 | |
| # ──────────────────────────────────────────── | |
| lab02-node: | |
| name: lab02 Node.js 검사 | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: 저장소 체크아웃 | |
| uses: actions/checkout@v4 | |
| - name: Node.js 20 설정 | |
| uses: actions/setup-node@v4 | |
| with: | |
| node-version: '20' | |
| cache: 'npm' | |
| cache-dependency-path: lab02-node-app/package-lock.json | |
| - name: 의존성 설치 | |
| run: | | |
| cd lab02-node-app | |
| npm ci || npm install | |
| - name: 구문 검사 (node --check) | |
| run: | | |
| node --check lab02-node-app/index.js | |
| echo "✅ lab02 Node.js syntax OK" | |
| # ──────────────────────────────────────────── | |
| # lab03 — Java (Maven) 빌드 | |
| # ──────────────────────────────────────────── | |
| lab03-java: | |
| name: lab03 Java 빌드 | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: 저장소 체크아웃 | |
| uses: actions/checkout@v4 | |
| - name: Java 17 설정 | |
| uses: actions/setup-java@v4 | |
| with: | |
| java-version: '17' | |
| distribution: 'temurin' | |
| cache: 'maven' | |
| - name: Maven 빌드 및 테스트 | |
| run: | | |
| cd lab03-java-app | |
| mvn clean package -DskipTests --no-transfer-progress | |
| echo "✅ lab03 Java build OK" | |
| # ──────────────────────────────────────────── | |
| # Docker 이미지 빌드 검사 (push 없이) | |
| # ──────────────────────────────────────────── | |
| docker-build: | |
| name: Docker 이미지 빌드 검사 | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: 저장소 체크아웃 | |
| uses: actions/checkout@v4 | |
| - name: Docker Buildx 설정 | |
| uses: docker/setup-buildx-action@v3 | |
| - name: lab01 Docker 빌드 | |
| uses: docker/build-push-action@v5 | |
| with: | |
| context: ./lab01-python-app | |
| push: false | |
| tags: lab01-python:test | |
| cache-from: type=gha | |
| cache-to: type=gha,mode=max | |
| - name: lab02 Docker 빌드 | |
| uses: docker/build-push-action@v5 | |
| with: | |
| context: ./lab02-node-app | |
| push: false | |
| tags: lab02-node:test | |
| cache-from: type=gha | |
| cache-to: type=gha,mode=max | |
| - name: lab03 Docker 빌드 | |
| uses: docker/build-push-action@v5 | |
| with: | |
| context: ./lab03-java-app | |
| push: false | |
| tags: lab03-java:test | |
| cache-from: type=gha | |
| cache-to: type=gha,mode=max | |
| # ──────────────────────────────────────────── | |
| # Markdown 링크 검사 | |
| # ──────────────────────────────────────────── | |
| markdown-check: | |
| name: Markdown 문서 검사 | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: 저장소 체크아웃 | |
| uses: actions/checkout@v4 | |
| - name: Markdown 링크 검사 | |
| uses: gaurav-nelson/github-action-markdown-link-check@v1 | |
| with: | |
| use-quiet-mode: 'yes' | |
| use-verbose-mode: 'no' | |
| config-file: '.github/markdown-link-check-config.json' | |
| continue-on-error: true |