name: Build & Release on: push: branches: [main] tags: ["v*"] pull_request: branches: [main] permissions: contents: write jobs: build: runs-on: ubuntu-latest steps: - name: Checkout uses: actions/checkout@v4 - name: Setup Node.js uses: actions/setup-node@v4 with: node-version: 20 - name: Install dependencies run: npm ci - name: Lint run: npm run lint - name: Typecheck run: npm run typecheck - name: Build run: npm run build - name: Install zip if: github.ref == 'refs/heads/main' run: apt-get update && apt-get install -y zip - name: Create release zip if: github.ref == 'refs/heads/main' run: zip -r resume-latest.zip out/ - name: Create Release if: github.ref == 'refs/heads/main' uses: softprops/action-gh-release@v2 with: tag_name: latest name: Latest Build body: Auto-generated from latest commit on main branch files: resume-latest.zip fail_on_unmatched_files: true