name: CI Pipeline on: push: branches: [main, develop] pull_request: jobs: build: runs-on: ubuntu-latest steps: - name: ๐Ÿ“ฅ Checkout uses: actions/checkout@v4 - name: ๐ŸŸข Setup Node uses: actions/setup-node@v4 with: node-version: 20 - name: ๐Ÿ“ฆ Install pnpm run: npm install -g pnpm - name: ๐Ÿ“ฆ Install deps run: pnpm install # ๐Ÿ”ด LINT - name: ๐Ÿงน Lint run: pnpm lint # ๐Ÿ”ด UUID CHECK - name: ๐Ÿ” UUID misuse check run: | if grep -r --include="*.ts" --include="*.tsx" "parseInt(.*uuid" .; then echo "โŒ UUID misuse detected" exit 1 fi # ๐Ÿ”ด console.log CHECK - name: ๐Ÿ” console.log check run: | if grep -r --include="*.ts" --include="*.tsx" "console.log" .; then echo "โŒ console.log detected" exit 1 fi # ๐Ÿงช TEST (Need to make sure tests run in root or individually) - name: ๐Ÿงช Run Backend Tests run: cd backend && pnpm test - name: ๐Ÿงช Run Frontend Tests run: cd frontend && pnpm test # ๐Ÿ—๏ธ BUILD - name: ๐Ÿ—๏ธ Build Backend run: cd backend && pnpm build - name: ๐Ÿ—๏ธ Build Frontend run: cd frontend && pnpm build - name: โœ… Done run: echo "CI Passed"