kind: pipeline type: kubernetes name: verify-knowai-core trigger: branch: - knowai-core event: - push volumes: - name: pnpm-store-cache emptyDir: {} - name: repo-volume emptyDir: {} clone: disable: true steps: # 0️⃣ 克隆代码(带自签证书) - name: clone image: alpine/git:latest environment: CA_CRT: from_secret: ca-crt commands: - apk add --no-cache ca-certificates - echo "$CA_CRT" > /etc/ssl/certs/ca.crt - update-ca-certificates - git clone https://gitea.local.knowai/tobegold574/knowai.git /drone/src - cd /drone/src - git checkout ${DRONE_BRANCH} - echo "✅ 当前分支:$(git rev-parse --abbrev-ref HEAD)" - echo "当前目录" - ls volumeMounts: - name: repo-volume mountPath: /drone/src # 1️⃣ 验证 + 安装依赖 + 类型检查 + lint + 测试 + 构建 - name: verify-and-build image: gitea.local.knowai/tobegold574/knowai-base environment: NODE_ENV: development commands: - cd /drone/src/knowai-core # 验证 Node.js 和 pnpm - node --version - pnpm --version - echo "📦 安装依赖(利用缓存)..." - pnpm install --frozen-lockfile --registry=https://registry.npmmirror.com # 执行核心验证 - echo "🔍 TypeScript 类型检查..." - pnpm run type-check - echo "🔍 ESLint 代码检查..." - pnpm run lint - echo "🧪 运行单元测试..." - pnpm run test - echo "🔨 构建产物..." - pnpm run build - ls -la dist/ - echo "✅ 核心验证通过" volumeMounts: - name: pnpm-store-cache mountPath: /pnpm-global/store - name: repo-volume mountPath: /drone/src