name: CI env: NPM_CONFIG_REGISTRY: https://registry.npmmirror.com NPM_CONFIG_AUDIT: "false" NPM_CONFIG_FUND: "false" NPM_CONFIG_PREFER_OFFLINE: "true" NPM_CONFIG_REPLACE_REGISTRY_HOST: always CI: "true" TURBO_UI: stream on: pull_request: branches: [main] workflow_dispatch: jobs: check: runs-on: ubuntu-latest container: node:22.22.0-bookworm timeout-minutes: 30 steps: - name: Checkout uses: https://gitee.com/mirrors_actions/checkout@v4 with: github-server-url: https://git.gongxue100.com fetch-depth: 1 - name: Restore npm cache uses: https://gitee.com/mirrors_actions/cache@v4 with: path: ~/.npm key: npm-${{ runner.os }}-node22-${{ hashFiles('package-lock.json') }} restore-keys: | npm-${{ runner.os }}-node22- - name: Restore Turbo cache uses: https://gitee.com/mirrors_actions/cache@v4 with: path: .turbo key: turbo-${{ runner.os }}-${{ hashFiles('package-lock.json') }}-${{ gitea.sha }} restore-keys: | turbo-${{ runner.os }}-${{ hashFiles('package-lock.json') }}- - name: Install dependencies run: npm ci - name: Lint run: | npm run lint -w @gongxue/admin npm run lint -w @gongxue/server -- --quiet - name: Type check run: npm run typecheck - name: Build frontend run: npm exec turbo -- run build --filter=@gongxue/admin - name: Run backend tests run: npm exec turbo -- run test --filter=@gongxue/server -- --runInBand --forceExit