refactor: move engine to TechEngine; TechAPI keeps data, site & self-… #12
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-pages | |
| # Builds the Astro site (site/) and deploys it to GitHub Pages. TechAPI owns its | |
| # own homepage, so it deploys itself (Pages is per-repo). No backend here — the | |
| # static JSON dump the site consumes is produced by TechEngine and committed | |
| # under site/public/v1 (served at <base>/v1/...). | |
| # Enable once: Settings → Pages → Source = GitHub Actions. | |
| on: | |
| push: | |
| branches: [main] | |
| paths: | |
| - "site/**" | |
| - ".github/workflows/deploy-pages.yml" | |
| workflow_dispatch: | |
| permissions: | |
| contents: read | |
| pages: write | |
| id-token: write | |
| concurrency: | |
| group: pages | |
| cancel-in-progress: true | |
| jobs: | |
| build: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: actions/setup-node@v4 | |
| with: | |
| node-version: "22" | |
| cache: npm | |
| cache-dependency-path: site/package-lock.json | |
| - name: Build Astro site | |
| run: | | |
| cd site | |
| npm ci | |
| npm run build | |
| - name: Assemble _site | |
| run: | | |
| mkdir -p _site | |
| cp -r site/dist/. _site/ | |
| touch _site/.nojekyll | |
| - uses: actions/upload-pages-artifact@v3 | |
| with: | |
| path: _site | |
| deploy: | |
| needs: build | |
| runs-on: ubuntu-latest | |
| environment: | |
| name: github-pages | |
| url: ${{ steps.deployment.outputs.page_url }} | |
| steps: | |
| - id: deployment | |
| uses: actions/deploy-pages@v4 |