name: CI on: push: branches: - main pull_request: branches: - main jobs: build-and-test: runs-on: CDCD container: dockerreg.eazygame.cn/node:22-bookworm steps: - name: Checkout uses: actions/checkout@v3 - name: Install dependencies run: npm ci - name: Lint run: npm run lint - name: Typecheck run: npm run typecheck - name: Build run: npm run build - name: 🔍 Debug - List Build Files run: | echo "=======================" echo "1. Root directory files:" ls -la echo "=======================" echo "2. Checking .next directory:" if [ -d ".next" ]; then ls -la .next else echo "❌ Error: .next folder does not exist!" fi echo "=======================" echo "3. Deep check of .next (excluding node_modules):" # 查找 .next 目录下 4 层深度的文件,但排除 node_modules 避免日志太长 find .next -maxdepth 4 -not -path '*/node_modules*' # - name: Prepare standalone build # run: | # cp -r public .next/standalone/public # cp -r .next/static .next/standalone/.next/static # cp Dockerfile .next/standalone/Dockerfile # - name: Upload production build artifact # uses: actions/upload-artifact@v3 # with: # name: next-build # path: .next/standalone # deploy: # needs: build-and-test # runs-on: CDCD # container: # image: dockerreg.eazygame.cn/node-with-docker:22 # steps: # - name: Download artifacts # uses: actions/download-artifact@v3 # with: # name: next-build # - name: Deploy to Docker # run: | # docker build -t nextjs-app . # docker stop nextjs-app || true # docker rm nextjs-app || true # docker run -d -p 8015:3000 --restart unless-stopped --name nextjs-app nextjs-app