name: Deploy to GitHub Pages on: push: branches: [main] jobs: deploy: runs-on: ubuntu-latest permissions: contents: write steps: - name: Checkout code uses: actions/checkout@v4 with: fetch-depth: 1 - name: Setup Bun uses: oven-sh/setup-bun@v1 with: bun-version: latest - name: Cache dependencies uses: actions/cache@v3 with: path: | ./bun_modules ./node_modules ./bun.lock key: ${{ runner.os }}-bun-${{ hashFiles('bun.lock') }} - name: Install dependencies run: bun install --frozen-lockfile - name: Build project run: bun run build --mode production env: NODE_ENV: production BUN_BUILD_THREADS: $(nproc) - name: Deploy to GitHub Pages uses: peaceiris/actions-gh-pages@v3 with: github_token: ${{ secrets.GITHUB_TOKEN }} publish_dir: ./dist publish_branch: deployed-ver force_orphan: true keep_files: false