name: Preview — PR Build Check on: pull_request: types: [opened, synchronize, reopened] jobs: preview-build: name: PR Preview Build runs-on: ubuntu-latest container: image: node:22-bookworm steps: - name: Install zip curl run: apt-get update -qq && apt-get install -y zip curl - name: Checkout PR run: | git clone ${{ gitea.server_url }}/${{ gitea.repository }}.git . git fetch origin pull/${{ gitea.event.pull_request.number }}/head:pr git checkout pr - name: Install dependencies run: npm ci - name: Type check run: npm run typecheck - name: Run unit tests run: npm test -- --run - name: Build extension run: npm run build - name: Package preview ZIP run: | PR_NUM=${{ gitea.event.pull_request.number }} zip -r lexai-pr-${PR_NUM}-preview.zip .output/chrome-mv3/ echo "✅ PR #${PR_NUM} build successful" - name: Comment on PR run: | PR_NUM=${{ gitea.event.pull_request.number }} curl -s -X POST "${{ gitea.server_url }}/api/v1/repos/${{ gitea.repository }}/issues/${PR_NUM}/comments" \ -H "Authorization: token ${{ secrets.GITEATOKEN }}" \ -H "Content-Type: application/json" \ -d "{\"body\": \"## ⚡ LexAI Preview Build Ready\n\n✅ Tests passed\n✅ Build successful\n✅ TypeScript clean\n\nCommit: \`${{ gitea.sha }}\`\"}"