✨[Feat] Add searchable PDF output #86
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: CI | |
| on: | |
| pull_request: | |
| push: | |
| branches: | |
| - main | |
| - v2 | |
| - v2.2 | |
| permissions: | |
| contents: read | |
| jobs: | |
| validate: | |
| name: Validate static tools | |
| runs-on: ubuntu-latest | |
| timeout-minutes: 10 | |
| steps: | |
| - name: Check out repository | |
| uses: actions/checkout@v4 | |
| with: | |
| fetch-depth: 0 | |
| - name: Set up Node.js | |
| uses: actions/setup-node@v4 | |
| with: | |
| node-version: 24 | |
| - name: Enforce pull request branch policy | |
| if: github.event_name == 'pull_request' | |
| shell: bash | |
| env: | |
| BASE_REF: ${{ github.base_ref }} | |
| HEAD_REF: ${{ github.head_ref }} | |
| run: node scripts/validate-branch-policy.mjs "$BASE_REF" "$HEAD_REF" | |
| - name: Enforce commit and pull request title conventions | |
| if: github.event_name == 'pull_request' | |
| env: | |
| BASE_SHA: ${{ github.event.pull_request.base.sha }} | |
| HEAD_SHA: ${{ github.event.pull_request.head.sha }} | |
| PR_TITLE: ${{ github.event.pull_request.title }} | |
| COMMIT_CONVENTION_GRANDFATHER: edb0ade331c54f380ae33abe7816c5a92f3a590a | |
| run: | | |
| node scripts/validate-commit-message.mjs --range "$BASE_SHA" "$HEAD_SHA" --grandfather-through "$COMMIT_CONVENTION_GRANDFATHER" | |
| node scripts/validate-commit-message.mjs --title "$PR_TITLE" | |
| - name: Check changed files for whitespace errors | |
| shell: bash | |
| env: | |
| BASE_SHA: ${{ github.event.pull_request.base.sha || github.event.before }} | |
| HEAD_SHA: ${{ github.event.pull_request.head.sha || github.sha }} | |
| run: | | |
| if [[ "$BASE_SHA" =~ ^0+$ ]]; then | |
| git show --check --format= "$HEAD_SHA" | |
| else | |
| git diff --check "$BASE_SHA...$HEAD_SHA" | |
| fi | |
| - name: Install pinned OCR build inputs | |
| run: npm ci --ignore-scripts | |
| - name: Type-check migrated browser modules | |
| run: npm run typecheck | |
| - name: Verify prepared production OCR assets | |
| run: npm run build | |
| - name: Run static tool validation | |
| run: npm test | |
| - name: Run real local OCR smoke test | |
| run: node tests/ocr-smoke.test.mjs |