chore: version bump #21
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 Stories to GitHub Pages | |
| on: | |
| push: | |
| branches: [main, feat/next] | |
| workflow_dispatch: | |
| permissions: | |
| contents: read | |
| pages: write | |
| id-token: write | |
| # Only one deployment at a time; skip queued runs but never cancel an in-progress one. | |
| concurrency: | |
| group: pages | |
| cancel-in-progress: false | |
| jobs: | |
| build: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: pnpm/action-setup@v4 | |
| with: | |
| version: latest | |
| - uses: actions/setup-node@v4 | |
| with: | |
| node-version: 20 | |
| cache: pnpm | |
| # ── Module ────────────────────────────────────────────────────────────── | |
| - name: Install root dependencies | |
| run: pnpm install | |
| - name: Build module | |
| run: pnpm build | |
| # ── Playground dependencies ───────────────────────────────────────────── | |
| - name: Install playground dependencies | |
| working-directory: playground | |
| run: pnpm install | |
| # ── Frame pass ────────────────────────────────────────────────────────── | |
| # Generates the bare component renderer. | |
| # NUXT_STORIES_MODE overrides the mode option so the same nuxt.config is reused. | |
| # | |
| # The frame is built with a base URL that is a *sibling* of the shell's base | |
| # (/nuxt-stories/nuxt-stories-frame/ vs /nuxt-stories/). This gives the frame: | |
| # • its own _nuxt/ bundle — no asset collision with the shell | |
| # • a URL namespace distinct from the shell's /:story* catch-all routes, | |
| # so the shell's 200.html SPA fallback can never be served for frame paths | |
| # - name: Generate frame output | |
| # working-directory: playground | |
| # run: pnpm nuxi generate | |
| # env: | |
| # NUXT_STORIES: "1" | |
| # NUXT_STORIES_MODE: frame | |
| # NUXT_APP_BASE_URL: /nuxt-stories/nuxt-stories-frame/ | |
| # - name: Save frame output | |
| # run: mkdir -p playground/.output-tmp && mv playground/.output/public playground/.output-tmp/frame-public | |
| # ── Shell pass ────────────────────────────────────────────────────────── | |
| # Generates the stories UI (nav + iframe wrapper) | |
| - name: Generate shell output | |
| working-directory: playground | |
| run: pnpm nuxi generate | |
| env: | |
| NUXT_STORIES: "1" | |
| NUXT_STORIES_MODE: all | |
| NUXT_APP_BASE_URL: /nuxt-stories/ | |
| # Tell the shell where the frame is served from so iframe srcs are correct. | |
| NUXT_STORIES_FRAME_BASE_PATH: /nuxt-stories-frame | |
| # ── Merge outputs ─────────────────────────────────────────────────────── | |
| # Copy the frame output into nuxt-stories-frame/ inside the shell output so both | |
| # are served from the same origin (required for same-origin postMessage). | |
| # - name: Merge frame output into shell output | |
| # run: | | |
| # mkdir -p playground/.output/public/nuxt-stories-frame | |
| # cp -r playground/.output-tmp/frame-public/. playground/.output/public/nuxt-stories-frame/ | |
| # rm -rf playground/.output-tmp | |
| # GitHub Pages ignores folders prefixed with _ by default; .nojekyll disables this. | |
| - name: Add .nojekyll | |
| run: touch playground/.output/public/.nojekyll | |
| - name: Upload Pages artifact | |
| uses: actions/upload-pages-artifact@v3 | |
| with: | |
| path: playground/.output/public | |
| 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 |