Skip to content

โ™ป๏ธ refactor: CI/CD ํŒŒ์ดํ”„๋ผ์ธ ๋ฉ”๋ชจ๋ฆฌ ์ตœ์ ํ™” #114

โ™ป๏ธ refactor: CI/CD ํŒŒ์ดํ”„๋ผ์ธ ๋ฉ”๋ชจ๋ฆฌ ์ตœ์ ํ™”

โ™ป๏ธ refactor: CI/CD ํŒŒ์ดํ”„๋ผ์ธ ๋ฉ”๋ชจ๋ฆฌ ์ตœ์ ํ™” #114

Workflow file for this run

name: CI Pipeline
on:
pull_request:
branches: [develop, main]
push:
branches: [develop, main]
jobs:
eslint-check:
runs-on: self-hosted
timeout-minutes: 2
steps:
- name: Checkout code
uses: actions/checkout@v4
with:
fetch-depth: 2 # HEAD์™€ HEAD~1์„ ๋ชจ๋‘ ๊ฐ€์ ธ์˜ค๊ธฐ
- name: Lightning fast lint check
run: |
echo "โšก Quick lint check..."
# ๋” ์•ˆ์ „ํ•œ ๋ณ€๊ฒฝ ํŒŒ์ผ ๊ฐ์ง€
if git rev-parse --verify HEAD~1 >/dev/null 2>&1; then
# HEAD~1์ด ์กด์žฌํ•˜๋Š” ๊ฒฝ์šฐ (์ผ๋ฐ˜์ ์ธ ๊ฒฝ์šฐ)
CHANGED_FILES=$(git diff --name-only HEAD~1 -- '*.ts' '*.tsx' '*.js' '*.jsx')
echo "๐Ÿ” Checking changed files since last commit"
else
# ์ฒซ ์ปค๋ฐ‹์ด๊ฑฐ๋‚˜ shallow clone์ธ ๊ฒฝ์šฐ
echo "๐Ÿ” Checking recent TypeScript/JavaScript files..."
CHANGED_FILES=$(find . -name "*.ts" -o -name "*.tsx" -o -name "*.js" -o -name "*.jsx" | grep -v node_modules | head -10)
fi
# ๋ณ€๊ฒฝ์‚ฌํ•ญ ์—†์œผ๋ฉด ์ฆ‰์‹œ ์ข…๋ฃŒ
if [ -z "$CHANGED_FILES" ]; then
echo "โœ… No JS/TS files to check"
exit 0
fi
# ๊ธ€๋กœ๋ฒŒ ESLint ์‚ฌ์šฉ
echo "๐Ÿ“ Checking: $CHANGED_FILES"
npx eslint $CHANGED_FILES
echo "โœ… Lint check passed!"