fix(print): natural 3D drag direction, feature cutouts in preview, ma… #6
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
| # Deploys sky-viewer to GitHub Pages on every push to main. | |
| # | |
| # Uses the modern Actions-driven flow (Pages "Source: GitHub Actions"), | |
| # so nothing gets committed to a gh-pages branch — the artifact is | |
| # uploaded directly by actions/upload-pages-artifact and published by | |
| # actions/deploy-pages. | |
| name: Deploy to GitHub Pages | |
| on: | |
| push: | |
| branches: [main] | |
| workflow_dispatch: | |
| # Minimum privileges needed to publish via the Pages deployment API. | |
| permissions: | |
| contents: read | |
| pages: write | |
| id-token: write | |
| # Serialize concurrent deploys so a second push doesn't overwrite an | |
| # in-flight one. | |
| concurrency: | |
| group: pages | |
| cancel-in-progress: false | |
| jobs: | |
| build: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout | |
| 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 --no-audit --no-fund | |
| - name: Typecheck | |
| run: npx tsc --noEmit | |
| - name: Run unit tests | |
| run: npx vitest run | |
| - name: Build for production | |
| run: npm run build | |
| # .nojekyll disables GitHub Pages' Jekyll pipeline so files and | |
| # folders starting with "_" (if any ever land here) aren't dropped. | |
| # Cheap insurance even though our current dist/ tree uses none. | |
| - name: Add .nojekyll | |
| run: touch dist/.nojekyll | |
| - name: Configure Pages | |
| uses: actions/configure-pages@v5 | |
| - 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 | |
| # T061 - Lighthouse-CI gate (post-deploy). DEFERRED. | |
| # | |
| # Goal: fail CI if the deployed sites Lighthouse Performance score | |
| # drops below 90. The 90 threshold matches both the parent feature's | |
| # SC-009 (Lighthouse Performance >= 90 on a mid-tier mobile profile) | |
| # and the constitution's User-Delight bar. SC-011 of feature 002 | |
| # likewise requires no main-view regression; Lighthouse is the | |
| # canonical gate for "no main-view regression". | |
| # | |
| # Status: deferred. The exact action recipe and its assertion config | |
| # need iteration in a separate PR before flipping on a job that gates | |
| # the deploy. A starting point would be the treosh/lighthouse-ci-action | |
| # at v11 with a .lighthouserc.json asserting | |
| # categories:performance >= 0.9. See research.md R13 for the budget | |
| # rationale. |