name: Pages on: push: branches: [master] paths: ['website/**', '.github/workflows/pages.yml'] pull_request: branches: ['**'] paths: ['website/**', '.github/workflows/pages.yml'] workflow_dispatch: permissions: contents: read jobs: build: name: Build runs-on: ubuntu-latest timeout-minutes: 10 defaults: run: working-directory: website steps: - uses: actions/checkout@v4 - uses: oven-sh/setup-bun@v2 with: bun-version: latest - name: Install run: bun install --frozen-lockfile - name: Test installer run: bun run test:install - name: Typecheck run: bun run typecheck - name: Lint run: bun run lint - name: Build run: bun run build - uses: actions/upload-pages-artifact@v3 with: path: website/dist deploy: name: Deploy if: github.ref == 'refs/heads/master' && github.event_name != 'pull_request' needs: build runs-on: ubuntu-latest timeout-minutes: 10 concurrency: group: pages cancel-in-progress: false permissions: pages: write id-token: write environment: name: github-pages url: ${{ steps.deployment.outputs.page_url }} steps: - id: deployment uses: actions/deploy-pages@v4