feat: native AWS S3 backup target (alongside Vercel Blob) #37
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: | |
| push: | |
| branches: [main] | |
| pull_request: | |
| branches: [main] | |
| concurrency: | |
| group: ci-${{ github.workflow }}-${{ github.ref }} | |
| cancel-in-progress: true | |
| permissions: | |
| contents: read | |
| pull-requests: write | |
| jobs: | |
| build: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v6 | |
| with: | |
| fetch-depth: 0 | |
| - name: Install pnpm | |
| uses: pnpm/action-setup@v5 | |
| - name: Use Node.js | |
| uses: actions/setup-node@v6 | |
| with: | |
| node-version: 24 | |
| cache: pnpm | |
| - name: Install dependencies (no install scripts) | |
| run: pnpm install --frozen-lockfile --ignore-scripts | |
| - name: Rebuild approved native deps | |
| # Only runs install scripts for packages in pnpm.onlyBuiltDependencies | |
| # (sharp, @swc/core, esbuild, mongodb-memory-server, unrs-resolver). | |
| run: pnpm rebuild | |
| - name: Format check (Prettier) | |
| run: pnpm run format:check | |
| - name: Lint | |
| run: pnpm run lint | |
| - name: Typecheck | |
| run: pnpm run typecheck | |
| - name: Test (with coverage) | |
| run: pnpm run test:int:cov | |
| - name: Code coverage comments | |
| if: github.event_name == 'pull_request' | |
| uses: kcjpop/coverage-comments@v2.2 | |
| with: | |
| github-token: ${{ secrets.GITHUB_TOKEN }} | |
| coverage-file: ./coverage/lcov.info | |
| - name: Build | |
| run: pnpm run build |