feat: add onError prop with an error boundary so a bad glbUrl won't c… #13
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 Demo | |
| on: | |
| push: | |
| branches: [main] | |
| paths: | |
| - 'src/**' | |
| - 'example/**' | |
| - 'package.json' | |
| - '.github/workflows/deploy-demo.yml' | |
| workflow_dispatch: | |
| # Allow one concurrent deployment, and let in-progress runs finish. | |
| concurrency: | |
| group: pages | |
| cancel-in-progress: false | |
| permissions: | |
| contents: read | |
| pages: write | |
| id-token: write | |
| jobs: | |
| build: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: ⬇️ Checkout code | |
| uses: actions/checkout@v4 | |
| - name: 🟦 Setup Node.js | |
| uses: actions/setup-node@v4 | |
| with: | |
| node-version: 20 | |
| # Build the library from source and pack it into a tarball. The demo | |
| # installs that tarball (not a symlink) so React resolves to a single | |
| # copy — a symlinked local dep pulls in the library's own React and | |
| # crashes with "invalid hook call". This also picks up components not | |
| # yet published to npm. | |
| - name: 📦 Install library dependencies | |
| run: npm install | |
| - name: 🔨 Build & pack library | |
| run: | | |
| npm run build | |
| npm run pack:local | |
| - name: 📦 Install demo dependencies | |
| working-directory: example | |
| run: npm install | |
| - name: 🔨 Build demo | |
| working-directory: example | |
| run: npm run build | |
| - name: 📤 Upload Pages artifact | |
| uses: actions/upload-pages-artifact@v3 | |
| with: | |
| path: example/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 |