Skip to content

Add NVIDIA RAG AI chatbot overview and features #13

Add NVIDIA RAG AI chatbot overview and features

Add NVIDIA RAG AI chatbot overview and features #13

Workflow file for this run

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