docs: rewrite README #20
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: Deploy to GitHub Pages | |
| # Builds the static SPA and publishes dist/ to GitHub Pages on every push to main. | |
| # The data artifacts under public/index/ are generated by `npm run bake` (which the | |
| # build's prebuild hook runs), so a clean checkout still ships a complete site. | |
| on: | |
| push: | |
| branches: [main] | |
| workflow_dispatch: {} | |
| # Allow the workflow to publish to Pages. | |
| permissions: | |
| contents: read | |
| pages: write | |
| id-token: write | |
| # One in-flight deploy at a time; don't cancel a running publish. | |
| concurrency: | |
| group: pages | |
| cancel-in-progress: false | |
| jobs: | |
| build: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Set up Node | |
| uses: actions/setup-node@v4 | |
| with: | |
| node-version: '20' | |
| cache: 'npm' | |
| - name: Install dependencies | |
| run: npm ci | |
| # `npm run build` runs `npm run bake` first (prebuild hook), regenerating | |
| # public/data + public/index, then `tsc --noEmit && vite build` with the | |
| # /InvaderGIS/ base baked in. | |
| - name: Build | |
| run: npm run build | |
| - name: Upload Pages artifact | |
| uses: actions/upload-pages-artifact@v3 | |
| with: | |
| path: dist | |
| deploy: | |
| needs: build | |
| runs-on: ubuntu-latest | |
| environment: | |
| name: github-pages | |
| url: ${{ steps.deployment.outputs.page_url }} | |
| steps: | |
| - name: Deploy to GitHub Pages | |
| id: deployment | |
| uses: actions/deploy-pages@v4 |