name: CI on: push: branches: [main, master] pull_request: jobs: build-and-test: runs-on: ubuntu-latest strategy: matrix: node: [18, 20, 22] steps: - uses: actions/checkout@v4 - name: Setup Node.js ${{ matrix.node }} uses: actions/setup-node@v4 with: node-version: ${{ matrix.node }} cache: npm - name: Install CJK fonts (for Chinese PDF tests) run: sudo apt-get update && sudo apt-get install -y fonts-wqy-zenhei - name: Install dependencies run: npm ci - name: Build (tsc) run: npm run build - name: Run tests run: npm test - name: Verify lib/ is up to date run: | git diff --exit-code -- lib/ || { echo "::error::lib/ 与 src/ 不一致,请先执行 npm run build 并提交编译产物" exit 1 }